:root {
  --ink: #050914;
  --ink-2: #080e20;
  --panel: #0e1630;
  --line: rgba(182, 202, 255, .17);
  --mist: #aab7d6;
  --white: #f5f8ff;
  --electric: #9bff00;
  --cyan: #76d9ff;
  --violet: #8667ff;
  --content: min(1200px, calc(100vw - 64px));
  --display: "Manrope", "Noto Sans SC", sans-serif;
  --body: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: "DM Mono", "SFMono-Regular", Consolas, monospace;
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; background: var(--ink); }
body { max-width: 100%; margin: 0; overflow-x: clip; color: var(--white); background: var(--ink); font-family: var(--body); }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.content-wrap { width: var(--content); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.noise { position: fixed; z-index: 20; inset: 0; pointer-events: none; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }

/* Header */
.site-header { position: fixed; z-index: 30; top: 0; left: 0; right: 0; height: 84px; padding: 0 max(32px, calc((100vw - 1280px) / 2)); display: flex; align-items: center; gap: 34px; border-bottom: 1px solid transparent; transition: background .35s ease, border-color .35s ease, height .35s ease; }
.site-header.scrolled { height: 68px; border-color: var(--line); background: rgba(5, 9, 20, .76); backdrop-filter: blur(20px); }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.brand img { display: block; height: auto; }
.brand__en { width: 133px; filter: invert(1) brightness(2.9) grayscale(1); }
.brand__divider { width: 1px; height: 18px; background: rgba(255,255,255,.32); }
.brand__cn { width: 65px; }
.main-nav { display: flex; align-items: center; gap: 31px; margin-left: auto; }
.main-nav a { position: relative; color: #c3cce2; font-size: 13px; letter-spacing: .03em; transition: color .25s; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 1px; transform: scaleX(0); transform-origin: left; background: var(--electric); transition: transform .25s; }
.main-nav a:hover, .main-nav a.active { color: #fff; }
.main-nav a:hover::after, .main-nav a.active::after { transform: scaleX(1); }
.header-cta { display: inline-flex; align-items: center; gap: 10px; margin-left: 16px; color: var(--electric); font-family: var(--mono); font-size: 11px; letter-spacing: .03em; }
.header-cta span { font-size: 15px; transition: transform .2s; }.header-cta:hover span { transform: translate(2px,-2px); }
.nav-toggle { display: none; }

/* Elements reused through the site */
.section { position: relative; padding: 150px 0; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 24px; color: var(--cyan); font: 500 10px/1 var(--mono); letter-spacing: .14em; }
.eyebrow span { width: 24px; height: 1px; background: currentColor; }
.section-heading h2, .about h2, .contact h2, .ai-lab h2 { max-width: 800px; margin: 0; font: 700 clamp(38px, 5vw, 70px)/1.12 var(--display); letter-spacing: -.065em; }
.section-heading--row { display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.section-note { margin: 0 0 8px; color: var(--mist); font-size: 14px; line-height: 1.9; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 52px; padding: 0 20px; border: 1px solid transparent; font-size: 13px; font-weight: 700; transition: transform .25s, box-shadow .25s, background .25s; }
.button span { font-size: 18px; font-weight: 400; }.button:hover { transform: translateY(-3px); }
.button--electric { color: #071003; background: var(--electric); box-shadow: 0 0 28px rgba(155,255,0,.13); }.button--electric:hover { box-shadow: 0 9px 33px rgba(155,255,0,.23); }
.button--quiet { border-color: rgba(216,227,255,.27); color: #eaf1ff; }.button--quiet:hover { background: rgba(255,255,255,.08); }
.button--outline { border-color: rgba(147, 221, 255, .55); color: var(--cyan); }.button--outline:hover { background: rgba(118,217,255,.1); }
.text-link { display: inline-flex; gap: 18px; align-items: center; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.35); font-size: 13px; }.text-link span { color: var(--electric); font-size: 18px; }
.reveal { transition: opacity .75s cubic-bezier(.2,.65,.25,1), transform .75s cubic-bezier(.2,.65,.25,1); }.has-js .reveal { opacity: 0; transform: translateY(24px); }.has-js .reveal.is-visible { opacity: 1; transform: none; }

/* Hero */
.hero { position: relative; min-height: max(760px, 100svh); overflow: hidden; isolation: isolate; background: radial-gradient(ellipse at 74% 46%, rgba(35, 103, 196, .27) 0%, rgba(21, 49, 123, .13) 21%, transparent 48%), radial-gradient(ellipse at 22% 105%, rgba(118, 32, 133, .47), transparent 47%), radial-gradient(ellipse at 104% 9%, rgba(83, 50, 168, .23), transparent 42%), linear-gradient(125deg, #02050d 0%, #070d20 49%, #061832 100%); }
.hero::before { content: ""; position: absolute; z-index: -2; width: 58vw; height: 58vw; min-width: 650px; min-height: 650px; right: -17vw; top: 2vh; border-radius: 50%; background: radial-gradient(circle at 45% 50%, rgba(137, 219, 255, .19), rgba(68, 100, 255, .03) 32%, transparent 66%); filter: blur(17px); animation: breathe 8s ease-in-out infinite alternate; }
.hero__cosmos { position: absolute; z-index: -1; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
.hero__stars { position: absolute; inset: 0; z-index: -1; opacity: .27; background-image: radial-gradient(circle at 7% 30%, #ecf9ff 0 1px, transparent 1.5px), radial-gradient(circle at 34% 12%, #f2fff0 0 1px, transparent 1.5px), radial-gradient(circle at 59% 22%, #d5e1ff 0 1px, transparent 1.5px), radial-gradient(circle at 74% 34%, #e6e7ff 0 1px, transparent 1.5px), radial-gradient(circle at 89% 12%, #f6f5ff 0 1px, transparent 1.5px), radial-gradient(circle at 18% 67%, #d8eeff 0 1px, transparent 1.5px), radial-gradient(circle at 77% 73%, #d8eeff 0 1px, transparent 1.5px), radial-gradient(circle at 46% 72%, #f4fff3 0 1px, transparent 1.5px); }
.hero__grid { position: absolute; z-index: -1; width: 145%; height: 71%; left: -21%; bottom: -28%; transform: perspective(420px) rotateX(55deg); transform-origin: center; background-image: linear-gradient(rgba(118,217,255,.24) 1px, transparent 1px), linear-gradient(90deg, rgba(118,217,255,.24) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to bottom, transparent 0%, black 50%); opacity: .55; }
.hero__pulse { position: absolute; z-index: -1; border: 1px solid rgba(111, 215, 255, .3); border-radius: 50%; pointer-events: none; }.hero__pulse--one { width: 37vw; aspect-ratio: 1; top: 17%; right: 13%; box-shadow: inset 0 0 70px rgba(87,124,255,.1), 0 0 72px rgba(67,132,255,.08); }.hero__pulse--two { width: 19vw; aspect-ratio: 1; min-width: 250px; top: 29%; right: 22%; border-color: rgba(155,255,0,.22); animation: spin 22s linear infinite; }.hero__pulse--two::before { content:""; position:absolute; inset: 7%; border: 1px dashed rgba(155,255,0,.25); border-radius: inherit; }
.hero__lightning { position: absolute; right: 17vw; top: 20%; width: min(16vw, 230px); height: 43vh; min-height: 310px; transform: skew(-11deg); filter: drop-shadow(0 0 13px rgba(160,234,255,.85)); opacity: .20; }.hero__lightning span { position:absolute; display:block; height: 44%; width: 30%; background: linear-gradient(135deg, transparent 0 29%, #d9f9ff 30% 45%, #82ddff 48% 53%, transparent 54% 100%); }.hero__lightning span:first-child { top: 0; left: 30%; }.hero__lightning span:nth-child(2) { top: 28%; left: 9%; transform: rotate(180deg); }.hero__lightning span:nth-child(3) { top: 56%; right: 9%; }
.hero__content { position: relative; padding-top: clamp(185px, 23vh, 255px); }.hero h1 { max-width: 840px; margin: 0; font: 700 clamp(65px, 9vw, 142px)/.94 var(--display); letter-spacing: -.105em; }.hero h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1px rgba(232,244,255,.9); }.hero h1 b { color: var(--electric); }.hero__lede { margin: 42px 0 33px; color: #b5c4e3; font-size: clamp(15px, 1.25vw, 18px); line-height: 2; letter-spacing: .02em; }.hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }.hero__status { position: absolute; right: max(32px, calc((100vw - 1200px) / 2)); bottom: 37px; display: grid; gap: 9px; text-align: right; color: rgba(202,223,255,.55); font: 10px/1.2 var(--mono); letter-spacing: .12em; }.scroll-cue { position: absolute; left: max(32px, calc((100vw - 1200px) / 2)); bottom: 36px; display: flex; align-items: center; gap: 12px; color: rgba(232,242,255,.5); font: 10px/1 var(--mono); letter-spacing: .1em; }.scroll-cue i { position: relative; display: block; width: 34px; height: 1px; overflow: hidden; background: rgba(255,255,255,.32); }.scroll-cue i::before { content:""; position:absolute; width: 45%; height: 100%; background: var(--electric); animation: scan 1.7s ease-in-out infinite; }

/* Manifesto */
.manifesto { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(45px, 10vw, 170px); row-gap: 45px; background: var(--ink); }.manifesto::before { content:""; position: absolute; width: 62vw; height: 50vw; right: -28vw; bottom: -24vw; border-radius: 50%; background: radial-gradient(circle, rgba(44, 82, 168,.18), transparent 68%); pointer-events: none; }.manifesto__copy { padding-top: 45px; }.manifesto__copy p { max-width: 460px; margin: 0 0 37px; color: var(--mist); font-size: 16px; line-height: 2.1; }.capability-map { grid-column: 1 / -1; position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; min-height: 380px; padding-top: 100px; }.map-core { position: absolute; left: 50%; top: 43%; z-index: 2; width: 108px; height: 108px; transform: translate(-50%, -50%); display: grid; place-items: center; border: 1px solid rgba(155,255,0,.85); border-radius: 50%; background: radial-gradient(circle at 36% 25%, #315461, #0c1429 62%); color: var(--electric); font: 500 26px var(--mono); box-shadow: 0 0 0 12px rgba(155,255,0,.04), 0 0 42px rgba(155,255,0,.15); }.map-core::after { content:""; position: absolute; inset: 12px; border: 1px dotted rgba(155,255,0,.5); border-radius: inherit; }.map-core i { position: absolute; width: 140%; height: 140%; border: 1px solid rgba(118,217,255,.15); border-radius: inherit; }.capability { position: relative; z-index: 1; min-height: 190px; padding: 25px; border: 1px solid var(--line); background: linear-gradient(135deg, rgba(20,34,71,.52), rgba(8,14,32,.2)); overflow: hidden; }.capability::after { content:""; position:absolute; right:-20px; bottom:-44px; width: 100px; height: 100px; border: 1px solid rgba(118,217,255,.25); border-radius:50%; }.capability p { margin: 0 0 52px; color: var(--cyan); font: 11px var(--mono); }.capability h3 { margin: 0 0 12px; font-size: 23px; letter-spacing: -.04em; }.capability span { color: #7583a5; font: 9px var(--mono); letter-spacing: .09em; }.map-line { position:absolute; top: 43%; z-index: 0; width: 18%; height: 1px; background: linear-gradient(to right, transparent, rgba(118,217,255,.58)); transform-origin: left; }.map-line--one { left: 17%; transform: rotate(12deg); }.map-line--two { left: 50%; transform: rotate(168deg); }.map-line--three { left: 49%; transform: rotate(30deg); }

/* Games */
.games { overflow: hidden; background: #080e1e; }.games::before { content:""; position:absolute; inset:0; opacity: .32; background-image: linear-gradient(rgba(117,129,179,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(117,129,179,.09) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, black, transparent 75%); }.game-grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 72px; }.game-card { position: relative; min-height: 640px; overflow: hidden; isolation: isolate; border: 1px solid rgba(183,202,255,.19); transition: transform .45s cubic-bezier(.2,.7,.2,1), border-color .35s; }.game-card:hover { transform: translateY(-8px); border-color: rgba(179,240,255,.62); }.game-card--casual { background: linear-gradient(135deg, #18234f 0%, #30245a 53%, #2c1d4c 100%); }.game-card--slg { background: linear-gradient(135deg, #0c172c 0%, #13274d 45%, #372653 100%); }.game-card__chrome { position:absolute; z-index:3; top: 23px; left: 25px; right:25px; display:flex; justify-content:space-between; color: rgba(239,246,255,.68); font: 10px var(--mono); letter-spacing:.08em; }.game-card__art { position:absolute; inset: 0; z-index:-1; transition: transform .65s ease; }.game-card:hover .game-card__art { transform: scale(1.045); }.game-card__art--casual { background: linear-gradient(0deg, rgba(29,13,54,.85) 0%, rgba(29,13,54,.08) 58%), url('assets/casual-characters.png') center top / cover no-repeat; mix-blend-mode: screen; opacity: .86; }.game-card__art--slg { background: linear-gradient(0deg, rgba(8,15,38,.94) 0%, rgba(8,15,38,.04) 67%), url('assets/slg-characters.png') center top 18px / 118% auto no-repeat; }.game-card__art--slg::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 75% 30%, rgba(140,113,255,.35), transparent 35%); }.game-card__glow { position:absolute; top: 35%; left:12%; z-index:-1; width: 70%; height: 50%; border-radius: 50%; background:#e78fff; filter:blur(95px); opacity:.23; }.game-card__body { position:absolute; z-index:2; left: 33px; right: 33px; bottom: 31px; }.game-card__index { margin: 0 0 14px; color: var(--electric); font: 11px var(--mono); letter-spacing:.08em; }.game-card h3 { margin:0 0 17px; font: 700 clamp(32px, 3.3vw, 50px)/1.12 var(--display); letter-spacing:-.075em; }.game-card__body > p:not(.game-card__index) { max-width: 390px; margin:0; color: #c0c9e4; font-size: 14px; line-height: 1.9; }.round-link { position:absolute; right:0; bottom:0; display:grid; width:44px; height:44px; place-items:center; border: 1px solid rgba(255,255,255,.46); border-radius:50%; color:var(--electric); font-size:21px; transition:.25s; }.round-link:hover { color:#0e1803; background:var(--electric); border-color:var(--electric); }.games__footnote { margin: 23px 0 0; color: #6f7d9e; font-size: 11px; }

/* AI Lab */
.ai-lab { overflow: hidden; background: linear-gradient(120deg, #09172d, #060a1a 56%, #150d2b); }.ai-lab__field { position:absolute; inset:0; opacity: .58; background-image: radial-gradient(circle at 15% 20%, rgba(124,236,255,.15) 0 1px, transparent 2px), radial-gradient(circle at 80% 76%, rgba(189,160,255,.24) 0 1px, transparent 2px), linear-gradient(60deg, transparent 48%, rgba(118,217,255,.075) 49%, transparent 50%), linear-gradient(-60deg, transparent 48%, rgba(118,217,255,.075) 49%, transparent 50%); background-size: 88px 88px, 135px 135px, 64px 112px, 64px 112px; mask-image: radial-gradient(ellipse at center, black, transparent 76%); }.ai-lab__layout { position:relative; display:grid; grid-template-columns: .85fr 1.15fr; gap: clamp(48px, 8vw, 132px); align-items:center; }.ai-lab__serial { margin: 0 0 24px; color: rgba(195,224,255,.54); font: 10px var(--mono); letter-spacing:.11em; }.ai-lab h2 em { color:var(--electric); font-style:normal; }.ai-lab__copy { max-width:420px; margin:32px 0; color:#b3c1dd; font-size:15px; line-height:2; }.ai-terminal { position:relative; border:1px solid rgba(120,218,255,.33); background: linear-gradient(135deg, rgba(15,38,70,.75), rgba(12,13,45,.82)); box-shadow: inset 0 0 70px rgba(91,145,255,.06), 0 30px 80px rgba(0,0,0,.2); }.terminal__top { height: 42px; padding:0 16px; display:flex; align-items:center; gap:6px; border-bottom:1px solid rgba(146,219,255,.21); color:#9ecaf0; font: 9px var(--mono); letter-spacing:.08em; }.terminal__top span { margin-right:auto; }.terminal__top i { width:6px; height:6px; border-radius:50%; background:#9adcf8; }.terminal__top i:nth-last-child(2) { background:#a887ff; }.terminal__top i:last-child { background:var(--electric); }.terminal__visual { position:relative; height:330px; overflow:hidden; background: radial-gradient(circle at center, rgba(148,241,255,.18), transparent 38%), linear-gradient(120deg, rgba(102,136,255,.15), transparent 50%); }.terminal__visual::before { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(131,229,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(131,229,255,.1) 1px, transparent 1px); background-size:28px 28px; mask-image: radial-gradient(circle at center, black, transparent 76%); }.terminal__orb { position:absolute; z-index:2; left:50%; top:50%; display:grid; width:118px; height:118px; place-items:center; transform:translate(-50%,-50%); border:1px solid rgba(213,255,255,.7); border-radius:50%; background: radial-gradient(circle at 33% 30%, #8effec, #4165e3 32%, #0b183e 71%); color:#e8ffff; font: 500 25px var(--mono); text-shadow:0 0 20px #e5ffff; box-shadow:0 0 40px rgba(109,247,255,.4), inset 0 0 25px rgba(0,0,0,.8); }.terminal__ring { position:absolute; left:50%; top:50%; border:1px solid rgba(116,234,255,.39); border-radius:50%; transform:translate(-50%,-50%) rotateX(64deg); }.terminal__ring--one { width:280px; height:280px; animation: rotate 11s linear infinite; }.terminal__ring--two { width:218px; height:218px; border-style:dashed; border-color:rgba(156,138,255,.58); animation: rotate 9s linear reverse infinite; }.terminal__scan { position:absolute; z-index:3; left:0; right:0; top:0; height:1px; background:var(--electric); opacity:.75; box-shadow:0 0 18px var(--electric); animation: scanner 4s ease-in-out infinite; }.terminal__tag { position:absolute; z-index:4; padding:7px 9px; color:#d9f9ff; border:1px solid rgba(178,238,255,.28); background:rgba(4,10,29,.7); font: 8px var(--mono); letter-spacing:.09em; }.terminal__tag::before { content:""; position:absolute; width:30px; height:1px; background:rgba(178,238,255,.55); }.terminal__tag--one { top:23%; left:10%; }.terminal__tag--one::before { left:100%; top:100%; transform:rotate(26deg); transform-origin:left; }.terminal__tag--two { right:8%; top:59%; }.terminal__tag--two::before { right:100%; top:50%; transform:rotate(177deg); transform-origin:right; }.terminal__tag--three { left:17%; bottom:12%; }.terminal__tag--three::before { left:100%; top:0; transform:rotate(-27deg); transform-origin:left; }.terminal__items { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(146,219,255,.21); }.terminal__items div { min-height:100px; padding:16px 14px; border-right:1px solid rgba(146,219,255,.21); }.terminal__items div:last-child { border-right:0; }.terminal__items b { display:block; margin-bottom:12px; color:var(--electric); font: 10px var(--mono); }.terminal__items span { display:block; margin-bottom:5px; font-size:14px; font-weight:600; }.terminal__items small { color:#89a0c5; font-size:10px; }

/* About and contact */
.about { background:#f0f4fa; color:#0b1630; }.about__layout { display:grid; grid-template-columns: .92fr 1.08fr; gap:clamp(48px,9vw,140px); align-items:center; }.about__image { position:relative; height:590px; overflow:hidden; background:#14203a; }.about__image > div { position:absolute; inset:0; background:linear-gradient(0deg, rgba(5,15,38,.72), rgba(5,15,38,.06)), url('assets/studio.jpg') center top / cover no-repeat; filter:contrast(1.08) saturate(.8); transition: transform .7s ease; }.about__image:hover > div { transform:scale(1.04); }.about__image::after { content:""; position:absolute; inset:16px; border:1px solid rgba(255,255,255,.34); }.about__image span { position:absolute; z-index:2; left:30px; bottom:27px; color:#fff; font: 10px var(--mono); letter-spacing:.13em; }.about .eyebrow { color:#3a59aa; }.about h2 { color:#111d3c; }.about__content > p:not(.eyebrow) { max-width:560px; margin:28px 0 34px; color:#52627f; font-size:15px; line-height:2; }.about__values { display:grid; border-top:1px solid rgba(15,39,83,.18); }.about__values div { display:grid; grid-template-columns:50px 1fr; align-items:center; min-height:62px; border-bottom:1px solid rgba(15,39,83,.18); }.about__values b { color:#6180ce; font: 11px var(--mono); }.about__values span { font-size:14px; font-weight:600; }
.contact { position:relative; overflow:hidden; padding:134px 0; background:#0a0f1e; }.contact::before { content:""; position:absolute; right:-16vw; top:-24vw; width:58vw; min-width:700px; aspect-ratio:1; border:1px solid rgba(118,217,255,.15); border-radius:50%; box-shadow:0 0 0 75px rgba(118,217,255,.025), 0 0 0 150px rgba(118,217,255,.017); }.contact__spark { position:absolute; right:16%; bottom:-27px; width:230px; height:370px; transform:rotate(22deg); opacity:.83; background:linear-gradient(112deg, transparent 0 41%, var(--electric) 42% 48%, transparent 49% 100%); filter:drop-shadow(0 0 18px rgba(155,255,0,.55)); }.contact__layout { position:relative; display:grid; grid-template-columns: 1fr 1fr; gap:100px; }.contact h2 { font-size:clamp(36px,4.5vw,65px); }.contact__links { align-self:end; }.contact__links a { position:relative; display:grid; grid-template-columns:1fr auto 28px; gap:15px; align-items:center; min-height:72px; border-bottom:1px solid rgba(204,220,255,.22); transition:color .25s, border .25s; }.contact__links a:first-child { border-top:1px solid rgba(204,220,255,.22); }.contact__links span { color:#96a7cc; font-size:12px; }.contact__links b { font:500 13px var(--mono); }.contact__links i { color:var(--electric); font-size:19px; font-style:normal; text-align:right; transition:transform .25s; }.contact__links a:hover { color:var(--electric); border-color:var(--electric); }.contact__links a:hover i { transform:translate(3px,-3px); }
.site-footer { padding:28px 0; background:#050811; border-top:1px solid rgba(255,255,255,.1); }.site-footer__inner { display:flex; justify-content:space-between; align-items:center; gap:22px; color:#7684a3; font:10px var(--mono); letter-spacing:.03em; }.site-footer p { margin:0; }.brand--footer .brand__en { width:104px; }.brand--footer .brand__cn { width:52px; }.brand--footer .brand__divider { height:15px; }.back-to-top { position:fixed; z-index:25; right:25px; bottom:24px; display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(177,203,255,.32); color:#dbeaff; background:rgba(8,14,32,.65); backdrop-filter:blur(12px); opacity:0; transform:translateY(12px); pointer-events:none; cursor:pointer; transition:.25s; }.back-to-top.visible { opacity:1; transform:none; pointer-events:auto; }.back-to-top:hover { color:#071003; background:var(--electric); border-color:var(--electric); }

@keyframes breathe { to { transform:scale(1.1); opacity:.72; } }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes rotate { to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes scan { 0%,100% { transform:translateX(-120%); } 45%,55% { transform:translateX(220%); } }
@keyframes scanner { 0%,100% { transform:translateY(0); opacity:0; } 15%,70% { opacity:.8; } 75% { transform:translateY(330px); opacity:0; } }

@media (max-width: 900px) {
  :root { --content: min(100% - 40px, 640px); }
  .site-header { height:68px; padding:0 20px; }.site-header.scrolled { height:62px; }.brand__en { width:106px; }.brand__cn { width:53px; }.brand__divider { height:15px; }.header-cta { display:none; }.nav-toggle { position:relative; display:block; width:40px; height:34px; margin-left:auto; border:0; background:none; cursor:pointer; }.nav-toggle i { position:absolute; left:7px; width:25px; height:1px; background:#fff; transition:transform .25s, top .25s; }.nav-toggle i:first-of-type { top:11px; }.nav-toggle i:last-of-type { top:20px; }.nav-toggle[aria-expanded="true"] i:first-of-type { top:16px; transform:rotate(45deg); }.nav-toggle[aria-expanded="true"] i:last-of-type { top:16px; transform:rotate(-45deg); }.main-nav { position:absolute; top:68px; left:0; right:0; display:grid; gap:0; margin:0; padding:8px 20px 18px; border-bottom:1px solid var(--line); background:rgba(5,9,20,.96); transform:translateY(-130%); opacity:0; pointer-events:none; transition:.3s; }.main-nav.open { transform:none; opacity:1; pointer-events:auto; }.main-nav a { padding:12px 0; font-size:14px; }.main-nav a::after { bottom:8px; width:30px; right:auto; }.section { padding:90px 0; }.hero { min-height:720px; }.hero__content { padding-top:180px; }.hero h1 { max-width:600px; font-size:clamp(60px, 14vw, 90px); }.hero__lede { margin:30px 0; font-size:15px; }.hero__lightning { right:5vw; top:25%; opacity:.12; }.hero__pulse--one { width:66vw; right:-5vw; top:20%; }.hero__pulse--two { right:14vw; top:32%; }.hero__status { display:none; }.scroll-cue { left:20px; bottom:26px; }.manifesto { grid-template-columns:1fr; gap:0; }.manifesto__copy { padding-top:30px; }.capability-map { grid-template-columns:1fr; gap:11px; min-height:0; padding-top:44px; }.capability { min-height:139px; }.capability p { margin-bottom:26px; }.map-core, .map-line { display:none; }.section-heading--row { display:block; }.section-note { margin-top:28px; }.game-grid { grid-template-columns:1fr; margin-top:40px; }.game-card { min-height:570px; }.ai-lab__layout, .about__layout, .contact__layout { grid-template-columns:1fr; gap:52px; }.terminal__visual { height:300px; }.about__image { height:440px; }.contact { padding:90px 0; }.contact__links { width:100%; }.site-footer__inner { flex-wrap:wrap; }.contact__spark { right:-50px; opacity:.45; }.game-card__body { left:25px; right:25px; bottom:25px; }
}
@media (max-width: 480px) {
  :root { --content: min(100% - 32px, 640px); }.hero h1 { font-size:56px; }.hero h1 em { display:block; }.hero__lede br { display:none; }.button { min-height:49px; gap:17px; padding:0 15px; font-size:12px; }.hero__actions { gap:9px; }.hero__pulse--two { min-width:210px; }.hero__lightning { width:150px; right:-3vw; }.section-heading h2, .about h2, .contact h2, .ai-lab h2 { font-size:37px; }.game-card { min-height:520px; }.game-card h3 { font-size:37px; }.game-card__art--casual { background-position:center top; }.terminal__visual { height:260px; }.terminal__orb { width:92px; height:92px; }.terminal__ring--one { width:220px; height:220px; }.terminal__ring--two { width:170px; height:170px; }.terminal__tag { font-size:7px; padding:5px; }.terminal__items div { min-height:92px; padding:12px 8px; }.terminal__items span { font-size:12px; }.terminal__items small { font-size:9px; }.about__image { height:330px; }.contact__links a { grid-template-columns:1fr 18px; min-height:77px; }.contact__links b { grid-row:2; font-size:11px; }.contact__links i { grid-column:2; grid-row:1 / span 2; }.site-footer__inner { display:grid; gap:12px; }.site-footer p { font-size:9px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }

/* News and careers */
.main-nav { gap: clamp(14px, 1.8vw, 31px); }
.news { overflow:hidden; background:radial-gradient(circle at 14% 8%, rgba(121, 93, 255, .18), transparent 28%), linear-gradient(135deg, #0b1128, #070b17 64%, #10102a); }
.news::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.26; background-image:linear-gradient(rgba(129, 213, 255, .11) 1px, transparent 1px), linear-gradient(90deg, rgba(129, 213, 255, .11) 1px, transparent 1px); background-size:50px 50px; mask-image:linear-gradient(to bottom, black, transparent 82%); }
.news__intro { position:relative; display:flex; justify-content:space-between; align-items:end; gap:58px; margin-bottom:56px; }.news__intro h2 { max-width:690px; margin:0; font:700 clamp(38px, 5vw, 70px)/1.12 var(--display); letter-spacing:-.065em; }.news__actions { width:min(100%, 355px); }.news__actions p { margin:0 0 25px; color:#96a7cc; font-size:13px; line-height:1.9; }.news__refresh { padding:0; border:0; background:none; cursor:pointer; font:inherit; }.news__refresh span { font-size:17px; }
.news-grid { position:relative; display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }.news-card { display:flex; min-height:485px; flex-direction:column; overflow:hidden; border:1px solid rgba(166, 205, 255, .22); background:linear-gradient(145deg, rgba(23, 38, 75, .84), rgba(7, 13, 30, .92)); transition:transform .35s ease, border-color .35s ease; }.news-card:hover { transform:translateY(-7px); border-color:rgba(163, 242, 255, .72); }.news-card__image { height:220px; overflow:hidden; background:#18264d; }.news-card__image img { width:100%; height:100%; object-fit:cover; filter:saturate(.88) contrast(1.08); transition:transform .6s ease; }.news-card:hover .news-card__image img { transform:scale(1.06); }.news-card__body { display:flex; height:100%; flex-direction:column; align-items:flex-start; padding:25px 25px 27px; }.news-card__meta { display:flex; justify-content:space-between; width:100%; margin:0 0 24px; color:#91a5d5; font:10px var(--mono); letter-spacing:.08em; }.news-card__meta span { color:var(--electric); }.news-card h3 { margin:0 0 15px; font:700 clamp(23px, 2vw, 31px)/1.12 var(--display); letter-spacing:-.055em; }.news-card__body > p:not(.news-card__meta) { margin:0 0 26px; color:#b2bfdb; font-size:13px; line-height:1.9; }.news-card .text-link { margin-top:auto; }
.careers-teaser { overflow:hidden; background:linear-gradient(118deg, #0d1a34, #11132d 54%, #20133d); }.careers-teaser__orb { position:absolute; border:1px solid rgba(135, 233, 255, .24); border-radius:50%; pointer-events:none; }.careers-teaser__orb--one { width:min(62vw, 920px); aspect-ratio:1; right:-24vw; top:-38vw; box-shadow:0 0 0 62px rgba(129, 129, 255, .035), 0 0 110px rgba(95, 183, 255, .13); }.careers-teaser__orb--two { width:260px; height:260px; right:17%; bottom:-120px; border-color:rgba(155, 255, 0, .4); }.careers-teaser__layout { position:relative; display:grid; grid-template-columns:minmax(0, .95fr) minmax(390px, 1.05fr); gap:clamp(48px, 8vw, 140px); align-items:center; }.careers-teaser__copy h2 { margin:0; font:700 clamp(38px, 5vw, 70px)/1.12 var(--display); letter-spacing:-.065em; }.careers-teaser__copy h2 em { color:var(--electric); font-style:normal; }.careers-teaser__copy > p:not(.eyebrow) { max-width:510px; margin:29px 0 34px; color:#b9c5dd; font-size:15px; line-height:2; }.career-preview { display:grid; border-top:1px solid rgba(188, 215, 255, .27); }.career-preview__item { position:relative; display:grid; grid-template-columns:42px 1fr auto; gap:13px; align-items:center; min-height:117px; padding:19px 0; border-bottom:1px solid rgba(188, 215, 255, .27); }.career-preview__index { align-self:start; color:var(--electric); font:10px var(--mono); }.career-preview__item p { grid-column:2; margin:0 0 5px; color:#8ea4cc; font:10px var(--mono); letter-spacing:.08em; }.career-preview__item h3 { grid-column:2; margin:0; font:600 clamp(21px, 2vw, 28px)/1 var(--display); letter-spacing:-.045em; }.career-preview__item small { grid-column:2; margin-top:7px; color:#b8c5dd; font-size:11px; }.career-preview__item a { grid-column:3; grid-row:1 / span 3; color:var(--electric); font:11px var(--mono); white-space:nowrap; transition:transform .25s; }.career-preview__item:hover a { transform:translate(4px, -4px); }
.careers-page { background:#070b17; }.careers-header { background:rgba(7, 11, 23, .76); }.career-hero { position:relative; display:flex; min-height:720px; align-items:center; overflow:hidden; background:radial-gradient(circle at 72% 38%, rgba(99, 139, 255, .28), transparent 22%), radial-gradient(circle at 82% 70%, rgba(180, 99, 255, .2), transparent 30%), #080d20; }.career-hero::after { content:""; position:absolute; right:7%; top:16%; width:min(42vw, 570px); aspect-ratio:1; border:1px solid rgba(131, 231, 255, .32); border-radius:50%; box-shadow:0 0 0 52px rgba(118, 217, 255, .035), 0 0 0 104px rgba(128, 119, 255, .025); }.career-hero__grid { position:absolute; inset:0; opacity:.34; background-image:linear-gradient(rgba(122, 210, 255, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(122, 210, 255, .12) 1px, transparent 1px); background-size:54px 54px; mask-image:radial-gradient(circle at 68% 46%, black, transparent 62%); }.career-hero .content-wrap { position:relative; z-index:1; padding-top:106px; }.career-hero__serial { margin:25px 0 20px; color:#90a5d4; font:11px var(--mono); letter-spacing:.1em; }.career-hero__serial span { color:var(--electric); }.career-hero h1 { max-width:900px; margin:0; font:700 clamp(55px, 7.4vw, 112px)/.96 var(--display); letter-spacing:-.09em; }.career-hero h1 em { color:transparent; font-style:normal; -webkit-text-stroke:1px rgba(235, 245, 255, .9); }.career-hero .content-wrap > p:not(.eyebrow):not(.career-hero__serial) { max-width:545px; margin:34px 0; color:#b6c4df; font-size:15px; line-height:2; }.career-life { background:#edf2fa; color:#101c3a; }.career-life__layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px, 11vw, 180px); }.career-life h2 { margin:0; font:700 clamp(38px, 5vw, 70px)/1.12 var(--display); letter-spacing:-.065em; }.career-life__copy > p { margin:0 0 32px; color:#586986; font-size:15px; line-height:2; }.career-principles { border-top:1px solid rgba(24, 49, 94, .18); }.career-principles div { display:grid; grid-template-columns:48px 1fr; min-height:64px; align-items:center; border-bottom:1px solid rgba(24, 49, 94, .18); }.career-principles b { color:#496ed0; font:11px var(--mono); }.career-principles span { color:#1c2b4a; font-size:14px; font-weight:600; }.career-board { background:linear-gradient(140deg, #080d1f, #11102b); }.career-board__layout { display:grid; grid-template-columns:minmax(275px, .76fr) minmax(0, 1.24fr); gap:18px; margin-top:62px; }.job-list { border-top:1px solid rgba(163, 205, 255, .25); }.job-list__item { position:relative; display:grid; grid-template-columns:1fr auto; gap:8px; min-height:115px; padding:20px 37px 20px 0; border-bottom:1px solid rgba(163, 205, 255, .25); transition:padding .25s, color .25s; }.job-list__item::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--electric); transform:scaleY(0); transition:transform .25s; }.job-list__item:hover, .job-list__item.active { padding-left:17px; color:#fff; }.job-list__item.active::before { transform:scaleY(1); }.job-list__team { grid-column:1; color:#94a5cc; font:10px var(--mono); letter-spacing:.08em; }.job-list__item strong { grid-column:1; font:600 23px/1.08 var(--display); letter-spacing:-.045em; }.job-list__item small { grid-column:1; color:#aab9d5; font-size:11px; }.job-list__item i { grid-column:2; grid-row:1 / span 3; align-self:center; color:var(--electric); font-size:18px; font-style:normal; }.career-detail { min-height:530px; padding:44px clamp(28px, 5vw, 70px); border:1px solid rgba(161, 211, 255, .28); background:linear-gradient(145deg, rgba(30, 53, 98, .72), rgba(11, 15, 39, .9)); }.career-detail__meta { margin:0 0 16px; color:var(--electric); font:10px var(--mono); letter-spacing:.09em; }.career-detail__title { margin:0 0 17px; font:700 clamp(36px, 4vw, 54px)/1 var(--display); letter-spacing:-.07em; }.career-detail__tags { display:flex; gap:8px; margin-bottom:24px; }.career-detail__tags span { padding:6px 8px; border:1px solid rgba(166, 218, 255, .28); color:#c3d8f3; font:10px var(--mono); }.career-detail__summary { max-width:620px; margin:0 0 28px; color:#b8c5df; font-size:14px; line-height:1.9; }.career-detail h3 { margin:27px 0 12px; color:#fff; font:600 16px var(--display); }.career-detail__list { display:grid; gap:8px; margin:0; padding:0; color:#9fafd1; font-size:13px; line-height:1.7; list-style:none; }.career-detail__list li { position:relative; padding-left:16px; }.career-detail__list li::before { content:""; position:absolute; left:0; top:.68em; width:5px; height:5px; border-radius:50%; background:var(--electric); }.career-detail__apply { margin-top:34px; }.career-empty { color:#a9b7d4; }
@media (max-width: 900px) { .main-nav { gap:0; }.news__intro { display:block; }.news__actions { width:auto; margin-top:29px; }.news-grid { grid-template-columns:1fr; }.news-card { min-height:0; }.news-card__image { height:250px; }.careers-teaser__layout, .career-life__layout, .career-board__layout { grid-template-columns:1fr; }.career-preview { margin-top:8px; }.career-hero { min-height:650px; }.career-hero::after { width:540px; right:-240px; top:16%; }.career-board__layout { margin-top:38px; }.career-detail { min-height:0; }.job-list__item { padding-right:20px; } }
@media (max-width: 480px) { .news-card__body { padding:21px; }.news-card__image { height:205px; }.career-preview__item { grid-template-columns:31px 1fr; }.career-preview__item a { grid-column:2; grid-row:auto; margin-top:7px; }.career-hero { min-height:620px; }.career-hero h1 { font-size:52px; }.career-hero h1 em { display:block; }.career-detail { padding:31px 23px; }.career-detail__title { font-size:38px; }.job-list__item strong { font-size:21px; } }
/* News archive page */
.news-hero { background:radial-gradient(circle at 75% 34%, rgba(155, 255, 0, .14), transparent 18%), radial-gradient(circle at 81% 68%, rgba(83, 148, 255, .3), transparent 31%), #080d20; }.news-hero::after { border-color:rgba(155, 255, 0, .34); box-shadow:0 0 0 52px rgba(155, 255, 0, .035), 0 0 0 104px rgba(118, 217, 255, .025); }.news-archive { background:linear-gradient(140deg, #080d1f, #11102b); }.news-archive__layout { display:grid; grid-template-columns:minmax(300px, .9fr) minmax(0, 1.1fr); gap:18px; margin-top:62px; }.news-archive__grid { display:grid; align-content:start; gap:12px; }.news-archive__card { display:grid; grid-template-columns:118px 1fr; gap:16px; min-height:122px; overflow:hidden; padding:12px; border:1px solid rgba(163, 205, 255, .22); background:rgba(16, 26, 57, .54); transition:transform .25s, border-color .25s, background .25s; }.news-archive__card:hover, .news-archive__card.active { transform:translateX(6px); border-color:rgba(155, 255, 0, .7); background:rgba(30, 52, 93, .72); }.news-archive__card img { width:118px; height:98px; object-fit:cover; }.news-archive__card .news-card__meta { margin:1px 0 10px; }.news-archive__card h3 { margin:0 0 7px; font:600 20px/1.08 var(--display); letter-spacing:-.04em; }.news-archive__card p:not(.news-card__meta) { display:-webkit-box; overflow:hidden; margin:0; color:#9eafcf; font-size:11px; line-height:1.6; -webkit-line-clamp:2; -webkit-box-orient:vertical; }.news-detail { display:grid; grid-template-rows:minmax(250px, 360px) auto; min-height:570px; overflow:hidden; border:1px solid rgba(163, 205, 255, .27); background:linear-gradient(145deg, rgba(30, 53, 98, .72), rgba(11, 15, 39, .9)); }.news-detail > img { width:100%; height:100%; object-fit:cover; filter:saturate(.9) contrast(1.06); }.news-detail__body { padding:39px clamp(26px, 4vw, 62px) 44px; }.news-detail__body .news-card__meta { margin-bottom:22px; }.news-detail__body h2 { max-width:720px; margin:0 0 19px; font:700 clamp(32px, 4vw, 52px)/1.04 var(--display); letter-spacing:-.065em; }.news-detail__body > p:not(.news-card__meta) { max-width:680px; margin:0 0 28px; color:#b7c5de; font-size:14px; line-height:1.9; }
@media (max-width: 900px) { .news-archive__layout { grid-template-columns:1fr; margin-top:38px; }.news-detail { min-height:0; }.news-detail__body { padding:30px; } }
@media (max-width: 480px) { .news-archive__card { grid-template-columns:92px 1fr; gap:12px; }.news-archive__card img { width:92px; height:82px; }.news-archive__card h3 { font-size:18px; }.news-detail { grid-template-rows:220px auto; }.news-detail__body { padding:26px 22px 30px; }.news-detail__body h2 { font-size:35px; } }
/* Cinematic universe backdrop: user-supplied galaxy and nebula imagery, layered beneath the existing Canvas animation. */
.hero { background:linear-gradient(90deg, rgba(1, 4, 13, .9) 0%, rgba(2, 6, 18, .76) 34%, rgba(3, 9, 27, .3) 68%, rgba(4, 7, 20, .5) 100%), linear-gradient(180deg, rgba(2, 5, 14, .35), rgba(2, 4, 12, .66) 100%), radial-gradient(ellipse at 78% 62%, rgba(102, 74, 214, .19), transparent 46%), url('assets/hero-universe-galaxy.jpg') 54% 48% / cover no-repeat, #02050d; }
.hero::before { inset:-5%; z-index:-2; width:auto; height:auto; min-width:0; min-height:0; right:auto; top:auto; border-radius:0; background:radial-gradient(ellipse at 72% 48%, rgba(116, 193, 255, .28), rgba(107, 68, 228, .08) 36%, transparent 68%), url('assets/hero-universe-nebula.jpg') 56% 54% / cover no-repeat; background-blend-mode:screen; opacity:.32; filter:saturate(.92) contrast(1.08); animation:cosmicDrift 32s ease-in-out infinite alternate; }
.hero__cosmos { opacity:.96; }.hero__stars { opacity:.42; mix-blend-mode:screen; }.hero__grid { opacity:.3; }.hero__pulse--one { border-color:rgba(142, 218, 255, .2); box-shadow:inset 0 0 70px rgba(87, 124, 255, .08), 0 0 72px rgba(67, 132, 255, .06); }
@keyframes cosmicDrift { 0% { transform:scale(1.02) translate3d(-1.2%, -0.6%, 0); } 100% { transform:scale(1.09) translate3d(1.5%, 1.1%, 0); } }
@media (max-width: 900px) { .hero { background-position:center, center, center, 57% 46%, center; }.hero::before { background-position:center, 57% 50%; opacity:.25; }.hero__grid { opacity:.2; } }
/* Blend the photographic cosmos with the procedural scene without changing its motion. */
.hero { background-blend-mode:normal, normal, screen, normal; }
.hero::before { opacity:.23; mix-blend-mode:screen; filter:saturate(.78) contrast(1.04) brightness(.88); }
.hero__cosmos { opacity:.88; mix-blend-mode:screen; filter:saturate(.84) contrast(1.06); }
.hero__stars { opacity:.26; }.hero__grid { opacity:.17; }.hero__lightning { opacity:.13; }
@media (max-width: 900px) { .hero::before { opacity:.18; }.hero__cosmos { opacity:.92; } }
/* Refined deep-space balance: photographic depth supports the moving systems instead of competing with them. */
.hero { background:linear-gradient(90deg, rgba(1, 4, 13, .96) 0%, rgba(2, 6, 18, .86) 37%, rgba(3, 9, 27, .48) 69%, rgba(4, 7, 20, .73) 100%), linear-gradient(180deg, rgba(1, 5, 17, .2), rgba(1, 5, 17, .74) 100%), radial-gradient(ellipse at 73% 48%, rgba(53, 103, 210, .18), transparent 47%), url('assets/hero-universe-nebula.jpg') 57% 51% / cover no-repeat, #02050d; background-blend-mode:normal, multiply, screen, normal; }
.hero::before { background:radial-gradient(ellipse at 70% 46%, rgba(111, 182, 255, .2), rgba(102, 65, 218, .045) 38%, transparent 67%), linear-gradient(90deg, transparent 42%, rgba(7, 10, 31, .12) 100%), url('assets/hero-universe-galaxy.jpg') 62% 46% / cover no-repeat; background-blend-mode:screen, normal, normal; opacity:.15; filter:saturate(.68) contrast(1.12) brightness(.68); }
.hero__cosmos { opacity:.84; mix-blend-mode:screen; filter:saturate(.82) contrast(1.1) brightness(.95); }
.hero__stars { opacity:.18; }.hero__grid { opacity:.1; }.hero__lightning { opacity:.08; }.hero__pulse--one { opacity:.55; }.hero__pulse--two { opacity:.48; }
@media (max-width: 900px) { .hero { background-position:center, center, center, 60% 49%, center; }.hero::before { opacity:.11; background-position:center, center, 60% 48%; }.hero__cosmos { opacity:.88; }.hero__grid { opacity:.07; } }
/* Hero headline refinement: a calmer scale and a clearer focal hierarchy. */
.hero__content { padding-top:clamp(215px, 27vh, 292px); }
.hero h1 { max-width:700px; font-size:clamp(50px, 6.45vw, 104px); line-height:.99; letter-spacing:-.085em; text-shadow:0 12px 34px rgba(2, 7, 22, .38); }
.hero h1 em { color:#dbeaff; -webkit-text-stroke:0; text-shadow:0 0 24px rgba(147, 207, 255, .16); }
.hero h1 b { color:#adff58; text-shadow:0 0 19px rgba(155, 255, 0, .25); }
.hero__lede { max-width:520px; margin-top:30px; color:#b9cae8; }
@media (max-width: 900px) { .hero__content { padding-top:195px; }.hero h1 { max-width:560px; font-size:clamp(46px, 10.7vw, 72px); }.hero__lede { margin-top:27px; } }
@media (max-width: 480px) { .hero__content { padding-top:180px; }.hero h1 { max-width:330px; font-size:48px; line-height:1.04; }.hero h1 em { display:inline; }.hero__lede { margin-top:24px; } }
/* Hero headline treatment: filled co-creation, outlined AI, and a separate electric second line. */
.hero h1 .hero-title__co-create { color:#f7fbff; text-shadow:0 0 20px rgba(202, 226, 255, .14); }
.hero h1 em { color:transparent; -webkit-text-stroke:1px rgba(232, 244, 255, .9); text-shadow:none; }
.hero h1 b { display:block; margin-top:.08em; }
@media (max-width: 480px) { .hero h1 b { margin-top:.12em; } }
/* Ambient starfield: restrained twinkle and occasional distant meteor trails. */
.hero__stars { animation:heroStarBreath 7.8s ease-in-out infinite alternate; }
.hero__stars::before { content:""; position:absolute; inset:-4%; pointer-events:none; opacity:.32; mix-blend-mode:screen; background-image:radial-gradient(circle at 12% 18%, rgba(239, 249, 255, .95) 0 1px, transparent 1.8px), radial-gradient(circle at 27% 54%, rgba(157, 210, 255, .9) 0 .8px, transparent 1.6px), radial-gradient(circle at 43% 27%, rgba(250, 242, 255, .85) 0 1px, transparent 1.9px), radial-gradient(circle at 62% 14%, rgba(180, 224, 255, .92) 0 .7px, transparent 1.6px), radial-gradient(circle at 78% 43%, rgba(234, 244, 255, .82) 0 1px, transparent 1.8px), radial-gradient(circle at 91% 22%, rgba(185, 214, 255, .86) 0 .8px, transparent 1.6px), radial-gradient(circle at 18% 81%, rgba(238, 247, 255, .8) 0 .7px, transparent 1.5px), radial-gradient(circle at 58% 72%, rgba(180, 210, 255, .86) 0 1px, transparent 1.8px), radial-gradient(circle at 86% 82%, rgba(248, 242, 255, .82) 0 .8px, transparent 1.6px); animation:heroStarScatter 12s ease-in-out infinite alternate; }
.hero__stars::after { content:""; position:absolute; left:10%; top:13%; width:190px; height:2px; pointer-events:none; border-radius:999px; opacity:0; background:linear-gradient(90deg, transparent 0%, rgba(161, 222, 255, .1) 34%, rgba(213, 244, 255, .94) 92%, rgba(255, 255, 255, 1) 100%); box-shadow:0 0 8px rgba(154, 218, 255, .7); transform:rotate(-24deg) translate3d(-230px, -90px, 0); animation:heroMeteor 13s cubic-bezier(.22, .72, .26, 1) -4.2s infinite; }
@keyframes heroStarBreath { 0%, 100% { opacity:.14; } 48% { opacity:.26; } }
@keyframes heroStarScatter { 0%, 100% { opacity:.18; transform:translate3d(-.25%, 0, 0); } 46% { opacity:.46; transform:translate3d(.3%, -.15%, 0); } }
@keyframes heroMeteor { 0%, 59% { opacity:0; transform:rotate(-24deg) translate3d(-230px, -90px, 0); } 63% { opacity:.62; } 71% { opacity:.16; transform:rotate(-24deg) translate3d(78vw, 34vh, 0); } 72%, 100% { opacity:0; transform:rotate(-24deg) translate3d(82vw, 36vh, 0); } }
@media (max-width: 900px) { .hero__stars::before { opacity:.24; }.hero__stars::after { width:140px; top:17%; opacity:0; } }
/* Starfield intensity pass: denser constellations and compact, fast-fading meteors. */
.hero__stars { opacity:.28; animation:heroStarBreath 6.6s ease-in-out infinite alternate; }
.hero__stars::before { opacity:.54; background-image:radial-gradient(circle at 7% 14%, rgba(245, 251, 255, .98) 0 1px, transparent 1.7px), radial-gradient(circle at 13% 44%, rgba(183, 222, 255, .9) 0 .8px, transparent 1.5px), radial-gradient(circle at 20% 76%, rgba(248, 244, 255, .92) 0 1px, transparent 1.8px), radial-gradient(circle at 29% 19%, rgba(176, 221, 255, .92) 0 .8px, transparent 1.6px), radial-gradient(circle at 35% 58%, rgba(245, 250, 255, .9) 0 1px, transparent 1.8px), radial-gradient(circle at 42% 35%, rgba(191, 227, 255, .94) 0 .8px, transparent 1.5px), radial-gradient(circle at 48% 84%, rgba(244, 242, 255, .87) 0 1px, transparent 1.7px), radial-gradient(circle at 56% 12%, rgba(195, 225, 255, .92) 0 .8px, transparent 1.5px), radial-gradient(circle at 62% 49%, rgba(250, 251, 255, .94) 0 1px, transparent 1.8px), radial-gradient(circle at 69% 29%, rgba(178, 218, 255, .93) 0 .8px, transparent 1.6px), radial-gradient(circle at 74% 70%, rgba(246, 244, 255, .9) 0 1px, transparent 1.7px), radial-gradient(circle at 82% 17%, rgba(189, 228, 255, .96) 0 .8px, transparent 1.5px), radial-gradient(circle at 88% 53%, rgba(251, 251, 255, .91) 0 1px, transparent 1.8px), radial-gradient(circle at 94% 79%, rgba(184, 221, 255, .9) 0 .8px, transparent 1.6px), radial-gradient(circle at 16% 31%, rgba(255, 250, 244, .84) 0 .65px, transparent 1.4px), radial-gradient(circle at 53% 63%, rgba(219, 235, 255, .86) 0 .7px, transparent 1.5px), radial-gradient(circle at 77% 88%, rgba(251, 246, 255, .82) 0 .65px, transparent 1.4px), radial-gradient(circle at 31% 91%, rgba(190, 225, 255, .83) 0 .7px, transparent 1.5px); }
.hero__stars::after { left:14%; top:18%; width:94px; height:1px; background:linear-gradient(90deg, transparent 0%, rgba(164, 221, 255, .08) 24%, rgba(214, 245, 255, .72) 80%, rgba(255, 255, 255, .96) 100%); box-shadow:0 0 5px rgba(162, 219, 255, .55); transform:rotate(-24deg) translate3d(-115px, -42px, 0); animation:heroMeteor 10.8s cubic-bezier(.18, .72, .28, 1) -2.6s infinite; }
@keyframes heroStarBreath { 0%, 100% { opacity:.22; } 48% { opacity:.42; } }
@keyframes heroStarScatter { 0%, 100% { opacity:.36; transform:translate3d(-.25%, 0, 0); } 46% { opacity:.68; transform:translate3d(.3%, -.15%, 0); } }
@keyframes heroMeteor { 0%, 68% { opacity:0; transform:rotate(-24deg) translate3d(-115px, -42px, 0); } 68.3% { opacity:.78; } 74% { opacity:.1; transform:rotate(-24deg) translate3d(14vw, 6vh, 0); } 75%, 100% { opacity:0; transform:rotate(-24deg) translate3d(15vw, 6.5vh, 0); } }
@media (max-width: 900px) { .hero__stars::before { opacity:.46; }.hero__stars::after { width:72px; } }
/* Newsroom Earth: generated high-resolution terrain map animated as a rotating globe. */
.news-hero { isolation:isolate; background:radial-gradient(circle at 76% 38%, rgba(100, 180, 255, .22), transparent 25%), radial-gradient(circle at 82% 70%, rgba(83, 148, 255, .18), transparent 34%), #080d20; }
.news-hero::after { display:none; }
.news-earth { position:absolute; z-index:0; right:7%; top:16%; width:min(42vw, 570px); aspect-ratio:1; overflow:hidden; border:1px solid rgba(162, 229, 255, .54); border-radius:50%; background:#030817; box-shadow:0 0 0 12px rgba(97, 190, 255, .04), 0 0 0 52px rgba(103, 143, 255, .025), 0 0 70px rgba(82, 179, 255, .22), inset -32px -20px 58px rgba(0, 0, 0, .92); isolation:isolate; }
.news-earth__surface { position:absolute; z-index:0; inset:-1%; border-radius:inherit; background:url('assets/news-earth-terrain.png') 0 50% / auto 100% repeat-x; filter:saturate(1.05) contrast(1.1) brightness(.98); animation:newsEarthRotate 38s linear infinite; transform:scale(1.025); }
.news-earth::before { content:""; position:absolute; z-index:1; inset:-1px; border-radius:inherit; pointer-events:none; background:radial-gradient(circle at 29% 28%, rgba(210, 243, 255, .32), transparent 22%), radial-gradient(circle at 28% 33%, transparent 0 38%, rgba(2, 8, 24, .14) 54%, rgba(1, 4, 14, .82) 77%, rgba(0, 0, 0, .96) 100%); mix-blend-mode:multiply; }
.news-earth::after { content:""; position:absolute; z-index:2; inset:0; border:1px solid rgba(205, 246, 255, .5); border-radius:inherit; box-shadow:inset 12px 0 22px rgba(181, 238, 255, .14), 0 0 24px rgba(107, 210, 255, .24); pointer-events:none; }
@keyframes newsEarthRotate { from { background-position:0 50%; } to { background-position:100% 50%; } }
@media (max-width: 900px) { .news-earth { width:440px; right:-200px; top:18%; opacity:.9; } }
@media (max-width: 480px) { .news-earth { width:330px; right:-158px; top:23%; opacity:.74; } }
/* Interactive orbital network: draggable Earth with Starlink, satellite, and station traffic. */
.news-earth-system { position:absolute; z-index:0; right:7%; top:16%; width:min(42vw, 570px); aspect-ratio:1; pointer-events:none; }
.news-earth { position:relative; width:100%; aspect-ratio:1; overflow:hidden; border:1px solid rgba(162, 229, 255, .54); border-radius:50%; background:#030817; box-shadow:0 0 0 12px rgba(97, 190, 255, .04), 0 0 0 52px rgba(103, 143, 255, .025), 0 0 70px rgba(82, 179, 255, .22), inset -32px -20px 58px rgba(0, 0, 0, .92); isolation:isolate; pointer-events:auto; touch-action:none; cursor:grab; outline:none; }
.news-earth:focus-visible { box-shadow:0 0 0 3px rgba(155, 255, 0, .6), 0 0 0 14px rgba(97, 190, 255, .07), 0 0 70px rgba(82, 179, 255, .22), inset -32px -20px 58px rgba(0, 0, 0, .92); }
.news-earth.is-dragging { cursor:grabbing; }.news-earth.is-dragging .news-earth__hint { opacity:.9; }
.news-earth__surface { animation:none; background-position:var(--earth-longitude, 0%) 50%; will-change:background-position; }
.news-earth__hint { position:absolute; z-index:3; left:50%; bottom:10%; padding:5px 7px; transform:translateX(-50%); border:1px solid rgba(191, 233, 255, .28); color:rgba(225, 244, 255, .8); background:rgba(4, 11, 30, .46); font:8px var(--mono); letter-spacing:.1em; opacity:.58; white-space:nowrap; pointer-events:none; transition:opacity .2s; }
.news-earth__orbit { position:absolute; z-index:3; border:1px solid rgba(143, 214, 255, .26); border-radius:50%; pointer-events:none; }.news-earth__orbit--low { inset:-9%; animation:newsOrbitLow 15s linear infinite; }.news-earth__orbit--medium { inset:-19% -13%; border-color:rgba(154, 142, 255, .22); animation:newsOrbitMedium 23s linear infinite; }.news-earth__orbit--station { inset:-29% -6%; border-style:dashed; border-color:rgba(155, 255, 0, .19); animation:newsOrbitStation 34s linear infinite; }
.earth-satellite, .earth-station { position:absolute; left:50%; top:-4px; display:block; transform:translateX(-50%); pointer-events:none; }.earth-satellite { width:14px; height:4px; border:1px solid rgba(224, 247, 255, .86); border-radius:1px; background:linear-gradient(90deg, #73d8ff 0 34%, #eefbff 35% 65%, #73d8ff 66%); box-shadow:0 0 8px rgba(115, 216, 255, .7); }.earth-satellite::before { content:""; position:absolute; left:50%; top:50%; width:26px; height:2px; transform:translate(-50%, -50%); background:linear-gradient(90deg, rgba(83, 137, 255, .92) 0 37%, transparent 38% 62%, rgba(83, 137, 255, .92) 63%); }.earth-satellite::after { content:""; position:absolute; left:50%; top:50%; width:3px; height:7px; transform:translate(-50%, -50%); background:#e6fbff; box-shadow:0 0 5px #d9fbff; }.earth-satellite--starlink { width:11px; height:3px; }.earth-satellite--starlink::before { width:20px; height:2px; background:linear-gradient(90deg, rgba(110, 177, 255, .9) 0 42%, transparent 43% 57%, rgba(110, 177, 255, .9) 58%); }.earth-satellite--trailing { top:auto; bottom:-4px; transform:translateX(-50%) rotate(180deg); }.earth-satellite--comms { top:auto; right:-5px; left:auto; bottom:50%; transform:translateY(50%) rotate(90deg); border-color:rgba(211, 183, 255, .9); box-shadow:0 0 8px rgba(185, 139, 255, .68); }.earth-station { top:-7px; width:18px; height:4px; border:1px solid rgba(239, 255, 255, .9); background:#dff9ff; box-shadow:0 0 9px rgba(174, 241, 255, .72); }.earth-station::before { content:""; position:absolute; left:50%; top:50%; width:38px; height:3px; transform:translate(-50%, -50%); background:linear-gradient(90deg, rgba(110, 152, 255, .95) 0 42%, #efffff 43% 57%, rgba(110, 152, 255, .95) 58%); }.earth-station::after { content:""; position:absolute; left:50%; top:50%; width:3px; height:13px; transform:translate(-50%, -50%); background:#f2ffff; }
@keyframes newsOrbitLow { from { transform:rotate(-16deg); } to { transform:rotate(344deg); } }
@keyframes newsOrbitMedium { from { transform:rotate(38deg); } to { transform:rotate(-322deg); } }
@keyframes newsOrbitStation { from { transform:rotate(68deg) scaleY(.78); } to { transform:rotate(428deg) scaleY(.78); } }
@media (max-width: 900px) { .news-earth-system { width:440px; right:-200px; top:18%; }.news-earth__hint { font-size:7px; } }
@media (max-width: 480px) { .news-earth-system { width:330px; right:-158px; top:23%; }.news-earth__hint { display:none; } }

/* Corrected home meteor vector: it now enters from mid-left and exits toward the upper-right. */
.hero__stars::after { left:0; top:54%; transform:rotate(-22deg) translateX(-120px); animation:heroMeteor 10.8s cubic-bezier(.18, .72, .28, 1) -2.6s infinite; }
@keyframes heroMeteor { 0%, 68% { opacity:0; transform:rotate(-22deg) translateX(-120px); } 68.3% { opacity:.78; } 74% { opacity:.1; transform:rotate(-22deg) translateX(74vw); } 75%, 100% { opacity:0; transform:rotate(-22deg) translateX(77vw); } }
/* Careers Mars: generated high-resolution Martian terrain mapped into a rotating recruitment-world globe. */
.careers-page .career-hero { isolation:isolate; background:radial-gradient(circle at 75% 37%, rgba(236, 103, 63, .2), transparent 24%), radial-gradient(circle at 82% 70%, rgba(157, 63, 50, .14), transparent 34%), #080d20; }
.careers-page .career-hero::after { display:none; }
.careers-mars { position:absolute; z-index:0; right:7%; top:16%; width:min(42vw, 570px); aspect-ratio:1; overflow:hidden; border:1px solid rgba(255, 192, 143, .48); border-radius:50%; background:#180a08; box-shadow:0 0 0 12px rgba(255, 132, 89, .035), 0 0 0 52px rgba(255, 169, 108, .022), 0 0 72px rgba(231, 93, 57, .22), inset -32px -20px 58px rgba(8, 2, 2, .94); isolation:isolate; }
.careers-mars__surface { position:absolute; z-index:0; inset:-1%; border-radius:inherit; background:url('assets/careers-mars-terrain.png') 0 50% / auto 100% repeat-x; filter:saturate(1.06) contrast(1.14) brightness(.94); animation:careersMarsRotate 44s linear infinite; transform:scale(1.025); }
.careers-mars::before { content:""; position:absolute; z-index:1; inset:-1px; border-radius:inherit; pointer-events:none; background:radial-gradient(circle at 28% 27%, rgba(255, 218, 181, .24), transparent 23%), radial-gradient(circle at 28% 33%, transparent 0 38%, rgba(42, 9, 5, .16) 54%, rgba(12, 3, 3, .78) 77%, rgba(0, 0, 0, .96) 100%); mix-blend-mode:multiply; }
.careers-mars::after { content:""; position:absolute; z-index:2; inset:0; border:1px solid rgba(255, 213, 179, .44); border-radius:inherit; box-shadow:inset 12px 0 22px rgba(255, 202, 151, .12), 0 0 26px rgba(255, 125, 80, .22); pointer-events:none; }
@keyframes careersMarsRotate { from { background-position:0 50%; } to { background-position:100% 50%; } }
@media (max-width: 900px) { .careers-mars { width:440px; right:-200px; top:18%; opacity:.9; } }
@media (max-width: 480px) { .careers-mars { width:330px; right:-158px; top:23%; opacity:.74; } }
/* Deep-space atmosphere: a low-contrast drifting nebula layer kept beneath the interactive cosmos. */
.hero__deep-field { position:absolute; z-index:-2; inset:-18%; overflow:hidden; pointer-events:none; opacity:.31; mix-blend-mode:screen; background:radial-gradient(ellipse at 72% 42%, rgba(94, 162, 255, .22), rgba(67, 92, 207, .07) 25%, transparent 53%), radial-gradient(ellipse at 22% 89%, rgba(150, 82, 224, .18), transparent 47%), radial-gradient(ellipse at 88% 78%, rgba(64, 207, 229, .1), transparent 42%); filter:blur(16px) saturate(.78); animation:heroDeepField 34s cubic-bezier(.34, .12, .32, .94) infinite alternate; }
.hero__deep-field::before { content:""; position:absolute; inset:8%; opacity:.48; background-image:radial-gradient(circle at 18% 22%, rgba(226, 245, 255, .68) 0 .7px, transparent 1.5px), radial-gradient(circle at 66% 18%, rgba(162, 217, 255, .64) 0 .8px, transparent 1.6px), radial-gradient(circle at 83% 58%, rgba(233, 224, 255, .58) 0 .6px, transparent 1.4px), radial-gradient(circle at 37% 74%, rgba(175, 224, 255, .62) 0 .7px, transparent 1.5px), radial-gradient(circle at 58% 45%, rgba(235, 247, 255, .54) 0 .6px, transparent 1.4px); background-size:190px 160px, 240px 210px, 178px 196px, 260px 230px, 310px 270px; animation:heroDustDrift 46s linear infinite alternate; }
@keyframes heroDeepField { 0% { opacity:.22; transform:scale(1.02) translate3d(-1.2%, .8%, 0); } 52% { opacity:.38; } 100% { opacity:.27; transform:scale(1.1) translate3d(1.6%, -1.1%, 0); } }
@keyframes heroDustDrift { from { transform:translate3d(-1.5%, 1%, 0); } to { transform:translate3d(2.2%, -1.4%, 0); } }
@media (max-width: 900px) { .hero__deep-field { opacity:.23; filter:blur(14px) saturate(.72); } }
/* Earth day-night pass: synchronous city-light night hemisphere plus five additional satellite vehicles. */
.news-earth__surface { z-index:0; }
.news-earth__night { position:absolute; z-index:1; inset:-1%; border-radius:inherit; pointer-events:none; background:url('assets/news-earth-night-lights.png') var(--earth-longitude, 0%) 50% / auto 100% repeat-x; filter:saturate(.92) contrast(1.1) brightness(1.1); mix-blend-mode:screen; opacity:.88; -webkit-mask-image:linear-gradient(90deg, transparent 6%, rgba(0, 0, 0, .08) 29%, rgba(0, 0, 0, .68) 54%, #000 76%, #000 100%); mask-image:linear-gradient(90deg, transparent 6%, rgba(0, 0, 0, .08) 29%, rgba(0, 0, 0, .68) 54%, #000 76%, #000 100%); animation:newsEarthCityGlow 4.6s ease-in-out infinite alternate; will-change:background-position, opacity; }
.news-earth::before { z-index:2; }.news-earth::after { z-index:3; }.news-earth__hint { z-index:4; }
.earth-satellite--low-east { top:50%; right:-4px; left:auto; transform:translateY(-50%) rotate(90deg); }.earth-satellite--low-west { top:50%; left:-4px; transform:translateY(-50%) rotate(-90deg); }.earth-satellite--science { border-color:rgba(154, 255, 218, .92); background:linear-gradient(90deg, #6affd6 0 34%, #efffff 35% 65%, #6affd6 66%); box-shadow:0 0 8px rgba(106, 255, 214, .68); }.earth-satellite--science::before { background:linear-gradient(90deg, rgba(76, 215, 184, .9) 0 37%, transparent 38% 62%, rgba(76, 215, 184, .9) 63%); }.earth-satellite--relay { top:auto; bottom:-4px; transform:translateX(-50%) rotate(180deg); border-color:rgba(255, 214, 154, .9); box-shadow:0 0 8px rgba(255, 196, 111, .66); }.earth-satellite--probe { top:50%; left:-4px; transform:translateY(-50%) rotate(-90deg); width:10px; height:10px; border-radius:50%; background:#f1ffff; box-shadow:0 0 8px rgba(199, 241, 255, .8); }.earth-satellite--probe::before { width:23px; height:1px; background:linear-gradient(90deg, rgba(119, 176, 255, .9) 0 41%, transparent 42% 58%, rgba(119, 176, 255, .9) 59%); }.earth-satellite--probe::after { width:2px; height:2px; background:#fff; }
@keyframes newsEarthCityGlow { from { opacity:.68; } to { opacity:.94; } }
@media (max-width: 900px) { .news-earth__night { opacity:.78; } }
/* China-time Earth state plus intensified multi-meteor traffic and an enlarged solar system. */
.news-earth.is-china-day .news-earth__night { -webkit-mask-image:linear-gradient(90deg, transparent 6%, rgba(0, 0, 0, .08) 29%, rgba(0, 0, 0, .68) 54%, #000 76%, #000 100%); mask-image:linear-gradient(90deg, transparent 6%, rgba(0, 0, 0, .08) 29%, rgba(0, 0, 0, .68) 54%, #000 76%, #000 100%); animation:newsEarthCityGlow 4.6s ease-in-out infinite alternate; }
.news-earth.is-china-night .news-earth__night { -webkit-mask-image:none; mask-image:none; animation:newsEarthNightGlow 3.8s ease-in-out infinite alternate; }
.news-earth.is-china-night::before { background:radial-gradient(circle at 28% 27%, rgba(112, 155, 208, .12), transparent 24%), rgba(1, 5, 17, .74); mix-blend-mode:multiply; }
@keyframes newsEarthNightGlow { from { opacity:.84; } to { opacity:1; } }
.hero__stars::after { width:78px; left:0; top:54%; animation:heroMeteor 6.6s cubic-bezier(.16, .72, .25, 1) -1.8s infinite; }
.hero__meteors { position:absolute; z-index:-2; inset:0; overflow:hidden; pointer-events:none; mix-blend-mode:screen; }
.hero__meteors i { position:absolute; left:0; display:block; width:76px; height:1px; border-radius:999px; opacity:0; background:linear-gradient(90deg, transparent 0%, rgba(150, 221, 255, .08) 18%, rgba(202, 240, 255, .72) 78%, #fff 100%); box-shadow:0 0 5px rgba(156, 222, 255, .62); transform:rotate(-22deg) translateX(-124px); animation:heroMeteorDash 7.4s cubic-bezier(.15, .72, .24, 1) infinite; }
.hero__meteors i:nth-child(1) { top:35%; width:84px; animation-delay:-1.4s; }.hero__meteors i:nth-child(2) { top:55%; width:66px; animation-duration:8.6s; animation-delay:-4.6s; }.hero__meteors i:nth-child(3) { top:67%; width:72px; animation-duration:6.9s; animation-delay:-3.1s; }
@keyframes heroMeteor { 0%, 57% { opacity:0; transform:rotate(-22deg) translateX(-120px); } 57.4% { opacity:.88; } 66% { opacity:.08; transform:rotate(-22deg) translateX(92vw); } 67%, 100% { opacity:0; transform:rotate(-22deg) translateX(96vw); } }
@keyframes heroMeteorDash { 0%, 51% { opacity:0; transform:rotate(-22deg) translateX(-124px); } 51.4% { opacity:.72; } 61% { opacity:.06; transform:rotate(-22deg) translateX(103vw); } 62%, 100% { opacity:0; transform:rotate(-22deg) translateX(107vw); } }
@media (max-width: 900px) { .hero__meteors i { width:58px; }.hero__meteors i:nth-child(3) { display:none; } }
/* Permanent terminator pass: keep the textured night hemisphere and city lights visible at every local time. */
.news-earth__night, .news-earth.is-china-day .news-earth__night, .news-earth.is-china-night .news-earth__night { z-index:1; display:block; background-image:url('assets/news-earth-night-lights.png'); background-position:var(--earth-longitude, 0%) 50%; background-size:auto 100%; background-repeat:repeat-x; filter:saturate(1.04) contrast(1.22) brightness(1.42); mix-blend-mode:normal; opacity:1; -webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent 24%, rgba(0, 0, 0, .16) 39%, rgba(0, 0, 0, .82) 57%, #000 73%, #000 100%); mask-image:linear-gradient(90deg, transparent 0%, transparent 24%, rgba(0, 0, 0, .16) 39%, rgba(0, 0, 0, .82) 57%, #000 73%, #000 100%); animation:newsEarthVisibleNight 3.6s ease-in-out infinite alternate; }
.news-earth::before, .news-earth.is-china-night::before { z-index:2; background:radial-gradient(circle at 28% 27%, rgba(200, 235, 255, .2), transparent 23%), linear-gradient(90deg, transparent 0 36%, rgba(3, 10, 28, .06) 48%, rgba(2, 7, 21, .26) 67%, rgba(1, 4, 14, .6) 100%); mix-blend-mode:normal; }
@keyframes newsEarthVisibleNight { from { opacity:.86; } to { opacity:1; } }
@media (max-width: 900px) { .news-earth__night, .news-earth.is-china-day .news-earth__night, .news-earth.is-china-night .news-earth__night { opacity:.96; } }

/* Shortened hero copy: restore breathing room before the homepage actions. */
.hero__content > .hero__actions { margin-top:32px; }
@media (max-width: 900px) { .hero__content > .hero__actions { margin-top:27px; } }
@media (max-width: 480px) { .hero__content > .hero__actions { margin-top:22px; } }

/* Layered hero starlight: dense far field plus restrained near-field parallax. */
.hero__far-stars { position:absolute; z-index:-2; inset:-10%; pointer-events:none; opacity:.56; mix-blend-mode:screen; background-image:radial-gradient(circle, rgba(220,240,255,.78) 0 .48px, transparent .9px), radial-gradient(circle, rgba(150,205,255,.72) 0 .42px, transparent .8px), radial-gradient(circle, rgba(244,233,255,.65) 0 .5px, transparent .95px), radial-gradient(circle, rgba(196,228,255,.56) 0 .36px, transparent .78px); background-size:96px 111px, 147px 133px, 188px 171px, 73px 89px; background-position:13px 17px, 42px 61px, 84px 28px, 18px 46px; animation:heroFarStarDrift 48s linear infinite alternate; }
.hero__near-stars { position:absolute; z-index:-1; inset:-8%; pointer-events:none; opacity:.44; mix-blend-mode:screen; background-image:radial-gradient(circle, rgba(241,250,255,.92) 0 1.15px, rgba(187,225,255,.34) 1.5px, transparent 3.1px), radial-gradient(circle, rgba(191,223,255,.86) 0 .82px, transparent 2px), radial-gradient(circle, rgba(251,241,255,.76) 0 1px, transparent 2.6px), radial-gradient(circle, rgba(134,208,255,.68) 0 .76px, transparent 2.2px); background-size:238px 197px, 317px 283px, 426px 347px, 277px 391px; background-position:26px 33px, 118px 79px, 63px 152px, 191px 39px; filter:drop-shadow(0 0 3px rgba(167,222,255,.22)); animation:heroNearStarDrift 27s ease-in-out infinite alternate; }
.hero__near-stars::after { content:""; position:absolute; inset:0; background-image:radial-gradient(circle at 18% 26%, rgba(255,255,255,.95) 0 1.35px, transparent 3px), radial-gradient(circle at 76% 18%, rgba(193,228,255,.88) 0 1.2px, transparent 3.2px), radial-gradient(circle at 88% 72%, rgba(245,239,255,.74) 0 1.1px, transparent 2.9px), radial-gradient(circle at 43% 83%, rgba(173,220,255,.78) 0 1px, transparent 2.7px); opacity:.58; animation:heroNearStarPulse 7.4s ease-in-out infinite alternate; }
@keyframes heroFarStarDrift { from { transform:translate3d(-1.2%, .8%, 0); } to { transform:translate3d(1.6%, -1.1%, 0); } }
@keyframes heroNearStarDrift { from { transform:translate3d(-.7%, .55%, 0); } to { transform:translate3d(.8%, -.65%, 0); } }
@keyframes heroNearStarPulse { from { opacity:.34; } to { opacity:.76; } }
@media (max-width: 900px) { .hero__far-stars { opacity:.4; }.hero__near-stars { opacity:.31; } }
/* Careers Mars orbital network: five branded satellites around the rotating planet. */
.careers-mars-system { position:absolute; z-index:0; right:7%; top:16%; width:min(42vw, 570px); aspect-ratio:1; pointer-events:none; }
.careers-mars-system .careers-mars { position:relative; inset:auto; right:auto; top:auto; width:100%; height:100%; }
.careers-mars__orbit { position:absolute; left:50%; top:50%; width:100%; height:100%; border:1px solid rgba(255, 193, 143, .26); border-radius:50%; transform-origin:center; }
.careers-mars__orbit--one { width:120%; height:120%; animation:careersMarsOrbitOne 16s linear infinite; }
.careers-mars__orbit--two { width:122%; height:138%; border-color:rgba(255, 168, 124, .2); animation:careersMarsOrbitTwo 22s linear infinite; }
.careers-mars__orbit--three { width:138%; height:154%; border-style:dashed; border-color:rgba(255, 206, 161, .17); animation:careersMarsOrbitThree 29s linear infinite; }
.careers-mars__orbit--four { width:154%; height:128%; border-color:rgba(238, 157, 118, .18); animation:careersMarsOrbitFour 25s linear infinite; }
.careers-mars__orbit--five { width:112%; height:166%; border-style:dashed; border-color:rgba(255, 215, 178, .14); animation:careersMarsOrbitFive 35s linear infinite; }
.mars-satellite { position:absolute; left:50%; top:-6px; display:block; width:14px; height:4px; border:1px solid rgba(255, 240, 226, .92); border-radius:1px; background:linear-gradient(90deg, #ff8d63 0 34%, #fff3df 35% 65%, #ff8d63 66%); box-shadow:0 0 8px rgba(255, 145, 94, .72); transform:translateX(-50%) scaleY(1.34); }
.mars-satellite::before { content:""; position:absolute; left:50%; top:50%; width:27px; height:2px; transform:translate(-50%, -50%); background:linear-gradient(90deg, rgba(242, 111, 76, .95) 0 37%, transparent 38% 62%, rgba(242, 111, 76, .95) 63%); }
.mars-satellite i { position:absolute; left:50%; top:50%; width:3px; height:8px; transform:translate(-50%, -50%); background:#fff7e8; box-shadow:0 0 5px #ffe2be; }
.mars-satellite b { position:absolute; left:50%; top:8px; transform:translateX(-50%); color:rgba(255, 227, 203, .92); font:600 6px/1 var(--mono); letter-spacing:.08em; white-space:nowrap; text-shadow:0 1px 3px rgba(33, 5, 1, .86); }
.mars-satellite--two { top:auto; right:-6px; bottom:50%; left:auto; transform:translateY(50%) rotate(90deg) scaleY(1.34); }.mars-satellite--two b { transform:translateX(-50%) rotate(-90deg); }
.mars-satellite--three { top:auto; bottom:-6px; transform:translateX(-50%) rotate(180deg) scaleY(1.34); }.mars-satellite--three b { transform:translateX(-50%) rotate(180deg); }
.mars-satellite--four { top:50%; left:-6px; transform:translateY(-50%) rotate(-90deg) scaleY(1.34); }.mars-satellite--four b { transform:translateX(-50%) rotate(90deg); }
.mars-satellite--five { top:18%; left:87%; transform:translateX(-50%) rotate(28deg) scaleY(1.34); }.mars-satellite--five b { transform:translateX(-50%) rotate(-28deg); }
@keyframes careersMarsOrbitOne { from { transform:translate(-50%, -50%) rotate(-14deg) scaleY(.72); } to { transform:translate(-50%, -50%) rotate(346deg) scaleY(.72); } }
@keyframes careersMarsOrbitTwo { from { transform:translate(-50%, -50%) rotate(52deg) scaleY(.75); } to { transform:translate(-50%, -50%) rotate(-308deg) scaleY(.75); } }
@keyframes careersMarsOrbitThree { from { transform:translate(-50%, -50%) rotate(8deg) scaleY(.64); } to { transform:translate(-50%, -50%) rotate(368deg) scaleY(.64); } }
@keyframes careersMarsOrbitFour { from { transform:translate(-50%, -50%) rotate(104deg) scaleY(.78); } to { transform:translate(-50%, -50%) rotate(-256deg) scaleY(.78); } }
@keyframes careersMarsOrbitFive { from { transform:translate(-50%, -50%) rotate(-41deg) scaleY(.67); } to { transform:translate(-50%, -50%) rotate(319deg) scaleY(.67); } }
@media (max-width: 900px) { .careers-mars-system { width:440px; right:-200px; top:18%; }.mars-satellite b { font-size:5px; } }
@media (max-width: 480px) { .careers-mars-system { width:330px; right:-158px; top:23%; }.careers-mars__orbit--three, .careers-mars__orbit--five { opacity:.72; }.mars-satellite b { display:none; } }
/* News Earth responsive framing: preserve the interactive globe while showing the entire system on every screen. */
@media (max-width: 900px) and (min-width: 601px) {
  .news-earth-system { width:min(48vw, 390px); right:clamp(24px, 5vw, 48px); top:18%; }
}
@media (max-width: 600px) {
  .news-hero { min-height:650px; }
  .news-earth-system { width:min(74vw, 300px); right:50%; top:10%; transform:translateX(50%); opacity:.76; }
  .news-earth__hint { display:none; }
}
@media (max-width: 390px) {
  .news-earth-system { width:min(72vw, 278px); top:11%; }
}
/* APEXFLASH astronaut mascot: a subtle free-flight exploration layer inside the home star map. */
.hero__content, .hero__status, .scroll-cue { z-index:1; }
.hero__mascot-flight { position:absolute; z-index:0; left:68%; top:16%; width:clamp(104px, 12.2vw, 188px); pointer-events:none; transform-origin:center; filter:drop-shadow(0 0 14px rgba(107, 214, 255, .32)); animation:mascotExplore 29s cubic-bezier(.42, .05, .3, 1) infinite; }
.hero__mascot-flight::before { content:""; position:absolute; z-index:-1; left:-22%; bottom:22%; width:54%; height:18%; border-radius:50%; opacity:.48; background:linear-gradient(90deg, transparent 0%, rgba(84, 178, 255, .12) 26%, rgba(107, 239, 255, .66) 72%, rgba(237, 255, 255, .92) 100%); filter:blur(2px); transform:rotate(-26deg); transform-origin:right center; animation:mascotThruster 1.35s ease-in-out infinite alternate; }
.hero__mascot-flight::after { content:""; position:absolute; z-index:-2; left:-40%; top:48%; width:53%; height:1px; opacity:.34; background:linear-gradient(90deg, transparent, rgba(105, 214, 255, .75)); box-shadow:0 0 8px rgba(103, 214, 255, .5); transform:rotate(-25deg); }
.hero__mascot-flight img { display:block; width:100%; height:auto; transform-origin:50% 56%; animation:mascotFloat 4.8s ease-in-out infinite alternate; }
@keyframes mascotExplore {
  0%, 100% { left:67%; top:17%; transform:rotate(-8deg) scale(.88); }
  18% { left:79%; top:23%; transform:rotate(8deg) scale(.97); }
  41% { left:72%; top:45%; transform:rotate(18deg) scale(1); }
  62% { left:54%; top:54%; transform:rotate(-14deg) scale(.9); }
  81% { left:59%; top:28%; transform:rotate(-20deg) scale(.94); }
}
@keyframes mascotFloat { from { transform:translate3d(0, -4px, 0) rotate(-1.2deg); } to { transform:translate3d(0, 5px, 0) rotate(1.7deg); } }
@keyframes mascotThruster { from { opacity:.3; transform:rotate(-26deg) scaleX(.72); } to { opacity:.62; transform:rotate(-26deg) scaleX(1.08); } }
@media (max-width: 900px) {
  .hero__mascot-flight { width:clamp(72px, 20vw, 122px); animation-name:mascotExploreMobile; filter:drop-shadow(0 0 10px rgba(107, 214, 255, .28)); }
  .hero__mascot-flight::after { opacity:.24; }
}
@keyframes mascotExploreMobile {
  0%, 100% { left:67%; top:18%; transform:rotate(-9deg) scale(.84); }
  24% { left:74%; top:31%; transform:rotate(10deg) scale(.94); }
  52% { left:59%; top:49%; transform:rotate(16deg) scale(.9); }
  78% { left:50%; top:31%; transform:rotate(-16deg) scale(.82); }
}
@media (max-width: 480px) { .hero__mascot-flight { width:76px; opacity:.82; } }
@media (prefers-reduced-motion: reduce) { .hero__mascot-flight, .hero__mascot-flight img, .hero__mascot-flight::before { animation:none; } }

/* APEXFLASH mascot: a local Spine 4.2 skeleton drives each isolated body part. */
.hero__mascot-flight { width:clamp(80px, 9.8vw, 148px); opacity:0; animation:mascotVoyage 28s cubic-bezier(.42, .05, .3, 1) infinite; }
.apex-spine-player { position:relative; width:100%; aspect-ratio:1108 / 1420; animation:mascotRigFloat 3.8s ease-in-out infinite alternate; }
.apex-spine-slot { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; margin:0; object-fit:contain; pointer-events:none; animation:none !important; will-change:transform; }
@keyframes mascotVoyage {
  0%, 5% { left:-18%; top:-3%; opacity:0; transform:rotate(34deg) scale(.62); }
  9% { left:-8%; top:3%; opacity:.76; transform:rotate(32deg) scale(.70); }
  28% { left:31%; top:5%; opacity:.88; transform:rotate(30deg) scale(.80); }
  43% { left:67%; top:4%; opacity:.9; transform:rotate(30deg) scale(.86); }
  49%, 67% { left:76%; top:4%; opacity:.92; transform:rotate(30deg) scale(.86); }
  77% { left:94%; top:4%; opacity:.62; transform:rotate(28deg) scale(.72); }
  85%, 100% { left:108%; top:4%; opacity:0; transform:rotate(26deg) scale(.54); }
}
@keyframes mascotVoyageMobile {
  0%, 5% { left:-29%; top:1%; opacity:0; transform:rotate(33deg) scale(.60); }
  10% { left:-10%; top:5%; opacity:.72; transform:rotate(31deg) scale(.68); }
  31% { left:28%; top:7%; opacity:.82; transform:rotate(29deg) scale(.78); }
  45% { left:61%; top:6%; opacity:.86; transform:rotate(30deg) scale(.80); }
  51%, 69% { left:70%; top:6%; opacity:.88; transform:rotate(30deg) scale(.80); }
  80% { left:96%; top:6%; opacity:.48; transform:rotate(27deg) scale(.64); }
  88%, 100% { left:112%; top:6%; opacity:0; transform:rotate(25deg) scale(.46); }
}@keyframes mascotRigFloat { from { transform:translate3d(0, -3px, 0); } to { transform:translate3d(0, 4px, 0); } }
@media (max-width: 900px) { .hero__mascot-flight { width:clamp(58px, 15vw, 88px); animation-name:mascotVoyageMobile; animation-duration:28s; } }
@media (max-width: 480px) { .hero__mascot-flight { width:58px; } }
@media (prefers-reduced-motion: reduce) { .hero__mascot-flight, .apex-spine-player, .apex-spine-slot { animation:none !important; } .hero__mascot-flight { opacity:.78; left:64%; top:19%; transform:rotate(30deg) scale(.76); } }
/* Atlas renderer: every bone displays a unique cut PNG region from the packed Spine atlas. */
.apex-spine-part { position:absolute; overflow:hidden; pointer-events:none; will-change:transform; }
.hero__mascot-flight .apex-spine-atlas { position:absolute; display:block; max-width:none; margin:0; pointer-events:none; animation:none !important; transform:none !important; }
/* Correct the blue foot-light: it now sits upright under the mascot rather than cutting across the body. */
.hero__mascot-flight::before { left:22.5%; bottom:-16%; width:16%; height:29%; border-radius:50% 50% 64% 64%; opacity:.34; background:linear-gradient(180deg, rgba(239,255,255,.84) 0%, rgba(104,238,255,.66) 22%, rgba(75,162,255,.20) 64%, transparent 100%); filter:blur(2.2px); transform:rotate(12deg); transform-origin:30% 0%; animation:mascotThruster 1.1s ease-in-out infinite alternate; }
.hero__mascot-flight::after { left:27.3%; top:87%; width:1px; height:22%; opacity:.17; background:linear-gradient(180deg, rgba(200,250,255,.72), transparent); box-shadow:0 0 8px rgba(103,214,255,.42); transform:rotate(12deg); transform-origin:top; }
@keyframes mascotThruster { from { opacity:.22; transform:rotate(12deg) scaleY(.74) scaleX(.84); } to { opacity:.44; transform:rotate(12deg) scaleY(1.12) scaleX(1.05); } }
/* Site-wide language switch */
.lang-switch { display:flex; align-items:center; gap:2px; margin-left:clamp(12px, 1.3vw, 22px); padding:3px; border:1px solid rgba(178, 221, 255, .25); border-radius:999px; background:rgba(7, 14, 31, .52); }
.lang-switch button { min-width:34px; height:24px; padding:0 7px; border:0; border-radius:999px; color:rgba(219,235,255,.64); background:transparent; font:600 10px var(--mono); letter-spacing:.04em; cursor:pointer; transition:color .2s, background .2s, box-shadow .2s; }
.lang-switch button:hover, .lang-switch button.is-active { color:#06111d; background:var(--electric); box-shadow:0 0 14px rgba(155,255,0,.32); }
html[lang="en"] .hero h1, html[lang="en"] .section-heading h2, html[lang="en"] .career-hero h1 { letter-spacing:-.065em; }
@media (max-width:900px) { .lang-switch { margin-left:10px; margin-right:8px; } .lang-switch button { min-width:32px; height:23px; padding:0 6px; } }

/* Game Center — focused product library and live-title presentation. */
.games-page { min-width:320px; background:#050918; color:#f4f7ff; }
.game-page-header { background:linear-gradient(180deg, rgba(4,8,22,.82), rgba(4,8,22,0)); }
.game-page-header.scrolled { background:rgba(5,9,22,.84); }
.game-hub { overflow:hidden; background:radial-gradient(circle at 76% 20%, rgba(102,103,255,.16), transparent 25%), #050918; }
.game-hub-hero { position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:min(790px,87svh); overflow:hidden; padding:clamp(145px,20vh,208px) 0 clamp(88px,12vh,132px); background:linear-gradient(90deg,rgba(3,8,22,.96) 0%,rgba(4,8,23,.8) 34%,rgba(4,9,27,.3) 72%,rgba(5,9,22,.72) 100%),linear-gradient(0deg,#050918 0%,transparent 38%),url('assets/games/happy-landlord/ddzbg.jpg') center/cover no-repeat; }
.game-hub-hero::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.65; background:radial-gradient(circle at 68% 43%,rgba(253,135,220,.22),transparent 18%),radial-gradient(circle at 77% 62%,rgba(94,219,255,.16),transparent 28%); }
.game-hub-hero__mist { position:absolute; z-index:-1; left:-12%; bottom:-37%; width:76vw; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(101,95,255,.19),rgba(73,167,255,.08) 39%,transparent 69%); filter:blur(8px); animation:gameMist 14s ease-in-out infinite alternate; }
.game-hub-hero__content { width:100%; }.game-hub-hero .eyebrow { color:#c5d5ff; }.game-hub-hero__serial { margin:0 0 20px; color:rgba(143,226,255,.73); font:10px var(--mono); letter-spacing:.16em; }
.game-hub-hero h1 { max-width:720px; margin:0; font:700 clamp(58px,8.7vw,136px)/.89 var(--display); letter-spacing:-.095em; }.game-hub-hero h1 em { color:transparent; font-style:normal; -webkit-text-stroke:1px rgba(239,248,255,.9); }.game-hub-hero__content>p:not(.eyebrow):not(.game-hub-hero__serial) { max-width:490px; margin:29px 0 32px; color:#c6d1e9; font-size:15px; line-height:1.95; }
.game-hub-hero__signal { position:absolute; right:max(5vw,44px); bottom:58px; display:flex; align-items:end; gap:5px; height:45px; opacity:.55; }.game-hub-hero__signal i { width:2px; background:linear-gradient(#dff8ff,#8d86ff); box-shadow:0 0 12px #9ddfff; animation:gameSignal 1.7s ease-in-out infinite alternate; }.game-hub-hero__signal i:nth-child(1){height:15px}.game-hub-hero__signal i:nth-child(2){height:37px;animation-delay:.24s}.game-hub-hero__signal i:nth-child(3){height:24px;animation-delay:.48s}
.game-library { background:linear-gradient(155deg,#090f28,#060916 64%,#0e0d24); }.game-library::before { content:""; position:absolute; inset:0; opacity:.38; pointer-events:none; background-image:linear-gradient(rgba(129,181,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(129,181,255,.09) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(to bottom,black,transparent 80%); }
.game-library__head { position:relative; display:flex; justify-content:space-between; align-items:end; gap:48px; }.game-library__head h2 { max-width:760px; margin:0; font:700 clamp(40px,5.2vw,72px)/1.05 var(--display); letter-spacing:-.07em; }.game-library__head>p { max-width:310px; margin:0 0 8px; color:#aab9d7; font-size:14px; line-height:1.9; }
.game-filter { position:relative; display:flex; flex-wrap:wrap; gap:9px; margin:57px 0 22px; padding-bottom:18px; border-bottom:1px solid rgba(166,204,255,.2); }.game-filter button { min-width:152px; padding:13px 15px; border:1px solid rgba(161,205,255,.24); background:rgba(15,30,66,.36); color:#9dafd2; cursor:pointer; font:11px var(--mono); letter-spacing:.04em; text-align:left; transition:.25s; }.game-filter button b { float:right; color:rgba(192,208,255,.55); font-weight:500; }.game-filter button:hover,.game-filter button.is-active { border-color:rgba(162,235,255,.82); background:linear-gradient(115deg,rgba(52,104,196,.54),rgba(89,63,177,.33)); color:#fff; box-shadow:inset 0 0 26px rgba(119,225,255,.08); }.game-filter button.is-active b { color:#b9ff62; }
.game-library__grid { position:relative; display:grid; grid-template-columns:minmax(0,1fr); }.game-hub-card { position:relative; display:flex; align-items:flex-end; min-height:clamp(490px,44vw,650px); overflow:hidden; isolation:isolate; border:1px solid rgba(173,211,255,.29); background:#141934; box-shadow:0 28px 72px rgba(0,0,0,.24); }.game-hub-card[hidden]{display:none}.game-hub-card__art { position:absolute; z-index:-4; inset:0; background:url('assets/games/happy-landlord/221165220-1c5f56bb827f13900467cf4898b4f8687b56c0c55ebd1f3e3dbbdc010d71d387.png') center/cover no-repeat; transition:transform .8s cubic-bezier(.2,.7,.2,1); }.game-hub-card:hover .game-hub-card__art{transform:scale(1.045)}.game-hub-card__veil { position:absolute; z-index:-3; inset:0; background:linear-gradient(90deg,rgba(5,10,30,.97) 0%,rgba(7,13,34,.78) 39%,rgba(8,15,38,.1) 72%),linear-gradient(0deg,rgba(4,7,21,.93),transparent 58%); }.game-hub-card__role { position:absolute; z-index:-2; right:7%; bottom:-5%; width:clamp(115px,16vw,245px); filter:drop-shadow(0 12px 20px rgba(0,0,0,.35)); transform:rotate(5deg); transition:transform .55s ease; }.game-hub-card:hover .game-hub-card__role{transform:translateY(-8px) rotate(4deg)}
.game-hub-card__content { max-width:620px; padding:clamp(30px,5vw,75px); }.game-hub-card__type,.home-game-feature__content>p:first-child { margin:0 0 18px; color:#a9efff; font:10px var(--mono); letter-spacing:.13em; }.game-hub-card h3 { margin:0 0 17px; font:700 clamp(43px,5.8vw,84px)/.9 var(--display); letter-spacing:-.09em; }.game-hub-card h3 em,.home-game-feature h3 em { color:#c8ff67; font-style:normal; }.game-hub-card__content>p:not(.game-hub-card__type) { max-width:440px; margin:0; color:#c2cee7; font-size:14px; line-height:1.95; }.game-hub-card__actions,.home-game-feature__actions,.game-detail-hero__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:29px; }.button--ghost { border-color:rgba(179,221,255,.36); background:rgba(12,22,49,.32); color:#e6f5ff; }.button--ghost:hover { border-color:#b9ff62; background:rgba(159,255,0,.12); color:#fff; }.game-hub-card__badge { position:absolute; right:27px; top:24px; margin:0; color:rgba(230,241,255,.75); font:10px var(--mono); letter-spacing:.14em; }.home-game-feature { position:relative; display:flex; align-items:flex-end; min-height:clamp(465px,42vw,590px); margin-top:64px; overflow:hidden; isolation:isolate; border:1px solid rgba(168,211,255,.28); background:#0d1734; }.home-game-feature__art { position:absolute; z-index:-3; inset:0; background:url('assets/games/happy-landlord/221165220-1c5f56bb827f13900467cf4898b4f8687b56c0c55ebd1f3e3dbbdc010d71d387.png') center/cover no-repeat; transition:transform .8s ease; }.home-game-feature:hover .home-game-feature__art{transform:scale(1.04)}.home-game-feature__veil { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(7,12,34,.96) 0%,rgba(9,15,42,.77) 41%,rgba(8,13,35,.12) 74%),linear-gradient(0deg,rgba(5,8,22,.82),transparent 63%); }.home-game-feature__role { position:absolute; z-index:-1; right:8%; bottom:-8%; width:clamp(105px,16vw,226px); filter:drop-shadow(0 11px 20px rgba(0,0,0,.32)); transition:transform .55s ease; }.home-game-feature:hover .home-game-feature__role{transform:translateY(-7px) rotate(3deg)}.home-game-feature__content { padding:clamp(31px,5vw,72px); max-width:590px; }.home-game-feature h3 { margin:0 0 17px; font:700 clamp(43px,5.7vw,79px)/.9 var(--display); letter-spacing:-.09em; }.home-game-feature__content>p:not(:first-child) { margin:0; color:#c3cee5; font-size:14px; line-height:1.95; }.home-game-feature__all { position:absolute; right:28px; bottom:27px; color:#b9ff62; font:11px var(--mono); letter-spacing:.04em; }.home-game-feature__all span { padding-left:6px; font-size:15px; }.home-game-feature__all:hover { color:#fff; }
.game-detail-page { background:#050817; }.game-detail-hero { position:relative; display:flex; align-items:center; min-height:min(820px,90svh); overflow:hidden; isolation:isolate; padding:130px 0 78px; background:linear-gradient(90deg,rgba(4,7,23,.98) 0%,rgba(6,10,29,.85) 35%,rgba(5,9,28,.27) 73%,rgba(5,9,23,.79) 100%),linear-gradient(0deg,#060916,transparent 42%),url('assets/games/happy-landlord/ddzbg.jpg') center/cover no-repeat; }.game-detail-hero::before { content:""; position:absolute; z-index:-3; inset:0; opacity:.68; background:radial-gradient(circle at 66% 42%,rgba(255,135,223,.26),transparent 16%),radial-gradient(circle at 75% 68%,rgba(77,222,255,.13),transparent 30%); }.game-detail-hero__glow { position:absolute; z-index:-2; right:16%; top:11%; width:33vw; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(243,150,255,.25),rgba(86,126,255,.1) 42%,transparent 70%); filter:blur(3px); animation:gameMist 11s ease-in-out infinite alternate; }.game-detail-hero__content { width:100%; }.game-breadcrumb { display:inline-flex; gap:11px; margin-bottom:31px; color:#b7c7ea; font:10px var(--mono); letter-spacing:.1em; }.game-breadcrumb span { color:#b9ff62; }.game-detail-hero h1 { max-width:780px; margin:0; font:700 clamp(60px,8.7vw,134px)/.87 var(--display); letter-spacing:-.1em; }.game-detail-hero h1 em { color:transparent; font-style:normal; -webkit-text-stroke:1px rgba(242,247,255,.93); }.game-detail-hero__content>p:not(.eyebrow) { max-width:505px; margin:27px 0 0; color:#c4cfe8; font-size:15px; line-height:1.95; }.game-detail-hero__tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:24px; }.game-detail-hero__tags span { padding:7px 9px; border:1px solid rgba(185,219,255,.29); background:rgba(7,17,44,.34); color:#d8e8ff; font:10px var(--mono); letter-spacing:.04em; }.game-detail-hero__character { position:absolute; z-index:-1; object-fit:contain; pointer-events:none; filter:drop-shadow(0 16px 30px rgba(0,0,0,.36)); }.game-detail-hero__character--female { right:12%; bottom:-5%; width:clamp(150px,22vw,350px); transform:rotate(5deg); }.game-detail-hero__character--male { right:31%; bottom:-7%; width:clamp(90px,12vw,190px); opacity:.86; transform:rotate(-9deg); }.game-detail-hero__version { position:absolute; right:max(5vw,40px); bottom:42px; display:grid; gap:6px; text-align:right; color:rgba(230,241,255,.61); font:9px var(--mono); letter-spacing:.13em; }.game-detail-hero__version b { color:#b9ff62; font-weight:500; }
.game-detail-intro { background:linear-gradient(132deg,#090f2b,#070917 58%,#130e27); }.game-detail-intro__grid { display:grid; grid-template-columns:minmax(280px,.92fr) minmax(0,1.08fr); align-items:center; gap:clamp(42px,8vw,130px); }.game-detail-intro__shot { min-height:470px; overflow:hidden; border:1px solid rgba(178,213,255,.29); background:linear-gradient(0deg,rgba(6,9,25,.25),rgba(6,9,25,.04)),url('assets/games/happy-landlord/bg.jpg') center/cover no-repeat; box-shadow:inset 0 0 0 14px rgba(183,220,255,.04),0 24px 80px rgba(0,0,0,.22); }.game-detail-intro__copy h2 { margin:0; font:700 clamp(39px,5vw,70px)/1.04 var(--display); letter-spacing:-.07em; }.game-detail-intro__copy>p:not(.eyebrow) { max-width:540px; margin:28px 0 33px; color:#b8c7e2; font-size:14px; line-height:2; }.game-detail-features { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.game-detail-features article { min-height:166px; padding:18px; border:1px solid rgba(168,210,255,.2); background:rgba(16,29,64,.38); }.game-detail-features b { color:#b9ff62; font:10px var(--mono); }.game-detail-features h3 { margin:21px 0 9px; font:600 16px var(--display); }.game-detail-features p { margin:0; color:#9cadcc; font-size:11px; line-height:1.75; }
@keyframes gameMist { from{transform:translate3d(-1%,-2%,0) scale(.96)} to{transform:translate3d(2%,2%,0) scale(1.08)} }@keyframes gameSignal { from{transform:scaleY(.55);opacity:.3} to{transform:scaleY(1);opacity:1} }
@media (max-width:900px){.game-hub-hero{min-height:680px}.game-library__head{display:block}.game-library__head>p{margin-top:26px}.game-hub-card{min-height:540px}.game-detail-hero{min-height:740px}.game-detail-hero__character--female{right:4%;opacity:.78}.game-detail-hero__character--male{right:26%;opacity:.58}.game-detail-intro__grid{grid-template-columns:1fr}.game-detail-intro__shot{min-height:390px}.game-detail-intro__copy{max-width:680px}.game-detail-hero__version{display:none}}
@media (max-width:600px){.game-hub-hero{min-height:650px;padding-top:139px;background-position:64% center}.game-hub-hero h1,.game-detail-hero h1{font-size:clamp(55px,16vw,78px)}.game-hub-hero__signal{right:22px;bottom:30px}.game-filter{margin-top:37px}.game-filter button{min-width:calc(50% - 5px);font-size:9px}.game-hub-card,.home-game-feature{min-height:590px;align-items:flex-end}.game-hub-card__veil,.home-game-feature__veil{background:linear-gradient(0deg,rgba(5,9,27,.98) 6%,rgba(5,10,29,.65) 57%,rgba(6,10,29,.18)),linear-gradient(90deg,rgba(5,10,29,.42),transparent)}.game-hub-card__role{right:5%;top:7%;bottom:auto;width:154px;opacity:.86}.home-game-feature__role{right:5%;top:5%;bottom:auto;width:145px;opacity:.85}.game-hub-card__content,.home-game-feature__content{padding:28px 24px}.game-hub-card h3,.home-game-feature h3{font-size:51px}.game-hub-card__badge{right:20px;top:18px}.home-game-feature__all{right:24px;bottom:21px}.game-detail-hero{align-items:flex-end;min-height:735px;padding-bottom:61px;background-position:62% center}.game-detail-hero__character--female{right:-1%;top:84px;bottom:auto;width:205px;opacity:.63}.game-detail-hero__character--male{display:none}.game-detail-hero__content{position:relative;z-index:2}.game-breadcrumb{margin-bottom:26px}.game-detail-hero__content>p:not(.eyebrow){font-size:13px}.game-detail-intro__shot{min-height:310px}.game-detail-features{grid-template-columns:1fr}.game-detail-features article{min-height:0}.game-detail-intro__copy>p:not(.eyebrow){font-size:13px}}
/* Happy Landlord gameplay gallery. */
.game-detail-intro__shot { position:relative; min-height:0; aspect-ratio:16 / 10; overflow:hidden; padding:0; background:#091126; }
.game-gallery { position:absolute; inset:0; overflow:hidden; background:#081022; }
.game-gallery::before { content:""; position:absolute; z-index:3; inset:0; pointer-events:none; border:1px solid rgba(200,231,255,.32); box-shadow:inset 0 0 0 12px rgba(209,232,255,.055), inset 0 -64px 70px rgba(4,8,24,.42); }
.game-gallery__slide { position:absolute; inset:0; display:block; margin:0; opacity:0; transform:scale(1.035); transition:opacity .7s ease, transform 5.2s ease; }.game-gallery__slide.is-active { opacity:1; transform:scale(1); }.game-gallery__slide img { display:block; width:100%; height:100%; object-fit:cover; }
.game-gallery__controls { position:absolute; z-index:5; right:18px; bottom:18px; display:flex; align-items:center; gap:7px; padding:8px 9px; border:1px solid rgba(199,225,255,.26); background:rgba(4,10,27,.5); backdrop-filter:blur(8px); }.game-gallery__controls button { width:17px; height:3px; padding:0; border:0; background:rgba(233,245,255,.35); cursor:pointer; transition:width .24s, background .24s; }.game-gallery__controls button.is-active { width:29px; background:#b9ff62; }
@media (max-width:900px){.game-detail-intro__shot{min-height:0;aspect-ratio:16 / 9}}
@media (max-width:600px){.game-detail-intro__shot{min-height:0;aspect-ratio:16 / 10}.game-gallery__controls{right:12px;bottom:12px;gap:5px;padding:7px}.game-gallery__controls button{width:13px}.game-gallery__controls button.is-active{width:22px}}
/* West Lake atmosphere for the Game Center hero: subtle CSS motion over the generated landscape. */
.game-hub-hero { background:linear-gradient(90deg,rgba(3,11,24,.93) 0%,rgba(6,18,35,.72) 32%,rgba(9,28,48,.2) 70%,rgba(4,13,27,.54) 100%),linear-gradient(0deg,rgba(4,12,27,.82) 0%,transparent 40%),url('assets/games/west-lake-game-center-v1.png') center/cover no-repeat; }
.game-hub-hero::before { opacity:.72; background:radial-gradient(circle at 71% 49%,rgba(255,230,177,.16),transparent 18%),radial-gradient(circle at 74% 75%,rgba(111,225,190,.14),transparent 30%),linear-gradient(180deg,rgba(218,245,255,.06),transparent 36%); }
.game-hub-hero__content { position:relative; z-index:2; }.game-hub-hero__signal { z-index:3; }
.west-lake-motion { position:absolute; z-index:1; inset:0; overflow:hidden; pointer-events:none; }.west-lake-motion i { position:absolute; display:block; }
.west-lake-lotus { width:clamp(22px,2.3vw,42px); aspect-ratio:1.5; border-radius:50%; opacity:.68; background:radial-gradient(ellipse at 50% 36%,rgba(255,224,239,.95) 0 14%,rgba(255,172,206,.68) 15% 31%,transparent 32%),radial-gradient(ellipse at 33% 55%,rgba(247,192,224,.72) 0 19%,transparent 20%),radial-gradient(ellipse at 68% 55%,rgba(247,192,224,.7) 0 19%,transparent 20%),radial-gradient(ellipse at 50% 75%,rgba(54,128,80,.82) 0 35%,transparent 37%); filter:drop-shadow(0 2px 2px rgba(9,48,54,.25)); transform-origin:50% 80%; animation:lotusDrift 6.4s ease-in-out infinite alternate; }.west-lake-lotus--one { left:49%; bottom:15%; animation-delay:-2.3s; }.west-lake-lotus--two { left:64%; bottom:8%; width:clamp(18px,1.75vw,32px); opacity:.5; animation-delay:-4.1s; }.west-lake-lotus--three { left:80%; bottom:19%; width:clamp(15px,1.35vw,27px); opacity:.42; animation-delay:-1.1s; }
.west-lake-boat { width:clamp(34px,3.6vw,65px); height:clamp(8px,.78vw,14px); border-radius:0 0 45% 45%; background:linear-gradient(180deg,#80523e,#3c231c); box-shadow:0 3px 9px rgba(7,43,59,.32); opacity:.68; transform:skewX(-13deg); }.west-lake-boat::before { content:""; position:absolute; left:37%; bottom:70%; width:2px; height:clamp(13px,1.55vw,25px); background:rgba(70,43,27,.8); }.west-lake-boat b { position:absolute; left:40%; bottom:calc(70% + 4px); width:clamp(10px,1.7vw,24px); height:clamp(10px,1.7vw,24px); background:linear-gradient(145deg,rgba(245,231,186,.92),rgba(193,159,104,.62)); clip-path:polygon(0 0,100% 50%,0 100%); }.west-lake-boat--one { left:44%; top:56%; animation:boatCruiseOne 28s linear infinite; }.west-lake-boat--two { left:75%; top:49%; width:clamp(25px,2.55vw,46px); opacity:.42; transform:scale(.75) skewX(-13deg); animation:boatCruiseTwo 36s linear infinite; }
.west-lake-bird { width:clamp(13px,1.35vw,24px); height:clamp(5px,.5vw,9px); opacity:.52; }.west-lake-bird::before,.west-lake-bird::after { content:""; position:absolute; top:2px; width:52%; height:82%; border-top:1.5px solid rgba(28,49,62,.88); }.west-lake-bird::before { left:0; border-radius:100% 0 0 0; transform:rotate(18deg); }.west-lake-bird::after { right:0; border-radius:0 100% 0 0; transform:rotate(-18deg); }.west-lake-bird--one { left:48%; top:19%; animation:birdFlyOne 19s linear infinite; }.west-lake-bird--two { left:73%; top:26%; transform:scale(.72); opacity:.35; animation:birdFlyTwo 25s linear infinite -9s; }.west-lake-bird--three { left:61%; top:12%; transform:scale(.52); opacity:.28; animation:birdFlyOne 22s linear infinite -12s; }
@keyframes lotusDrift { from{transform:translate3d(-3px,0,0) rotate(-5deg)} to{transform:translate3d(4px,-2px,0) rotate(6deg)} }@keyframes boatCruiseOne { 0%{transform:translate3d(-8vw,1px,0) skewX(-13deg)} 48%{transform:translate3d(22vw,-2px,0) skewX(-13deg)} 49%{opacity:.1} 50%{transform:translate3d(-10vw,1px,0) skewX(-13deg);opacity:0} 54%{opacity:.68} 100%{transform:translate3d(22vw,-2px,0) skewX(-13deg)} }@keyframes boatCruiseTwo { 0%{transform:translate3d(10vw,0,0) scale(.75) skewX(-13deg)} 49%{transform:translate3d(-25vw,2px,0) scale(.75) skewX(-13deg)} 50%{opacity:.05} 51%{transform:translate3d(12vw,0,0) scale(.75) skewX(-13deg);opacity:0} 56%{opacity:.42} 100%{transform:translate3d(-25vw,2px,0) scale(.75) skewX(-13deg)} }@keyframes birdFlyOne { 0%{transform:translate3d(-9vw,0,0)} 46%{transform:translate3d(33vw,-4vh,0)} 47%{opacity:0} 48%{transform:translate3d(-9vw,1vh,0);opacity:0} 55%{opacity:.52} 100%{transform:translate3d(33vw,-4vh,0)} }@keyframes birdFlyTwo { 0%{transform:translate3d(8vw,0,0) scale(.72)} 46%{transform:translate3d(-31vw,5vh,0) scale(.72)} 47%{opacity:0} 48%{transform:translate3d(8vw,0,0) scale(.72);opacity:0} 55%{opacity:.35} 100%{transform:translate3d(-31vw,5vh,0) scale(.72)} }
@media (max-width:600px){.game-hub-hero{background-position:56% center}.west-lake-lotus--one{left:45%;bottom:12%}.west-lake-lotus--two{left:70%;bottom:10%}.west-lake-lotus--three{display:none}.west-lake-boat--one{left:49%;top:54%}.west-lake-boat--two{display:none}.west-lake-bird--three{display:none}}
/* Homepage featured title: use the detailed in-game lobby as the scenic card backdrop. */
.home-game-feature__art { background:radial-gradient(circle at 78% 22%,rgba(255,240,173,.26),transparent 23%),radial-gradient(circle at 73% 76%,rgba(255,170,213,.2),transparent 29%),linear-gradient(104deg,rgba(17,29,78,.16),transparent 58%),url('assets/games/happy-landlord/斗地主大厅提交.jpg') center / cover no-repeat; }
.home-game-feature__veil { background:linear-gradient(90deg,rgba(6,12,34,.96) 0%,rgba(8,15,40,.8) 36%,rgba(8,15,35,.26) 72%,rgba(7,13,31,.12) 100%),linear-gradient(0deg,rgba(5,9,26,.7),transparent 58%); }
.home-game-feature__content { text-shadow:0 2px 20px rgba(4,8,25,.72); }.home-game-feature__all { padding:8px 10px; background:rgba(5,12,30,.35); backdrop-filter:blur(7px); }
@media (max-width:600px){.home-game-feature__art{background-position:60% center}.home-game-feature__veil{background:linear-gradient(0deg,rgba(5,9,27,.97) 4%,rgba(5,10,29,.67) 57%,rgba(6,10,29,.21)),linear-gradient(90deg,rgba(5,10,29,.35),transparent)}}
/* Game Center title card: show the supplied Happy Landlord lobby behind the APK action. */
.game-hub-card__art { background:radial-gradient(circle at 76% 28%,rgba(255,235,170,.24),transparent 25%),radial-gradient(circle at 72% 73%,rgba(245,156,213,.18),transparent 29%),url('assets/games/happy-landlord/斗地主大厅提交.jpg') center / cover no-repeat; }
.game-hub-card__veil { background:linear-gradient(90deg,rgba(5,10,30,.97) 0%,rgba(7,13,34,.78) 38%,rgba(8,15,38,.18) 75%),linear-gradient(0deg,rgba(4,7,21,.88),transparent 60%); }
@media (max-width:600px){.game-hub-card__art{background-position:62% center}}
/* Unified legal footer and public-service notice page. */
.site-footer { padding:28px 0 0; }
.site-footer__compliance { padding:18px 0 30px; border-top:1px solid rgba(177,203,255,.12); color:rgba(180,198,231,.68); font:9px/1.85 var(--mono); letter-spacing:.025em; }
.site-footer__compliance p { max-width:1000px; margin:7px 0; }
.site-footer__compliance a { color:rgba(213,232,255,.9); text-decoration:none; transition:color .2s ease; }
.site-footer__compliance a:hover { color:var(--electric); }
.site-footer__legal-links { display:flex; flex-wrap:wrap; gap:6px 15px; margin:11px 0 12px; }
.site-footer__legal-links a { position:relative; white-space:nowrap; }
.site-footer__legal-links a:not(:last-child)::after { content:'·'; position:absolute; right:-10px; color:rgba(150,176,223,.36); }
.compliance-page { min-width:320px; background:#060a19; color:#f2f7ff; }
.compliance-hero { position:relative; overflow:hidden; min-height:clamp(490px,66vh,680px); display:flex; align-items:center; padding:140px 0 82px; isolation:isolate; background:linear-gradient(114deg,#08152d 0%,#080d22 47%,#150e2c 100%); }
.compliance-hero::before { content:''; position:absolute; z-index:-1; inset:-22%; opacity:.78; background:radial-gradient(circle at 23% 48%,rgba(116,232,255,.24),transparent 20%),radial-gradient(circle at 78% 34%,rgba(155,104,255,.23),transparent 23%),linear-gradient(130deg,transparent 44%,rgba(159,234,255,.07) 44.2%,transparent 44.7%); filter:blur(1px); }
.compliance-hero::after { content:'PUBLIC SERVICE / APEXFLASH'; position:absolute; z-index:-1; right:6vw; bottom:9%; color:rgba(177,211,255,.09); font:500 clamp(19px,3.4vw,50px) var(--mono); letter-spacing:.1em; white-space:nowrap; }
.compliance-hero h1 { max-width:760px; margin:0; font:700 clamp(52px,8vw,122px)/.9 var(--display); letter-spacing:-.085em; }
.compliance-hero h1 em { color:transparent; font-style:normal; -webkit-text-stroke:1px rgba(235,245,255,.93); }
.compliance-hero .content-wrap > p:not(.eyebrow) { max-width:600px; margin:28px 0 0; color:#b7c7e5; font-size:15px; line-height:2; }
.compliance-docs { background:linear-gradient(135deg,#080e25,#07091b 53%,#11102a); }
.compliance-docs__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:48px; }
.compliance-doc { min-height:225px; padding:28px; border:1px solid rgba(155,205,255,.2); background:linear-gradient(145deg,rgba(28,54,99,.35),rgba(11,15,42,.51)); box-shadow:inset 0 0 45px rgba(91,138,255,.035); }
.compliance-doc b { color:var(--electric); font:10px var(--mono); letter-spacing:.08em; }
.compliance-doc h3 { max-width:440px; margin:36px 0 13px; font:600 clamp(19px,2vw,25px)/1.25 var(--display); letter-spacing:-.03em; }
.compliance-doc p { max-width:460px; margin:0; color:#a6b6d5; font-size:13px; line-height:1.85; }
@media (max-width:900px) { .site-footer__compliance { padding-bottom:24px; }.compliance-hero { min-height:570px; padding-top:152px; }.compliance-docs__grid { grid-template-columns:1fr; }.compliance-doc { min-height:185px; } }
@media (max-width:480px) { .site-footer__compliance { font-size:8px; line-height:1.8; }.site-footer__legal-links { gap:7px 13px; }.site-footer__legal-links a { white-space:normal; }.site-footer__legal-links a:not(:last-child)::after { display:none; }.compliance-hero { min-height:540px; padding:134px 0 66px; }.compliance-hero::after { right:-30px; bottom:12%; font-size:20px; }.compliance-hero h1 { font-size:54px; }.compliance-hero .content-wrap > p:not(.eyebrow) { font-size:13px; }.compliance-docs__grid { margin-top:33px; }.compliance-doc { min-height:0; padding:23px 20px; }.compliance-doc h3 { margin:27px 0 11px; font-size:20px; }.compliance-doc p { font-size:12px; } }
/* Responsive planetary pass: anchor every Earth orbit to the globe centre, matching the Mars satellite-system model. */
.news-earth-system { top:10%; }
.news-earth__orbit { inset:auto; left:50%; top:50%; width:100%; height:100%; border-radius:50%; transform-origin:center; will-change:transform; }
.news-earth__orbit--low { width:120%; height:120%; animation:newsEarthOrbitLow 15s linear infinite; }
.news-earth__orbit--medium { width:128%; height:142%; border-color:rgba(154,142,255,.22); animation:newsEarthOrbitMedium 23s linear infinite; }
.news-earth__orbit--station { width:146%; height:158%; border-style:dashed; border-color:rgba(155,255,0,.19); animation:newsEarthOrbitStation 34s linear infinite; }
@keyframes newsEarthOrbitLow { from { transform:translate(-50%,-50%) rotate(-16deg) scaleY(.76); } to { transform:translate(-50%,-50%) rotate(344deg) scaleY(.76); } }
@keyframes newsEarthOrbitMedium { from { transform:translate(-50%,-50%) rotate(38deg) scaleY(.72); } to { transform:translate(-50%,-50%) rotate(-322deg) scaleY(.72); } }
@keyframes newsEarthOrbitStation { from { transform:translate(-50%,-50%) rotate(68deg) scaleY(.66); } to { transform:translate(-50%,-50%) rotate(428deg) scaleY(.66); } }
@media (max-width:900px) and (min-width:601px) { .news-earth-system { top:11%; } }
@media (max-width:600px) {
  .news-hero { min-height:max(660px, 100svh); }
  .news-earth-system { width:min(72vw, 292px); right:50%; top:4%; transform:translateX(50%); opacity:.84; }
  .news-earth__orbit--low { width:116%; height:116%; }
  .news-earth__orbit--medium { width:124%; height:136%; }
  .news-earth__orbit--station { width:140%; height:150%; }
  .earth-satellite { transform-origin:center; }
}
@media (max-width:390px) { .news-earth-system { width:min(70vw, 270px); top:4.5%; } }

/* Cross-page small-screen guardrails: preserve content width and prevent visual systems from producing horizontal scroll. */
@media (max-width:600px) {
  :root { --content:min(100% - 32px, 640px); }
  img, canvas, video { max-width:100%; }
  .site-footer__inner { align-items:flex-start; }
  .site-footer__compliance { overflow-wrap:anywhere; }
  .career-detail__tags, .game-detail-hero__tags, .home-game-feature__actions, .game-hub-card__actions { flex-wrap:wrap; }
  .news-archive__card, .career-preview__item, .job-list__item { min-width:0; }
}
/* Game recharge storefront: visual preview only; no payment channel is connected. */
.button--store { border:1px solid rgba(255,207,123,.52); color:#ffe2a3; background:rgba(117,70,29,.28); box-shadow:inset 0 0 22px rgba(255,184,96,.06); }
.button--store:hover { border-color:#ffcc76; color:#fff3d7; background:rgba(158,93,33,.48); }
.game-hub-card__actions, .game-detail-hero__actions { flex-wrap:wrap; }
.store-page { min-width:320px; background:#070918; color:#f4f7ff; }.store-main { overflow:hidden; }
.store-hero { position:relative; display:flex; align-items:flex-end; min-height:clamp(480px,68vh,700px); padding:146px 0 74px; isolation:isolate; background:linear-gradient(90deg,rgba(5,9,27,.98) 0%,rgba(5,11,30,.85) 35%,rgba(9,12,35,.26) 76%,rgba(6,10,28,.83) 100%),linear-gradient(0deg,#070a18 0%,transparent 52%),url('assets/games/happy-landlord/斗地主大厅提交.jpg') center/cover no-repeat; }
.store-hero__art { position:absolute; z-index:-1; right:8%; bottom:-3%; width:clamp(195px,25vw,405px); height:clamp(250px,34vw,500px); opacity:.82; background:url('assets/games/happy-landlord/role.png') center bottom/contain no-repeat; filter:drop-shadow(0 24px 34px rgba(0,0,0,.48)); transform:rotate(3deg); }.store-hero__glow { position:absolute; z-index:-2; right:17%; top:13%; width:40vw; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(255,197,104,.22),rgba(207,111,231,.1) 37%,transparent 68%); filter:blur(4px); }.store-hero__content { position:relative; z-index:1; }
.store-back-link { display:inline-flex; gap:9px; align-items:center; margin-bottom:37px; color:#b7c9ea; font:10px var(--mono); letter-spacing:.1em; transition:color .2s,transform .2s; }.store-back-link:hover { color:#ffe0a0; transform:translate(-2px,-2px); }.store-back-link span { color:#ffc465; font-size:15px; }
.store-hero h1 { max-width:780px; margin:0; font:700 clamp(52px,7.2vw,106px)/.92 var(--display); letter-spacing:-.085em; text-shadow:0 12px 34px rgba(3,6,19,.42); }.store-hero h1 em { color:transparent; font-style:normal; -webkit-text-stroke:1px rgba(255,236,202,.92); }
.store-game-chip { display:inline-flex; align-items:center; gap:12px; min-width:230px; margin-top:29px; padding:9px 15px 9px 9px; border:1px solid rgba(255,221,170,.28); background:rgba(7,13,33,.6); backdrop-filter:blur(10px); }.store-game-chip img { width:43px; height:43px; object-fit:contain; object-position:center; filter:drop-shadow(0 5px 8px rgba(0,0,0,.35)); }.store-game-chip small,.store-game-chip b { display:block; }.store-game-chip small { margin-bottom:4px; color:#aebbd9; font:8px var(--mono); letter-spacing:.1em; }.store-game-chip b { color:#fff3dc; font:600 14px var(--display); }
.store-checkout { background:linear-gradient(137deg,#090e26 0%,#0b0c1c 48%,#17102d 100%); }.store-checkout__grid { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(310px,.84fr); gap:clamp(35px,7vw,112px); align-items:center; }.store-packages h2 { margin:0; font:700 clamp(42px,5.6vw,77px)/1 var(--display); letter-spacing:-.07em; }.store-packages h2 em { color:#ffcf7d; font-style:normal; }.store-packages>p:not(.eyebrow) { max-width:485px; margin:27px 0 35px; color:#acbad7; font-size:14px; line-height:1.9; }
.recharge-plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.recharge-plan { position:relative; min-height:160px; overflow:hidden; padding:19px; border:1px solid rgba(181,209,255,.2); color:#f4f8ff; background:linear-gradient(145deg,rgba(24,41,79,.66),rgba(12,14,39,.8)); text-align:left; cursor:pointer; transition:transform .25s,border-color .25s,background .25s,box-shadow .25s; }.recharge-plan::before { content:''; position:absolute; inset:auto -30px -38px auto; width:118px; aspect-ratio:1; border:1px solid rgba(255,199,111,.12); border-radius:50%; box-shadow:0 0 0 25px rgba(255,181,84,.025); }.recharge-plan:hover,.recharge-plan.is-selected { border-color:rgba(255,203,113,.78); background:linear-gradient(145deg,rgba(89,59,92,.76),rgba(33,27,57,.9)); box-shadow:0 18px 35px rgba(0,0,0,.16),inset 0 0 36px rgba(255,185,104,.07); transform:translateY(-4px); }.recharge-plan__tag { display:block; color:#b7c8e9; font:9px var(--mono); letter-spacing:.09em; }.recharge-plan__price { display:block; margin:18px 0 5px; color:#ffe5aa; font:600 clamp(34px,4.4vw,50px)/.9 var(--display); letter-spacing:-.06em; }.recharge-plan__label { display:block; color:#d9e5fa; font-size:12px; }.recharge-plan i { position:absolute; right:17px; top:17px; color:rgba(255,221,160,.42); font:9px var(--mono); font-style:normal; }
.store-summary { overflow:hidden; border:1px solid rgba(255,215,154,.28); background:linear-gradient(145deg,rgba(39,31,68,.84),rgba(11,14,39,.96)); box-shadow:0 30px 80px rgba(0,0,0,.23),inset 0 0 62px rgba(220,157,255,.045); }.store-summary__top { display:flex; align-items:center; gap:6px; height:42px; padding:0 15px; border-bottom:1px solid rgba(255,215,154,.2); color:#c6d3ed; font:9px var(--mono); letter-spacing:.08em; }.store-summary__top span { margin-right:auto; }.store-summary__top i { width:6px; height:6px; border-radius:50%; background:#ffbd64; }.store-summary__top i:nth-last-child(2) { background:#c797ff; }.store-summary__top i:last-child { background:#a9ff6b; }.store-summary__body { padding:32px clamp(22px,3vw,38px) 34px; }.store-summary h3 { margin:0 0 32px; font:600 clamp(30px,3.3vw,45px)/1 var(--display); letter-spacing:-.06em; }.store-summary__game,.store-summary__amount { display:flex; justify-content:space-between; align-items:end; gap:16px; padding:17px 0; border-top:1px solid rgba(205,222,255,.16); }.store-summary__game span,.store-summary__amount span { color:#9eafd0; font:9px var(--mono); letter-spacing:.1em; }.store-summary__game b { max-width:210px; color:#e7efff; font:600 14px/1.35 var(--display); text-align:right; }.store-summary__amount strong { color:#ffe09b; font:600 clamp(35px,4vw,52px)/.85 var(--display); letter-spacing:-.06em; }.store-summary__body>p:not(.eyebrow) { margin:22px 0; color:#aab9d8; font-size:12px; line-height:1.8; }.store-next { width:100%; justify-content:center; margin-top:3px; border:0; cursor:pointer; }.store-summary small { display:block; margin-top:17px; color:#7786a8; font-size:10px; line-height:1.7; text-align:center; }
.store-coming-soon { position:fixed; z-index:60; left:50%; bottom:28px; display:flex; gap:18px; align-items:center; min-width:min(420px,calc(100vw - 32px)); padding:14px 16px 14px 20px; border:1px solid rgba(255,207,123,.52); color:#fff5df; background:rgba(13,18,42,.96); box-shadow:0 18px 45px rgba(0,0,0,.4),0 0 28px rgba(255,183,90,.12); transform:translate(-50%,130%); opacity:0; pointer-events:none; transition:transform .35s ease,opacity .35s ease; }.store-coming-soon.is-visible { transform:translate(-50%,0); opacity:1; pointer-events:auto; }.store-coming-soon b { font:500 12px var(--body); }.store-coming-soon button { width:25px; height:25px; margin-left:auto; border:1px solid rgba(255,230,188,.26); color:#ffdfa0; background:transparent; font-size:17px; line-height:1; cursor:pointer; }
@media (max-width:900px) { .store-hero { min-height:620px; }.store-hero__art { right:3%; opacity:.6; }.store-checkout__grid { grid-template-columns:1fr; gap:46px; }.store-summary { max-width:630px; }.store-packages { max-width:690px; } }
@media (max-width:600px) { .store-hero { align-items:flex-end; min-height:650px; padding:135px 0 62px; background-position:58% center; }.store-hero__art { right:-9%; bottom:12%; width:205px; height:285px; opacity:.5; }.store-hero h1 { max-width:330px; font-size:50px; }.store-game-chip { margin-top:24px; }.store-checkout { padding:78px 0; }.store-packages h2 { font-size:43px; }.recharge-plan-grid { gap:8px; }.recharge-plan { min-height:140px; padding:16px; }.recharge-plan__price { margin-top:17px; font-size:38px; }.store-summary__body { padding:27px 21px 25px; }.store-coming-soon { bottom:16px; min-width:calc(100vw - 32px); }.store-coming-soon b { font-size:11px; } }
/* Homepage title refinement: retain filled “Co-create”, outlined “Games”, and the second-line civilization treatment at a calmer scale. */
.hero h1 { font-size:clamp(45px,5.7vw,92px); }
@media (max-width:900px) { .hero h1 { font-size:clamp(42px,9.4vw,64px); } }
@media (max-width:480px) { .hero h1 { font-size:43px; } }
/* Recharge detail pass: clearly show what each order grants and collect the player identifier before the preview checkout. */
.recharge-plan__label { max-width:170px; line-height:1.5; }
.store-summary__id { display:grid; gap:9px; padding:17px 0; border-top:1px solid rgba(205,222,255,.16); }
.store-summary__id > span,.store-summary__diamonds > span { color:#9eafd0; font:9px var(--mono); letter-spacing:.1em; }
.store-summary__id input { width:100%; height:43px; border:1px solid rgba(205,222,255,.24); border-radius:0; padding:0 12px; outline:0; color:#f7fbff; background:rgba(8,14,36,.66); font:500 14px var(--body); transition:border-color .2s,box-shadow .2s,background .2s; }
.store-summary__id input::placeholder { color:#647496; }
.store-summary__id input:focus { border-color:rgba(255,205,117,.88); background:rgba(18,23,51,.82); box-shadow:0 0 0 3px rgba(255,190,99,.1); }
.store-summary__diamonds { display:grid; grid-template-columns:1fr auto auto; align-items:end; column-gap:8px; padding:17px 0; border-top:1px solid rgba(205,222,255,.16); }
.store-summary__diamonds > span { align-self:center; }
.store-summary__diamonds strong { color:#a9f5ff; font:600 clamp(31px,3.6vw,46px)/.85 var(--display); letter-spacing:-.06em; text-shadow:0 0 18px rgba(83,218,255,.28); }
.store-summary__unit { padding-bottom:3px; color:#ccefff; font:600 12px var(--body); }
@media (max-width:600px) { .recharge-plan__label { font-size:11px; } .store-summary__id input { height:42px; } .store-summary__diamonds strong { font-size:37px; } }
/* AI Lab world visual: a layered, responsive game scene with restrained live response signals. */
.terminal__visual--world { height:356px; isolation:isolate; background:#07122c; }
.terminal__visual--world::before { z-index:2; inset:0; opacity:1; background:linear-gradient(90deg,rgba(4,10,30,.62),transparent 34%,transparent 72%,rgba(3,8,28,.48)),linear-gradient(0deg,rgba(4,9,28,.72),transparent 42%),radial-gradient(circle at 52% 43%,rgba(79,242,255,.24),transparent 34%); mask-image:none; }
.terminal__visual--world::after { content:""; position:absolute; z-index:3; inset:11px; border:1px solid rgba(172,239,255,.16); box-shadow:inset 0 0 38px rgba(92,223,255,.08); pointer-events:none; }
.terminal__art { position:absolute; z-index:0; inset:-5%; width:110%; height:110%; object-fit:cover; object-position:center; filter:saturate(1.08) contrast(1.05); animation:ai-world-drift 17s cubic-bezier(.42,0,.25,1) infinite alternate; will-change:transform; }
.terminal__response { position:absolute; z-index:4; left:50%; top:52%; width:clamp(130px,23vw,205px); aspect-ratio:1; transform:translate(-50%,-50%); border:1px solid rgba(111,247,255,.3); border-radius:50%; box-shadow:0 0 0 18px rgba(89,224,255,.035),0 0 0 44px rgba(86,133,255,.025); animation:ai-world-response 4.8s ease-in-out infinite; pointer-events:none; }
.terminal__response i { position:absolute; left:50%; top:-3px; width:8px; height:8px; border-radius:50%; background:#b7fff6; box-shadow:0 0 16px 5px rgba(100,241,255,.63); transform:translateX(-50%); animation:ai-world-orbit 6.2s linear infinite; transform-origin:50% calc(50% + clamp(65px,11.5vw,102px)); }
.terminal__response i:nth-child(2) { width:5px; height:5px; background:#ffd88d; box-shadow:0 0 13px 4px rgba(255,201,107,.54); animation-duration:8.4s; animation-delay:-2s; transform-origin:50% calc(50% + clamp(76px,13vw,118px)); }
.terminal__response i:nth-child(3) { width:5px; height:5px; background:#c4a7ff; box-shadow:0 0 13px 4px rgba(174,133,255,.56); animation-duration:10.5s; animation-delay:-5s; transform-origin:50% calc(50% + clamp(83px,14vw,128px)); }
.terminal__response i:nth-child(4) { width:4px; height:4px; background:#b6e7ff; animation-duration:5.1s; animation-delay:-3.1s; transform-origin:50% calc(50% + clamp(58px,9vw,86px)); }
.terminal__feedback { position:absolute; z-index:5; right:8%; bottom:12%; display:flex; gap:4px; align-items:flex-end; height:33px; padding:7px 8px; border:1px solid rgba(185,238,255,.22); background:rgba(5,14,36,.46); backdrop-filter:blur(5px); }
.terminal__feedback i { width:3px; border-radius:3px; background:linear-gradient(#fff2a7,#81f5ff); box-shadow:0 0 8px rgba(107,234,255,.62); animation:ai-world-feedback 1.35s ease-in-out infinite alternate; }
.terminal__feedback i:nth-child(1) { height:8px; animation-delay:-.8s; }.terminal__feedback i:nth-child(2) { height:20px; animation-delay:-.25s; }.terminal__feedback i:nth-child(3) { height:13px; animation-delay:-1.05s; }
.terminal__visual--world .terminal__scan { z-index:7; background:linear-gradient(90deg,transparent,rgba(218,255,255,.92),transparent); box-shadow:0 0 18px rgba(110,241,255,.9); animation-duration:5.6s; }
.terminal__visual--world .terminal__tag { z-index:8; border-color:rgba(175,243,255,.38); background:linear-gradient(105deg,rgba(5,15,38,.82),rgba(18,43,78,.48)); box-shadow:0 6px 18px rgba(0,0,0,.19); }
.terminal__visual--world .terminal__tag--one { left:7%; }.terminal__visual--world .terminal__tag--two { right:6%; }.terminal__visual--world .terminal__tag--three { left:12%; bottom:10%; }
@keyframes ai-world-drift { 0% { transform:scale(1.02) translate3d(-.7%,.8%,0); } 52% { transform:scale(1.075) translate3d(1.1%,-.7%,0); } 100% { transform:scale(1.04) translate3d(-.3%,-1%,0); } }
@keyframes ai-world-response { 0%,100% { opacity:.52; transform:translate(-50%,-50%) scale(.9); } 55% { opacity:1; transform:translate(-50%,-50%) scale(1.12); } }
@keyframes ai-world-orbit { from { rotate:0deg; } to { rotate:360deg; } }
@keyframes ai-world-feedback { from { transform:scaleY(.55); opacity:.48; } to { transform:scaleY(1.28); opacity:1; } }
@media (max-width:900px) { .terminal__visual--world { height:325px; } }
@media (max-width:480px) { .terminal__visual--world { height:278px; } .terminal__feedback { right:6%; bottom:9%; transform:scale(.85); transform-origin:bottom right; } .terminal__visual--world .terminal__tag--one { left:5%; } .terminal__visual--world .terminal__tag--two { right:4%; } }
/* Recharge method selection and robust input feedback. */
.recharge-plan,.payment-method { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.recharge-plan:focus-visible,.payment-method:focus-visible { outline:2px solid #b7fbff; outline-offset:3px; }
.recharge-plan.is-selected::after { content:"SELECTED"; position:absolute; right:15px; bottom:15px; color:#fff0c2; font:8px var(--mono); letter-spacing:.11em; }
.store-summary__id input[aria-invalid="true"] { border-color:#ff9e9e; box-shadow:0 0 0 3px rgba(255,105,105,.12); }
.payment-methods { margin-top:2px; padding:19px 0 4px; border-top:1px solid rgba(205,222,255,.16); }
.payment-methods__heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:11px; }
.payment-methods__heading > span { color:#dce9ff; font:600 13px var(--display); }
.payment-methods__heading small { color:#7789ad; font:8px var(--mono); letter-spacing:.1em; }
.payment-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.payment-method { position:relative; min-width:0; min-height:112px; overflow:hidden; padding:8px 8px 10px; border:1px solid rgba(190,218,255,.2); color:#e9f4ff; background:linear-gradient(145deg,rgba(18,30,66,.82),rgba(7,11,32,.9)); text-align:left; cursor:pointer; transition:transform .22s,border-color .22s,background .22s,box-shadow .22s; }
.payment-method img { display:block; width:100%; height:61px; margin-bottom:8px; object-fit:cover; object-position:center; opacity:.8; filter:saturate(1.04); transition:opacity .22s,transform .35s; }
.payment-method__name { position:relative; z-index:1; display:block; overflow:hidden; color:#eef7ff; font:600 11px/1.2 var(--display); text-overflow:ellipsis; white-space:nowrap; }
.payment-method__meta { position:relative; z-index:1; display:block; overflow:hidden; margin-top:4px; color:#879abb; font:7px var(--mono); letter-spacing:.045em; text-overflow:ellipsis; white-space:nowrap; }
.payment-method::after { content:""; position:absolute; inset:0; opacity:0; background:linear-gradient(135deg,rgba(157,241,255,.14),transparent 46%,rgba(255,201,103,.13)); transition:opacity .22s; pointer-events:none; }
.payment-method:hover,.payment-method.is-selected { border-color:rgba(154,241,255,.8); background:linear-gradient(145deg,rgba(35,75,119,.86),rgba(20,23,59,.92)); box-shadow:0 12px 25px rgba(0,0,0,.22),inset 0 0 28px rgba(112,227,255,.07); transform:translateY(-3px); }
.payment-method:hover img,.payment-method.is-selected img { opacity:1; transform:scale(1.045); }.payment-method.is-selected::after { opacity:1; }
@media (max-width:600px) { .payment-method-grid { gap:6px; }.payment-method { min-height:101px; padding:6px 6px 8px; }.payment-method img { height:52px; margin-bottom:7px; }.payment-method__name { font-size:10px; }.payment-method__meta { font-size:6px; }.payment-methods__heading > span { font-size:12px; } }
/* Pause the complete hero compositor outside the viewport; visible pixels and timing remain unchanged. */
.hero.is-animation-paused .hero__deep-field,
.hero.is-animation-paused .hero__far-stars,
.hero.is-animation-paused .hero__stars,
.hero.is-animation-paused .hero__near-stars,
.hero.is-animation-paused .hero__meteors i,
.hero.is-animation-paused .hero__grid,
.hero.is-animation-paused .hero__pulse,
.hero.is-animation-paused .hero__lightning,
.hero.is-animation-paused .hero__lightning i,
.hero.is-animation-paused .hero__mascot-flight,
.hero.is-animation-paused .hero__mascot-flight::before,
.hero.is-animation-paused .hero__mascot-flight::after,
.hero.is-animation-paused .hero__mascot-flight .apex-spine-player,
.hero__mascot-flight.is-animation-paused,
.hero__mascot-flight.is-animation-paused::before,
.hero__mascot-flight.is-animation-paused::after,
.hero__mascot-flight.is-animation-paused .apex-spine-player { animation-play-state:paused !important; }
/* Partnership contact dialog — opens from the desktop header and the mobile navigation. */
.header-cta { border:0; padding:0; background:transparent; cursor:pointer; }
.header-cta:focus-visible,.nav-contact-cta:focus-visible,.contact-dialog button:focus-visible,.contact-dialog a:focus-visible { outline:2px solid var(--electric); outline-offset:4px; }
.nav-contact-cta { display:none; }
.dialog-open { overflow:hidden; }
.contact-dialog[hidden] { display:none; }
.contact-dialog { position:fixed; z-index:90; inset:0; display:grid; place-items:center; padding:24px; }
.contact-dialog__backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(2,6,18,.78); backdrop-filter:blur(12px); cursor:default; }
.contact-dialog__panel { position:relative; width:min(100%, 590px); overflow:hidden; padding:clamp(28px,4vw,48px); border:1px solid rgba(163,222,255,.43); color:#edf6ff; background:linear-gradient(145deg,rgba(15,34,74,.98),rgba(8,13,35,.99) 64%,rgba(24,14,54,.98)); box-shadow:0 38px 110px rgba(0,0,0,.5),inset 0 0 68px rgba(101,191,255,.08); }
.contact-dialog__panel::before { content:""; position:absolute; right:-26%; top:-45%; width:72%; aspect-ratio:1; border:1px solid rgba(118,217,255,.2); border-radius:50%; box-shadow:0 0 0 36px rgba(118,217,255,.035),0 0 80px rgba(118,217,255,.13); pointer-events:none; }
.contact-dialog__top { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.contact-dialog__kicker { margin:0; color:#aeefff; font:10px var(--mono); letter-spacing:.15em; }
.contact-dialog__close { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(201,229,255,.27); color:#e9f4ff; background:rgba(6,14,34,.58); font-size:24px; line-height:1; cursor:pointer; transition:border-color .2s,background .2s,transform .2s; }
.contact-dialog__close:hover { border-color:var(--electric); color:var(--electric); background:rgba(155,255,0,.08); transform:rotate(90deg); }
.contact-dialog h2 { position:relative; z-index:1; max-width:440px; margin:31px 0 14px; font:700 clamp(38px,5.2vw,58px)/.98 var(--display); letter-spacing:-.075em; }
.contact-dialog__description { position:relative; z-index:1; max-width:430px; margin:0; color:#b7c8e4; font-size:14px; line-height:1.85; }
.contact-dialog__items { position:relative; z-index:1; display:grid; gap:10px; margin-top:32px; }
.contact-dialog__item { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:14px; align-items:center; min-height:105px; padding:15px 16px; border:1px solid rgba(178,213,255,.2); background:linear-gradient(135deg,rgba(30,58,106,.42),rgba(9,15,41,.58)); }
.contact-dialog__icon { display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(145,226,255,.4); border-radius:50%; color:#c4f7ff; background:rgba(75,169,255,.1); font:20px/1 var(--mono); box-shadow:inset 0 0 17px rgba(103,219,255,.08); }
.contact-dialog__label,.contact-dialog__meta { display:block; }
.contact-dialog__label { margin-bottom:6px; color:#98b4d8; font:9px var(--mono); letter-spacing:.11em; }
.contact-dialog__value { display:inline-block; color:#fff; font:600 clamp(16px,2vw,20px)/1.15 var(--display); letter-spacing:-.025em; transition:color .2s; }
.contact-dialog__value:hover { color:var(--electric); }
.contact-dialog__meta { margin-top:6px; color:#8fa3c7; font-size:10px; line-height:1.4; }
.contact-dialog__copy { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:35px; padding:0 11px; border:1px solid rgba(184,222,255,.28); color:#dff5ff; background:rgba(9,17,42,.64); font:600 10px var(--mono); letter-spacing:.05em; cursor:pointer; transition:border-color .2s,color .2s,background .2s,transform .2s; }
.contact-dialog__copy:hover { border-color:var(--electric); color:var(--electric); background:rgba(155,255,0,.07); transform:translateY(-2px); }
.contact-dialog__copy span { font-size:16px; line-height:1; }
.contact-dialog__copy b { font:inherit; }
.contact-dialog__status { min-height:18px; margin:14px 0 0; color:var(--electric); font:10px/1.4 var(--mono); letter-spacing:.04em; }
@media (max-width:900px) { .main-nav .nav-contact-cta { display:inline-flex; align-items:center; justify-content:space-between; width:100%; margin-top:5px; padding:13px 0 8px; border:0; border-top:1px solid rgba(177,210,255,.17); color:var(--electric); background:transparent; font:600 12px var(--mono); letter-spacing:.06em; cursor:pointer; }.nav-contact-cta span { font-size:16px; }.contact-dialog { align-items:end; padding:12px; }.contact-dialog__panel { width:100%; max-width:630px; padding:27px 22px 20px; }.contact-dialog h2 { margin-top:26px; font-size:42px; }.contact-dialog__item { grid-template-columns:40px minmax(0,1fr) auto; gap:11px; min-height:98px; padding:13px; }.contact-dialog__icon { width:38px; height:38px; font-size:18px; }.contact-dialog__value { font-size:18px; }.contact-dialog__copy { min-width:50px; padding:0 8px; }.contact-dialog__copy b { font-size:9px; } }
@media (max-width:380px) { .contact-dialog h2 { font-size:36px; }.contact-dialog__description { font-size:13px; }.contact-dialog__item { grid-template-columns:34px minmax(0,1fr) auto; padding:11px; }.contact-dialog__icon { width:33px; height:33px; font-size:16px; }.contact-dialog__value { font-size:16px; }.contact-dialog__meta { font-size:9px; }.contact-dialog__copy { min-width:41px; padding:0 6px; }.contact-dialog__copy b { display:none; } }
/* Recruitment contact trigger: the compact version preserves the resume action on small screens. */
.career-mobile-apply { display:none; }
@media (max-width:900px) { .careers-page .career-mobile-apply { display:inline-flex; align-items:center; gap:7px; margin-left:auto; border:1px solid rgba(155,255,0,.52); padding:8px 10px; color:var(--electric); background:rgba(155,255,0,.06); font:600 10px var(--mono); letter-spacing:.04em; cursor:pointer; }.careers-page .career-mobile-apply span { font-size:14px; }.career-mobile-apply:focus-visible { outline:2px solid var(--electric); outline-offset:3px; } }
