:root {
  --bg:#29248F;
  --bg-panel:#3833AE;
  --bg-panel-2:#1B1766;
  --border:#5A55D6;
  --accent:#FF62D9;
  --accent-dark:#C42FA6;
  --text:#F6F4FF;
  --text-muted:#BEB9F2;
  --success:#4BE3A1;
  --warn:#FFC857;
  --error:#FF5C6C;
  --font-display:"Inter","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-body:var(--font-display);
  --font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --fs-h1:clamp(34px,3.4vw,48px);
  --fs-h2:clamp(26px,2.8vw,38px);
  --fs-h3:clamp(20px,2vw,26px);
  --fs-body:16px;
  --r-tray:40px;
  --r-phone:36px;
  --r-screen:29px;
  --r-window:16px;
  --r-lg:24px;
  --r-md:12px;
  --r-sm:6px;
  --r-pill:999px;
  --r-round:50%;
  --wrap:1312px;
  --reading:800px;
  --gutter:64px;
  --head-height:84px;
  --space-section:96px;
  --ink:var(--bg-panel-2);
  --ink-muted:color-mix(in srgb,var(--bg-panel-2) 76%,var(--text));
  --line-light:color-mix(in srgb,var(--border) 16%,var(--text));
  --surface-soft:color-mix(in srgb,var(--border) 9%,var(--text));
  --hair-faint:color-mix(in srgb,var(--border) 16%,transparent);
  --hair:color-mix(in srgb,var(--border) 55%,transparent);
  --hair-strong:color-mix(in srgb,var(--border) 92%,transparent);
  --hi-line:color-mix(in srgb,var(--text) 20%,transparent);
  --hi-line-strong:color-mix(in srgb,var(--text) 72%,transparent);
  --shadow-deep:color-mix(in srgb,var(--bg-panel-2) 72%,transparent);
  --shadow-deeper:color-mix(in srgb,var(--bg-panel-2) 92%,transparent);
  --glow-accent:color-mix(in srgb,var(--accent) 45%,transparent);
  --glow-accent-soft:color-mix(in srgb,var(--accent) 24%,transparent);
  --glow-violet:color-mix(in srgb,var(--border) 48%,transparent);
  --edge-1:var(--accent-dark);
  --edge-2:color-mix(in srgb,var(--accent-dark) 89%,var(--bg-panel-2));
  --edge-3:color-mix(in srgb,var(--accent-dark) 78%,var(--bg-panel-2));
  --edge-4:color-mix(in srgb,var(--accent-dark) 67%,var(--bg-panel-2));
  --edge-5:color-mix(in srgb,var(--accent-dark) 56%,var(--bg-panel-2));
  --edge-6:color-mix(in srgb,var(--accent-dark) 44%,var(--bg-panel-2));
  --edge-7:color-mix(in srgb,var(--accent-dark) 33%,var(--bg-panel-2));
  --edge-8:color-mix(in srgb,var(--accent-dark) 22%,var(--bg-panel-2));
  --edge-9:color-mix(in srgb,var(--accent-dark) 11%,var(--bg-panel-2));
  --edge-10:var(--bg-panel-2);
  --thick-10:1px 1px 0 var(--edge-1),2px 2px 0 var(--edge-2),3px 3px 0 var(--edge-3),4px 4px 0 var(--edge-4),5px 5px 0 var(--edge-5),6px 6px 0 var(--edge-6),7px 7px 0 var(--edge-7),8px 8px 0 var(--edge-8),9px 9px 0 var(--edge-9),10px 10px 0 var(--edge-10);
  --thick-8:1px 1px 0 var(--edge-1),2px 2px 0 var(--edge-2),3px 3px 0 var(--edge-3),4px 4px 0 var(--edge-5),5px 5px 0 var(--edge-6),6px 6px 0 var(--edge-7),7px 7px 0 var(--edge-9),8px 8px 0 var(--edge-10);
  --thick-cap:0 1px 0 var(--edge-1),0 2px 0 var(--edge-3),0 3px 0 var(--edge-4),0 4px 0 var(--edge-6),0 5px 0 var(--edge-8),0 6px 0 var(--edge-10),0 16px 24px var(--shadow-deep);
  --thick-tile:0 1px 0 var(--edge-1),0 2px 0 var(--edge-2),0 3px 0 var(--edge-3),0 4px 0 var(--edge-4),0 5px 0 var(--edge-6),0 6px 0 var(--edge-7),0 7px 0 var(--edge-8),0 8px 0 var(--edge-10);
  --tray-field:linear-gradient(100deg,color-mix(in srgb,var(--accent) 62%,var(--bg-panel)) 0%,var(--bg-panel) 46%,color-mix(in srgb,var(--bg-panel) 60%,var(--bg)) 100%);
  --speed-fast:200ms;
  --speed-reveal:600ms;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.nav-open{overflow:hidden}
body{margin:0;min-width:320px;font:var(--fs-body)/1.75 var(--font-body);color:var(--text);background-color:var(--bg);background-image:radial-gradient(140% 70% at 18% -22%,var(--bg-panel-2) 0%,transparent 64%),radial-gradient(70% 55% at 100% 100%,color-mix(in srgb,var(--bg-panel) 80%,transparent) 0%,transparent 72%);background-repeat:no-repeat;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:4px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img,svg,video{max-width:100%;vertical-align:middle}
img{height:auto}
svg{flex-shrink:0}
button,a{-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}
::selection{background:var(--accent);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:900;line-height:1.2;text-wrap:balance;overflow-wrap:break-word}
h1{margin:0;font-size:var(--fs-h1);line-height:1.14;letter-spacing:-.02em}
h2{font-size:var(--fs-h2);letter-spacing:-.02em}
h3{font-size:var(--fs-h3);letter-spacing:-.01em}
p{margin:0 0 1.25em}
h1 em,.accent{color:var(--accent);font-style:normal;text-shadow:0 0 28px var(--glow-accent-soft)}
.keep{white-space:nowrap}
.muted{color:var(--text-muted)}
.mono,kbd,code,pre{font-family:var(--font-mono)}
code{font-size:.9em;overflow-wrap:anywhere}
pre{max-width:100%;min-width:0;overflow-x:auto;padding:24px;border-radius:var(--r-md);background:var(--bg-panel-2);color:var(--text);line-height:1.7}
pre code{overflow-wrap:normal;word-break:normal;white-space:pre}
kbd{font-size:10.5px;line-height:1;padding:4px 6px;border-radius:var(--r-sm);border:1px solid var(--hair-strong);background:var(--bg-panel);color:var(--text);box-shadow:0 2px 0 var(--bg-panel-2)}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.reading{max-width:calc(var(--reading) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-top:var(--space-section);padding-bottom:var(--space-section)}
.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.grid-two>*,.hero-grid>*,.footer-grid>*{min-width:0}
.prose{min-width:0;overflow-wrap:break-word}
.prose h2{margin-top:2.5em;scroll-margin-top:32px}
.prose h3{margin-top:1.8em;scroll-margin-top:32px}
.prose li+li{margin-top:.6em}
.prose a{color:var(--text);text-decoration-color:var(--accent)}
.skip{position:absolute;left:16px;top:-80px;z-index:100;padding:10px 16px;border-radius:var(--r-pill);background:var(--text);color:var(--ink);font-weight:700;text-decoration:none}
.skip:focus{top:16px}
.site-head,#site-header{position:relative;z-index:30;border-bottom:1px solid var(--hair-faint)}
.head-row{position:relative;max-width:min(100%,calc(1280px + var(--gutter)*2));height:var(--head-height);margin-inline:auto;padding-inline:var(--gutter);display:flex;align-items:center;gap:32px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font:900 18px/1.3 var(--font-display);letter-spacing:-.01em;white-space:nowrap;flex-shrink:0}
.brand img{width:32px;height:32px;flex-shrink:0;filter:drop-shadow(0 4px 12px var(--glow-accent-soft))}
.tabs{height:100%;min-width:0;margin-left:auto}
.tabs ul{display:flex;align-items:center;list-style:none;margin:0;padding:0;height:100%;gap:2px}
.tabs li{height:100%}
.tabs a{position:relative;display:flex;align-items:center;height:100%;padding-inline:18px;color:var(--text-muted);font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap}
.tabs a::after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:3px;border-radius:var(--r-sm);background:var(--accent);box-shadow:0 0 14px var(--glow-accent);transform:scaleX(0);opacity:0;transition:transform var(--speed-fast),opacity var(--speed-fast)}
.tabs a:hover{color:var(--text)}
.tabs a:hover::after{transform:scaleX(.35);opacity:.6}
.tabs a[aria-current="page"]{color:var(--text);font-weight:800}
.tabs a[aria-current="page"]::after{transform:scaleX(1);opacity:1}
.head-tools{display:flex;align-items:center;gap:12px;flex-shrink:0}
.language{position:relative}
.lang{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--bg-panel-2) 45%,transparent);color:var(--text);font:600 14px/1 var(--font-body);box-shadow:inset 0 1px 0 var(--hi-line)}
.lang svg{width:16px;height:16px;color:var(--text-muted)}
.lang-short{display:none}
.language-menu{position:absolute;right:0;top:calc(100% + 12px);min-width:180px;padding:8px;margin:0;list-style:none;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-panel-2);color:var(--text);box-shadow:0 20px 40px var(--shadow-deep)}
.language-menu a{display:flex;align-items:center;min-height:44px;padding:8px 14px;text-decoration:none;border-radius:var(--r-sm)}
.language-menu a:hover,.language-menu a[aria-current]{background:var(--bg-panel);color:var(--text)}
.menu-toggle{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--hair);border-radius:var(--r-md);background:var(--bg-panel-2);color:var(--text)}
.menu-toggle svg{width:22px;height:22px}
.mobile-drawer{display:none}
.nav-veil{position:fixed;inset:var(--head-height) 0 0;z-index:31;border:0;background:var(--shadow-deep);color:var(--text)}
.mobile-drawer{position:absolute;top:100%;left:0;right:0;z-index:32;padding:20px var(--gutter);max-height:calc(100dvh - var(--head-height));overflow-y:auto;overscroll-behavior:contain;background:var(--bg-panel-2);color:var(--text);border-bottom:1px solid var(--border)}
.mobile-drawer ul{list-style:none;margin:0;padding:0}
.mobile-drawer a{display:flex;width:100%;align-items:center;min-height:48px;padding:12px 16px;text-decoration:none;border-radius:var(--r-sm)}
.mobile-drawer a[aria-current],.mobile-drawer a:hover{background:var(--bg-panel);color:var(--text)}
.drawer-label{margin:16px 16px 8px;color:var(--text-muted);font-size:13px}
.btn{position:relative;display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:12px 28px;border:0;border-radius:var(--r-pill);font:800 16px/1.4 var(--font-body);text-decoration:none;transition:transform var(--speed-fast);max-width:100%;text-align:center}
.btn:hover,.btn.is-hover{transform:translateY(-2px)}
.btn:active,.btn.is-active{transform:translateY(1px)}
.btn svg{width:20px;height:20px}
.btn-primary{color:var(--ink);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 80%,var(--text)) 0%,var(--accent) 58%);box-shadow:inset 0 -3px 0 var(--accent-dark),0 14px 34px var(--glow-accent)}
.btn-ghost{color:var(--text);background:color-mix(in srgb,var(--bg-panel) 55%,transparent);border:1.5px solid var(--hair-strong);box-shadow:inset 0 1px 0 var(--hi-line)}
.btn:disabled,.btn[aria-disabled="true"]{background:var(--bg-panel-2);color:var(--text-muted);box-shadow:none;border:1px solid var(--border);cursor:not-allowed;transform:none}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.panel,.card{padding:32px;border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--bg-panel);color:var(--text);box-shadow:inset 0 1px 0 var(--hi-line),0 16px 40px var(--shadow-deep);min-width:0}
.tray{border-radius:var(--r-tray);background:var(--tray-field);color:var(--text);box-shadow:inset 0 1px 0 var(--hi-line),0 -12px 80px var(--glow-violet);min-width:0}
.tray-copy{padding:48px}
.site-footer,#site-footer{margin-top:80px;border-top:1px solid var(--hair);background:var(--bg-panel-2);color:var(--text)}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1.3fr .7fr;gap:40px;padding-top:64px;padding-bottom:48px}
.footer-brand p{max-width:310px;margin-top:20px;color:var(--text-muted);font-size:14px}
.footer-heading{margin:0 0 18px;font-size:15px;font-weight:800}
.footer-list{display:flex;flex-direction:column;gap:9px;padding:0;margin:0;list-style:none;font-size:14px}
.footer-list a{text-decoration:none;color:var(--text-muted)}
.footer-list a:hover{color:var(--text);text-decoration:underline}
.copyright{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:24px;padding-bottom:28px;border-top:1px solid var(--hair);font-size:13px;color:var(--text-muted)}
.legal-links{display:flex;flex-wrap:wrap;gap:20px}
.reveal{opacity:1}
.reveal.reveal-ready{opacity:0;transform:translateY(20px);transition:opacity var(--speed-reveal),transform var(--speed-reveal)}
.reveal.shown{opacity:1;transform:none}
.page-top,.hero,.decorated-section{position:relative;isolation:isolate;overflow-x:clip}
.sky{position:absolute;inset:0;width:100%;height:100%;z-index:-1;color:var(--text-muted);pointer-events:none}
.sky .x{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.sky .sq{fill:currentColor}
.sky .a{opacity:.55}
.sky .b{opacity:.3}
.hero-grid{display:grid;grid-template-columns:500px minmax(0,1fr);column-gap:24px;align-items:center;height:704px}
.hero-copy{position:relative;z-index:3}
.client-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none}
.client-chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-pill);font:600 12.5px/1 var(--font-mono);color:var(--text);background:color-mix(in srgb,var(--bg-panel) 70%,transparent);border:1px solid var(--hair);box-shadow:inset 0 1px 0 var(--hi-line)}
.client-chips li::before{content:"";width:6px;height:6px;flex-shrink:0;border-radius:var(--r-sm);background:var(--text-muted)}
.lede{margin:22px 0 0;max-width:460px;font-size:17px;line-height:1.75;color:var(--text-muted)}
.lede strong{color:var(--text);font-weight:700}
.platforms{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:32px}
.platforms-label{font:600 12px/1 var(--font-mono);color:var(--text-muted);letter-spacing:.04em}
.platforms ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.platforms a{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 12px 6px 10px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--bg-panel-2) 30%,transparent);color:var(--text);font-size:13px;font-weight:600;text-decoration:none}
.platforms svg{width:16px;height:16px;color:var(--text-muted)}
.factbar{display:flex;align-items:center;flex-wrap:wrap;gap:22px;min-height:44px;font:600 12px/1.5 var(--font-mono);letter-spacing:.02em;color:var(--text-muted)}
.fact{display:inline-flex;align-items:center;gap:8px}
.fact::before{content:"";width:6px;height:6px;flex-shrink:0;border-radius:var(--r-sm);background:var(--border)}
.fact b{color:var(--text)}
.factbar .rule{flex:1;height:1px;background:linear-gradient(90deg,var(--hair-strong),transparent)}
@media(min-width:1001px){.nav-veil,.mobile-drawer{display:none!important}}
@media(max-width:1280px){
  :root{--gutter:40px}
  .hero-grid{grid-template-columns:440px minmax(0,1fr)}
  .hero-grid .stage{transform:scale(.8);transform-origin:left center}
}
@media(max-width:1000px){
  .head-row>.brand{min-width:0;flex-shrink:1;white-space:normal}
  .head-row>.brand>span{min-width:0;overflow-wrap:anywhere}
  .tabs{display:none}
  .head-tools{margin-left:auto}
  .menu-toggle{display:inline-flex}
  .mobile-drawer:not([hidden]){display:block}
  .hero-grid{grid-template-columns:380px minmax(0,1fr);height:640px}
  .hero-grid .stage{transform:scale(.65)}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:768px){
  :root{--gutter:24px;--fs-h1:clamp(24px,4vw,30px);--head-height:76px;--space-section:64px}
  .hero-grid{grid-template-columns:minmax(0,1fr);height:auto;padding-top:48px;padding-bottom:24px;gap:16px}
  .hero-copy{max-width:540px}
  .hero-grid .stage{transform:none;height:440px;width:100%}
  .grid-two{grid-template-columns:minmax(0,1fr)}
  .lede{font-size:16px}
  .tray-copy{padding:32px}
  .brand{font-size:16px}
  .factbar{gap:12px;padding-top:12px;padding-bottom:12px}
}
@media(max-width:640px){
  :root{--gutter:16px}
  .head-row{gap:12px}
  .brand{gap:8px;font-size:14px}
  .brand img{width:27px;height:27px}
  .head-tools{margin-left:auto;gap:8px}
  .lang{padding-inline:12px;min-height:44px}
  .lang-full{display:none}
  .lang-short{display:inline}
  .lang svg{display:none}
  .tilt,.tilt-content,[data-tilt]{transform:none!important}
  .client-chips{gap:6px}
  .client-chips li{padding:7px 9px;font-size:11px}
  .cta-row{gap:10px;margin-top:26px}
  .btn{padding:12px 20px;font-size:14px;min-height:50px}
  .platforms{gap:10px;margin-top:24px}
  .platforms-label{width:100%}
  .platforms a{font-size:12px;padding-inline:9px}
  .panel,.card{padding:24px}
  .tray-copy{padding:24px}
  .footer-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .copyright{flex-direction:column}
  .hero-grid .stage{height:300px}
  .factbar .rule{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal.reveal-ready{opacity:1;transform:none}
}