*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#050d15;color:#fff;font-family:'Be Vietnam Pro',sans-serif}button,a{font:inherit}.hero{height:735px;position:relative;overflow:hidden;background:#07111b}.bg{position:absolute;inset:0;background:center/cover no-repeat;transform:scale(1.01);transition:opacity .25s,transform .8s}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#050c16f7 0%,#07101ad9 19%,#07111b73 40%,#07111b0d 68%),linear-gradient(0deg,#06101be6 0%,transparent 24%),linear-gradient(180deg,#06101b9e 0%,transparent 19%)}
header{height:74px;position:absolute;inset:0 0 auto;z-index:50;display:flex;align-items:center;padding:0 4.5vw;background:linear-gradient(#07111ddd,transparent);border-bottom:1px solid #ffffff12}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-width:215px}.brand i{font-style:normal;color:#e0212d;font-size:34px;line-height:1}.brand span{display:flex;flex-direction:column}.brand b{font-size:16px;letter-spacing:.2px}.brand small{font-size:8px;color:#b9c2c9;margin-top:3px}nav{display:flex;gap:29px;margin:auto}nav a{color:#e8edf1;text-decoration:none;font-size:11px;padding:27px 0;position:relative}nav a.active{color:#fff;text-shadow:0 0 16px #ff3344}nav a.active:after{content:'';position:absolute;bottom:16px;left:0;right:0;height:2px;background:#f32d39;box-shadow:0 0 9px #f32d39}.head-actions{display:flex;align-items:center;gap:12px}.home-link{height:38px;padding:0 14px 0 11px;border:1px solid #ffffff30;border-radius:22px;background:#07111b99;color:#fff;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:10px;font-weight:700;backdrop-filter:blur(10px);box-shadow:0 8px 24px #0004;transition:.22s}.home-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.home-link:hover{border-color:#f04450;background:#c91624;transform:translateY(-1px);box-shadow:0 8px 25px #c71d2940}.home-link span{white-space:nowrap}
.pager{position:absolute;z-index:8;left:2.7vw;top:108px;width:230px;display:flex;flex-direction:column;gap:8px}.pager button{height:86px;display:grid;grid-template-columns:72px 1fr;align-items:center;padding:0;text-align:left;color:#fff;background:#08111bbd;border:1px solid #ffffff16;border-radius:8px;overflow:hidden;cursor:pointer;transition:.22s;position:relative}.pager button:hover{transform:translateX(4px);border-color:#ffffff38}.pager button.on{border-color:#ff3541;box-shadow:0 0 0 1px #ff3541,0 0 22px #e9203048;background:#140d13d9}.pager img{width:72px;height:86px;object-fit:cover}.pager .ptext{padding:0 10px;display:flex;flex-direction:column}.pager strong{font-size:15px;color:#fff}.pager b{font-size:10px;margin-top:5px;line-height:1.3}.pager small{font-size:8px;color:#aab4bc;margin-top:4px;line-height:1.3}.pager .on strong{color:#ff4751}
.copy{position:absolute;z-index:6;left:26.2vw;top:126px;width:430px}.tag{display:inline-block;font-size:11px;letter-spacing:.7px;padding:7px 18px;border:1px solid #b79a5e80;background:#09131d8c;color:#f4e2ba;clip-path:polygon(7% 0,93% 0,100% 50%,93% 100%,7% 100%,0 50%)}.copy h1{font-family:'Playfair Display',serif;font-size:70px;font-style:italic;line-height:.92;margin:14px 0 17px;color:#fff3d9;text-shadow:0 5px 0 #67141a,0 12px 30px #000}.copy h2{font-size:16px;margin:0 0 12px;letter-spacing:.4px}.copy p{max-width:420px;color:#e0e5e8;font-size:10px;line-height:1.65;margin:0}.platforms{display:flex;gap:9px;margin:17px 0 14px;margin-bottom: 25px;}.platforms button{color:#fff;background:#0b141dc9;border:1px solid #ffffff54;border-radius:22px;padding:9px 16px;cursor:pointer;font-size:10px;transition:.2s}.platforms button:hover{background:#fff;color:#111;transform:translateY(-2px)}.download{width:260px;border:0;border-radius:29px;background:linear-gradient(135deg,#ef2433,#c40c1b);color:#fff;font-weight:800;padding:15px 25px;box-shadow:0 0 25px #e322315b;cursor:pointer;transition:.2s}.download:hover{transform:translateY(-2px);box-shadow:0 0 35px #e3223180}.meta{margin-top:16px;font-size:9px;color:#e2e6e9}.calligraphy{position:absolute;z-index:5;right:3.7vw;top:116px;font-family:serif;font-size:31px;line-height:1.5;writing-mode:vertical-rl;letter-spacing:6px;text-shadow:0 3px 10px #000}.calligraphy small{font-size:9px;color:#fff;background:#b91b25;padding:5px 3px;margin-top:8px;letter-spacing:0}

.hero-scenes{position:absolute;z-index:9;left:26.2vw;right:8vw;bottom:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:760px}.hero-scene{position:relative;aspect-ratio:16/7;border:1px solid #ffffff30;border-radius:7px;overflow:hidden;background:#09131d;padding:0;cursor:pointer;box-shadow:0 9px 25px #0008;transition:.22s}.hero-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#04080cbf,transparent 55%);pointer-events:none}.hero-scene img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s}.hero-scene b{position:absolute;z-index:2;left:9px;right:9px;bottom:7px;color:#fff;font-size:8px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-scene:hover{transform:translateY(-3px);border-color:#ffffff70}.hero-scene:hover img{transform:scale(1.05)}.hero-scene.on{border-color:#fff;box-shadow:0 0 0 1px #fff8,0 0 22px #e9253545,0 9px 25px #0009}.hero-scene.on:before{content:'';position:absolute;z-index:3;left:0;right:0;bottom:0;height:2px;background:#ef2b38;box-shadow:0 0 9px #ef2b38}.hero-scene .play{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-58%);width:29px;height:29px;border:1px solid #ffffff9c;border-radius:50%;display:grid;place-items:center;background:#06101bbd;font-size:10px}

.gallery-section{position:relative;z-index:10;margin-top:-1px;padding:18px 5vw 21px;background:linear-gradient(180deg,#07111bf7,#07111b);border-top:1px solid #d225303d}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.section-head span{font-family:'Playfair Display',serif;font-weight:800;font-size:23px;color:#fff4e4}.section-head span:before{content:'✦';color:#d5222e;margin-right:8px}.section-head p{font-size:9px;color:#9ba7b0;margin:4px 0 0}.section-head button{background:none;border:0;color:#eee;cursor:pointer;font-size:9px}.gallery-wrap{position:relative;overflow:visible}.gallery-grid{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.gallery-grid::-webkit-scrollbar{display:none}.shot{position:relative;flex:0 0 calc((100% - 30px)/4);scroll-snap-align:start;aspect-ratio:16/9;border:1px solid #ffffff20;border-radius:7px;overflow:hidden;background:#0b151f;padding:0;cursor:pointer;box-shadow:0 8px 22px #0005}.shot:first-child{border-color:#fff;box-shadow:0 0 0 1px #fff7,0 8px 25px #0008}.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:.4s}.shot:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#05090dd6,transparent 48%)}.shot b{position:absolute;z-index:2;left:10px;right:10px;bottom:8px;color:#fff;font-size:9px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shot span{position:absolute;z-index:3;right:9px;top:9px;opacity:0}.shot:hover img{transform:scale(1.055)}.shot:hover span{opacity:1}.gallery-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:1px solid #ffffff3d;background:#07111be8;color:#fff;font-size:21px;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px #0007;transition:.2s}.gallery-arrow:hover{background:#c91624;border-color:#ef5360;box-shadow:0 0 18px #d71e2e55}.gallery-arrow:disabled{opacity:.28;cursor:default;background:#07111be8;box-shadow:none}.gallery-arrow.prev{left:-42px}.gallery-arrow.next{right:-42px}
.benefits{margin:0 5vw 20px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ffffff0d;border-radius:10px;overflow:hidden;background:#0c1620}.benefits>div{display:flex;gap:13px;align-items:center;padding:18px 25px;border-right:1px solid #ffffff0c}.benefits>div:last-child{border-right:0}.benefits strong{width:34px;height:34px;border:1px solid #ffffff28;border-radius:50%;display:grid;place-items:center;font-size:18px}.benefits span{display:flex;flex-direction:column}.benefits b{font-size:10px}.benefits small{color:#89959e;font-size:8px;margin-top:3px}footer{height:95px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#050b11;border-top:1px solid #ffffff0b;color:#84909a;font-size:8px}.foot{min-width:190px}.foot-links{color:#aab3ba}.lightbox{position:fixed;z-index:100;inset:0;background:#000e;display:none;place-items:center;padding:4vw}.lightbox.show{display:grid}.lightbox img{max-width:92vw;max-height:86vh;border-radius:8px;box-shadow:0 20px 80px #000}.lightbox button{position:absolute;right:3vw;top:3vh;border:0;background:none;color:#fff;font-size:42px;cursor:pointer}
@media(max-width:1100px){.pager{width:190px}.pager button{grid-template-columns:62px 1fr}.pager img{width:62px}.copy{left:25vw}.hero-scenes{left:25vw;right:4vw}.shot{flex-basis:calc((100% - 20px)/3)}}
@media(max-width:800px){header{height:64px;padding:0 18px;position:absolute}.brand{min-width:auto}.brand small,nav,.home-link span{display:none}.home-link{width:40px;height:40px;padding:0;justify-content:center}.head-actions{margin-left:auto}.hero{height:875px}.shade{background:linear-gradient(90deg,#06101be8,#06101b70),linear-gradient(0deg,#06101bf5,transparent 50%)}.pager{top:78px;left:18px;right:18px;width:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pager button{height:64px;display:block}.pager img{width:100%;height:100%;opacity:.65}.pager .ptext{position:absolute;inset:0;padding:8px;justify-content:flex-end}.pager b,.pager small{display:none}.pager strong{font-size:12px}.copy{left:22px;right:22px;top:225px;width:auto}.copy h1{font-size:49px}.copy h2{font-size:14px}.copy p{font-size:10px}.calligraphy{display:none}.hero-scenes{left:22px;right:22px;bottom:22px;max-width:none;display:flex;overflow-x:auto;gap:8px;padding-bottom:2px;scroll-snap-type:x mandatory}.hero-scene{flex:0 0 44vw;scroll-snap-align:start}.gallery-section{padding:18px 22px}.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.shot{display:block;flex:0 0 78vw;scroll-snap-align:start}.gallery-arrow{display:grid}.gallery-arrow.prev{left:-14px}.gallery-arrow.next{right:-14px}.benefits{margin:0 22px 18px;grid-template-columns:1fr 1fr}.benefits>div{padding:15px}.foot-links{display:none}footer{padding:0 22px}}

/* ===== LINK EDIT SUPPORT ===== */
.download {
  text-decoration: none;
}

.foot-links {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

.foot-links a {
  color: inherit;
  text-decoration: none;
}

.foot-links a:hover {
  color: #fff;
}


/* ============================================================
   LOGO TU TIEN VUC - HEADER + FOOTER
   Doi kich thuoc tai day neu can.
   ============================================================ */
.brand .brand-logo{
  display:block;
  width:44px;
  height:50px;
  object-fit:contain;
  flex:0 0 auto;
}
footer .brand .brand-logo{
  width:38px;
  height:43px;
}
@media(max-width:800px){
  header .brand .brand-logo{
    width:38px;
    height:43px;
  }
  footer .brand .brand-logo{
    width:34px;
    height:39px;
  }
}

/* ============================================================
   PREMIUM MOTION / ANIMATION
   Chi them chuyen dong, khong thay doi layout hien tai.
   ============================================================ */

/* Hero content: animate moi lan doi game */
.copy.is-switching .tag{animation:ttvFadeUp .42s ease both}
.copy.is-switching h1{animation:ttvFadeUp .52s .04s ease both}
.copy.is-switching h2{animation:ttvFadeUp .52s .08s ease both}
.copy.is-switching p{animation:ttvFadeUp .52s .12s ease both}
.copy.is-switching .platforms{animation:ttvFadeUp .52s .16s ease both}
.copy.is-switching .download{animation:ttvFadeUp .52s .20s ease both}
.copy.is-switching .meta{animation:ttvFadeUp .52s .24s ease both}
@keyframes ttvFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* Menu game: hover co chieu sau + stagger khi render */
.pager button{will-change:transform;box-shadow:0 8px 22px #0003}
.pager button:hover{transform:translateX(7px) scale(1.015);box-shadow:0 12px 30px #0008,0 0 18px #ffffff0c}
.pager button.on{animation:ttvPagerIn .42s ease both}
.pager button:nth-child(2){animation-delay:.04s}.pager button:nth-child(3){animation-delay:.08s}.pager button:nth-child(4){animation-delay:.12s}
@keyframes ttvPagerIn{from{opacity:.35;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}

/* Scene selector: nhe hon, co glow khi hover */
.hero-scene{will-change:transform}
.hero-scene:hover{transform:translateY(-5px) scale(1.012);box-shadow:0 14px 34px #000a,0 0 20px #ffffff12}
.hero-scene.on{animation:ttvSceneOn .38s ease both}
@keyframes ttvSceneOn{0%{transform:scale(.97);opacity:.65}100%{transform:scale(1);opacity:1}}

/* Nut tai game: shine chay ngang nhe */
.download{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;isolation:isolate}
.download:before{content:'';position:absolute;z-index:-1;top:-70%;left:-45%;width:26%;height:240%;background:linear-gradient(90deg,transparent,#ffffff55,transparent);transform:rotate(18deg);animation:ttvShine 3.8s ease-in-out infinite}
.download:hover{transform:translateY(-3px) scale(1.015)}
@keyframes ttvShine{0%,62%{left:-45%}82%,100%{left:125%}}

/* Platform buttons */
.platforms button{position:relative;overflow:hidden}
.platforms button:active{transform:translateY(0) scale(.97)}

/* Gallery reveal khi vao man hinh */
.shot{transition:transform .42s ease,opacity .5s ease,border-color .25s,box-shadow .25s}
.gallery-grid.motion-ready .shot{opacity:0;transform:translateY(18px) scale(.985)}
.gallery-grid.motion-ready.is-visible .shot{opacity:1;transform:translateY(0) scale(1)}
.gallery-grid.motion-ready.is-visible .shot:nth-child(2){transition-delay:.05s}.gallery-grid.motion-ready.is-visible .shot:nth-child(3){transition-delay:.10s}.gallery-grid.motion-ready.is-visible .shot:nth-child(4){transition-delay:.15s}.gallery-grid.motion-ready.is-visible .shot:nth-child(n+5){transition-delay:.20s}
.gallery-grid.is-visible .shot:hover{transform:translateY(-4px) scale(1.01);border-color:#ffffff55;box-shadow:0 14px 30px #0009}

/* Benefits/footer cung co mot chut chuyen dong */
.benefits>div{transition:background .25s,transform .25s}
.benefits>div:hover{background:#111f2b;transform:translateY(-2px)}
.benefits strong{transition:transform .35s,border-color .25s,box-shadow .25s}
.benefits>div:hover strong{transform:rotate(8deg) scale(1.08);border-color:#ffffff55;box-shadow:0 0 18px #ffffff12}
.brand-logo{transition:transform .35s ease,filter .35s ease}
.brand:hover .brand-logo{transform:scale(1.06);filter:drop-shadow(0 0 9px #e52a3655)}

/* Lightbox mo mem hon */
.lightbox.show{animation:ttvLightbox .22s ease both}
.lightbox.show img{animation:ttvLightboxImage .32s ease both}
@keyframes ttvLightbox{from{opacity:0}to{opacity:1}}
@keyframes ttvLightboxImage{from{opacity:0;transform:scale(.965)}to{opacity:1;transform:scale(1)}}

/* Ton trong cai dat Reduce Motion cua may */
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}


/* ============================================================
   LOADING SCREEN - TU TIEN VUC
   ============================================================ */
body.is-loading{overflow:hidden}
.page-loader{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#172635 0,#0b131c 38%,#060a0f 72%);opacity:1;visibility:visible;transition:opacity .65s ease,visibility .65s ease}
.page-loader:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,#c91f2b16,transparent 30%);animation:loaderAura 2.2s ease-in-out infinite}
.page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-inner{position:relative;z-index:1;text-align:center;min-width:260px}
.loader-logo-wrap{position:relative;width:112px;height:112px;margin:0 auto 20px;display:grid;place-items:center}
.loader-logo{width:72px;height:82px;object-fit:contain;filter:drop-shadow(0 0 18px #e12a3655);animation:loaderLogo 1.5s ease-in-out infinite}
.loader-ring{position:absolute;inset:0;border:1px solid #ffffff18;border-top-color:#d82c38;border-right-color:#d82c3866;border-radius:50%;animation:loaderSpin 1.15s linear infinite}
.loader-ring:after{content:'';position:absolute;inset:8px;border:1px solid #ffffff0c;border-bottom-color:#ffffff55;border-radius:50%;animation:loaderSpinReverse 1.8s linear infinite}
.loader-title{font-weight:800;font-size:24px;letter-spacing:.18em;color:#fff;margin-left:.18em;text-shadow:0 0 24px #d82c3833}
.loader-subtitle{margin-top:8px;font-size:9px;font-weight:700;letter-spacing:.32em;color:#ffffff72;margin-left:.32em}
.loader-line{width:190px;height:2px;margin:22px auto 0;background:#ffffff12;overflow:hidden;border-radius:99px}
.loader-line span{display:block;width:42%;height:100%;background:linear-gradient(90deg,transparent,#d82c38,#fff,#d82c38,transparent);animation:loaderLine 1.15s ease-in-out infinite}
@keyframes loaderSpin{to{transform:rotate(360deg)}}
@keyframes loaderSpinReverse{to{transform:rotate(-360deg)}}
@keyframes loaderLogo{0%,100%{transform:scale(.96);opacity:.78}50%{transform:scale(1.04);opacity:1}}
@keyframes loaderAura{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes loaderLine{0%{transform:translateX(-120%)}100%{transform:translateX(340%)}}
@media(max-width:600px){.loader-logo-wrap{width:96px;height:96px}.loader-logo{width:62px;height:72px}.loader-title{font-size:20px}.loader-line{width:165px}}
@media(prefers-reduced-motion:reduce){.loader-logo,.loader-ring,.loader-ring:after,.loader-line span,.page-loader:before{animation:none!important}}


/* ============================================================
   CINEMATIC PLUS - CURSOR / PARTICLES / SWITCH / DOWNLOAD MODAL / EASTER EGG
   ============================================================ */

/* 1. Custom cursor - desktop only */
@media (pointer:fine) and (min-width:801px){
  body, a, button{cursor:none!important}
  .ttv-cursor{position:fixed;left:0;top:0;width:34px;height:34px;border:1px solid #ffffff70;border-radius:50%;pointer-events:none;z-index:100000;transform:translate(-50%,-50%);transition:width .18s,height .18s,border-color .18s,background .18s;mix-blend-mode:screen}
  .ttv-cursor:before{content:'';position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff,0 0 20px #d82c38;transform:translate(-50%,-50%)}
  .ttv-cursor i{position:absolute;inset:6px;border-radius:50%;border:1px solid #d82c3855;animation:cursorRune 3s linear infinite}
  .ttv-cursor.is-hover{width:48px;height:48px;border-color:#e73542;background:#d82c3812}
  .ttv-cursor.is-down{width:26px;height:26px}
  @keyframes cursorRune{to{transform:rotate(360deg)}}
}
@media (pointer:coarse),(max-width:800px){.ttv-cursor{display:none}}

/* 2. Ambient particles */
.hero-particles{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.hero-particles span{position:absolute;bottom:-30px;width:3px;height:3px;border-radius:50%;background:#d8f6ff;box-shadow:0 0 8px currentColor,0 0 18px currentColor;opacity:0;animation:particleRise var(--dur) linear var(--delay) infinite}
body[data-game="0"] .hero-particles span{color:#69d9cf;background:#bfffee}
body[data-game="1"] .hero-particles span{color:#e24848;background:#ffb09d}
body[data-game="2"] .hero-particles span{color:#ffd36c;background:#fff0a8}
@keyframes particleRise{0%{opacity:0;transform:translate3d(0,20px,0) scale(.6)}15%{opacity:.7}75%{opacity:.35}100%{opacity:0;transform:translate3d(var(--drift),-720px,0) scale(1.35)}}

/* 3. Stronger game transition */
.hero.game-changing .bg{filter:blur(7px) brightness(.72);transform:scale(1.045)!important;opacity:.42!important}
.hero .bg{transition:opacity .58s ease,transform 1.1s cubic-bezier(.2,.75,.2,1),filter .55s ease!important}
.hero.game-changing .hero-scenes{opacity:.18;transform:translateY(12px)}
.hero-scenes{transition:opacity .45s ease,transform .45s ease}
.hero.game-changing .pager{filter:brightness(.72)}
.pager{transition:filter .35s ease}
.copy.is-switching h1{animation:ttvHeroTitle .62s cubic-bezier(.16,.8,.2,1) both}
@keyframes ttvHeroTitle{from{opacity:0;transform:translateY(24px) scale(.985);filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}

/* 5. Download modal */
.download-modal{position:fixed;inset:0;z-index:9990;display:grid;place-items:center;padding:22px;background:#02060bd9;backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.download-modal.show{opacity:1;visibility:visible}
.download-modal-card{position:relative;width:min(520px,94vw);padding:34px;border:1px solid #ffffff1b;border-radius:18px;background:linear-gradient(145deg,#111e29f5,#071018f8);box-shadow:0 30px 100px #000c,0 0 50px #d82c3812;transform:translateY(18px) scale(.97);transition:transform .36s cubic-bezier(.16,.8,.2,1);overflow:hidden}
.download-modal.show .download-modal-card{transform:translateY(0) scale(1)}
.download-modal-card:before{content:'';position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-110px;background:#d82c3820;filter:blur(25px);pointer-events:none}
.download-modal-close{position:absolute;right:16px;top:12px;width:38px;height:38px;border:0;background:transparent;color:#ffffff80;font-size:30px;cursor:pointer}
.download-modal-close:hover{color:#fff;transform:rotate(90deg)}
.download-modal-kicker{font-size:9px;letter-spacing:.28em;color:#e04a54;font-weight:800}
.download-modal h3{margin:8px 0 5px;color:#fff;font-size:26px}.download-modal>div>p{margin:0 0 22px;color:#8f9ca6;font-size:11px}
.download-platform-list{display:grid;gap:9px}.download-platform-list button{width:100%;min-height:66px;padding:0 18px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff07;color:#fff;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;text-align:left;align-items:center;transition:.22s ease}
.download-platform-list button b{font-size:13px}.download-platform-list button small{font-size:9px;color:#7f8c96}.download-platform-list button>span{grid-column:2;grid-row:1/3;font-size:20px;color:#d93b46;transition:transform .2s}
.download-platform-list button:hover{background:#ffffff0d;border-color:#d93b4666;transform:translateX(5px);box-shadow:0 8px 24px #0005}.download-platform-list button:hover>span{transform:translateX(4px)}
.download-modal-meta{margin-top:18px;padding-top:14px;border-top:1px solid #ffffff0d;color:#66747e;font-size:9px;letter-spacing:.03em}

/* 6. Secret logo easter egg */
.secret-toast{position:fixed;left:50%;bottom:34px;z-index:10001;padding:12px 20px;border:1px solid #e23a4655;border-radius:999px;background:#071018ee;color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;box-shadow:0 12px 40px #000b,0 0 30px #d82c3822;opacity:0;visibility:hidden;transform:translate(-50%,18px) scale(.96);transition:.35s ease;pointer-events:none;white-space:nowrap}
.secret-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
body.secret-mode .brand-logo{animation:secretLogo .7s ease both!important;filter:drop-shadow(0 0 18px #e73342) drop-shadow(0 0 38px #fff6)!important}
body.secret-mode .hero:after{content:'';position:absolute;inset:0;z-index:8;pointer-events:none;background:radial-gradient(circle at 50% 45%,#ffffff1d,transparent 38%);animation:secretFlash .8s ease both}
@keyframes secretLogo{0%{transform:scale(1)}35%{transform:scale(1.28) rotate(-6deg)}70%{transform:scale(.95) rotate(3deg)}100%{transform:scale(1)}}
@keyframes secretFlash{0%{opacity:0}35%{opacity:1}100%{opacity:0}}

@media(max-width:600px){.download-modal-card{padding:28px 18px 22px}.download-modal h3{font-size:21px}.secret-toast{bottom:22px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-particles{display:none}.hero.game-changing .bg{filter:none}.ttv-cursor i{animation:none}}
.hero-scene b {
  display: none !important;
}
.gallery-grid b {
  display: none !important;
}