:root {
  --bg:#FAFCFB;
  --panel:#FFFFFF;
  --panel-2:#F3F0FB;
  --panel-sub:#F7F8F9;
  --panel-bar:#FBFBFC;
  --border:#E3E5E8;
  --border-soft:#EDEEF0;
  --chip-gray:#ECEDEF;
  --dot-gray:#D6D9DE;
  --accent:#7458D6;
  --accent-2:#B7A6F0;
  --accent-dark:#5A3FB8;
  --text:#16171A;
  --muted:#5E6370;
  --faint:#8C919B;
  --on-dark:#FFFFFF;
  --success:#2E8A5C;
  --warn:#B7791F;
  --error:#C2413A;
  --success-ink:#226A46;
  --warn-ink:#80520F;
  --clear:transparent;
  --mask-solid:#000000;
  --mask-soft:rgb(0 0 0 / .45);
  --accent-rgb:116 88 214;
  --ink-rgb:22 23 26;
  --shadow-rgb:38 28 78;
  --veil:rgb(22 23 26 / .35);
  --grad-accent:linear-gradient(135deg,var(--accent),var(--accent-2));
  --grad-press:linear-gradient(120deg,var(--accent-dark),var(--accent));
  --glyph-gradient:linear-gradient(90deg,rgb(var(--accent-rgb) / .34),rgb(var(--accent-rgb) / .16) 26%,rgb(var(--accent-rgb) / .30) 50%,rgb(var(--accent-rgb) / .15) 74%,rgb(var(--accent-rgb) / .33));
  --font-display:'Inter','Noto Sans SC','PingFang SC','Microsoft YaHei',system-ui,sans-serif;
  --font-body:'Inter','Noto Sans SC','PingFang SC','Hiragino Sans GB','Microsoft YaHei',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
  --weight-normal:400;
  --weight-medium:500;
  --r-xs:2px;
  --r-sm:6px;
  --r-md:8px;
  --r-logo:7px;
  --r-pill:999px;
  --r-circle:50%;
  --shadow-window:0 1px 2px rgb(var(--ink-rgb) / .05),0 6px 14px -6px rgb(var(--ink-rgb) / .08),0 44px 96px -32px rgb(var(--shadow-rgb) / .30);
  --shadow-chip:0 1px 0 rgb(var(--ink-rgb) / .03);
  --shadow-mini:0 1px 2px rgb(var(--ink-rgb) / .04),0 16px 32px -20px rgb(var(--shadow-rgb) / .22);
  --shadow-menu:0 2px 6px rgb(var(--ink-rgb) / .06),0 16px 40px rgb(var(--shadow-rgb) / .12);
  --gutter:48px;
  --content-width:1200px;
  --reading-width:820px;
  --header-width:1280px;
  --header-height:64px;
  --section-space:88px;
  --ease:ease;
  --speed:.18s;
}
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:24px; }
html.nav-open { overflow:hidden; }
body {
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-body); font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
[hidden] { display:none !important; }
img,svg { max-width:100%; vertical-align:middle; }
img { height:auto; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a { color:var(--accent-dark); text-underline-offset:4px; }
a:hover { color:var(--accent); }
button:disabled,[aria-disabled="true"] { cursor:not-allowed; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
::selection { background:var(--panel-2); color:var(--accent-dark); }
h1,h2,h3,h4 {
  font-family:var(--font-display); font-weight:var(--weight-normal);
  line-height:1.25; text-wrap:balance; overflow-wrap:break-word;
}
h1 { font-size:clamp(34px,3.4vw,48px); letter-spacing:-.02em; }
h2 { font-size:clamp(24px,2.4vw,34px); letter-spacing:-.015em; }
h3 { font-size:21px; }
p { margin-top:0; }
strong { font-weight:var(--weight-medium); }
code,kbd,pre { font-family:var(--font-mono); }
code { overflow-wrap:anywhere; }
pre {
  max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain;
  background:var(--panel-sub); color:var(--text);
  border:1px solid var(--border-soft); border-radius:var(--r-sm);
  padding:18px; font-size:13px; line-height:1.75; tab-size:2;
}
pre code { overflow-wrap:normal; word-break:normal; white-space:pre; }
hr { border:0; border-top:1px solid var(--border); margin-block:32px; }
.wrap {
  width:100%; max-width:calc(var(--content-width) + var(--gutter) * 2);
  margin-inline:auto; padding-inline:var(--gutter);
}
.reading { max-width:calc(var(--reading-width) + var(--gutter) * 2); }
.section { padding-top:var(--section-space); padding-bottom:var(--section-space); }
.grid { display:grid; gap:24px; }
.grid > *, .flex > *, .prose, .prose div, section, article { min-width:0; }
.flex { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.nowrap { white-space:nowrap; }
.muted { color:var(--muted); }
.mono { font-family:var(--font-mono); }
.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}
.skip-link {
  position:fixed; top:8px; left:16px; z-index:100;
  padding:10px 16px; background:var(--text); color:var(--on-dark);
  transform:translateY(-160%); border-radius:var(--r-sm);
}
.skip-link:focus { transform:none; }
.prose { font-size:16px; line-height:1.85; }
.prose h2 { margin-top:56px; margin-bottom:20px; }
.prose h3 { margin-top:32px; margin-bottom:12px; }
.prose p,.prose ul,.prose ol { margin-bottom:22px; }
.prose li + li { margin-top:8px; }
.prose :not(pre) > code {
  background:var(--panel-sub); color:var(--text);
  border-radius:var(--r-xs); padding:2px 5px; font-size:.88em;
}
.prose :is(h2,h3,[id]) { scroll-margin-top:24px; }
.panel,.card {
  background:var(--panel); color:var(--text); border:1px solid var(--border);
  border-radius:var(--r-md); padding:24px; min-width:0;
}
.panel--raised { box-shadow:var(--shadow-mini); }
.card h3 { margin-top:0; }
.btn-solid {
  position:relative; isolation:isolate; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:48px; padding:10px 22px; border:1px solid var(--clear);
  border-radius:var(--r-xs); background:var(--text); color:var(--on-dark);
  font-family:var(--font-mono); font-size:13px; font-weight:var(--weight-medium);
  letter-spacing:.12em; text-transform:uppercase; text-decoration:none;
}
.btn-solid::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:var(--grad-press); color:var(--on-dark);
  opacity:0; transition:opacity .22s var(--ease);
}
.btn-solid:hover,.btn-solid.is-hover { color:var(--on-dark); }
.btn-solid:hover::before,.btn-solid.is-hover::before { opacity:1; }
.btn-solid:active { transform:translateY(1px); }
.btn-solid:disabled,.btn-solid[aria-disabled="true"] {
  background:var(--chip-gray); color:var(--muted); border-color:var(--border);
}
.btn-solid:disabled::before,.btn-solid[aria-disabled="true"]::before { display:none; }
.btn-solid svg,.btn-line svg { width:16px; height:16px; flex-shrink:0; }
.btn-line {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:48px; font-family:var(--font-mono); font-size:13px;
  font-weight:var(--weight-medium); letter-spacing:.12em; text-transform:uppercase;
  color:var(--text); text-decoration:none;
}
.btn-line span { padding-bottom:5px; border-bottom:1px solid currentColor; }
.btn-line:hover { color:var(--accent-dark); }
.topbar { position:relative; z-index:30; height:var(--header-height); background:var(--bg); color:var(--text); }
.topbar__inner {
  width:100%; max-width:min(100%,calc(var(--header-width) + var(--gutter) * 2));
  padding-inline:var(--gutter); height:100%; margin-inline:auto;
  display:flex; align-items:center; gap:32px;
}
.brand {
  display:inline-flex; align-items:center; gap:10px; flex-shrink:0;
  color:var(--text); text-decoration:none; font-size:16px;
  font-weight:var(--weight-medium); letter-spacing:-.01em;
}
.brand:hover { color:var(--text); }
.brand__mark { width:28px; height:28px; flex-shrink:0; border-radius:var(--r-logo); }
.mainnav { margin-left:auto; min-width:0; }
.mainnav__list {
  display:flex; align-items:center; gap:2px; list-style:none; margin:0; padding:0;
}
.mainnav__link {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:34px; padding:5px 15px; border-radius:var(--r-pill);
  color:var(--muted); text-decoration:none; font-size:14px; white-space:nowrap;
  transition:color var(--speed) var(--ease),background-color var(--speed) var(--ease);
}
.mainnav__link:hover { color:var(--text); }
.mainnav__link[aria-current="page"] { background:var(--chip-gray); color:var(--text); }
.header-tools { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.language { position:relative; }
.langswitch {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  min-height:32px; padding:5px 12px; border:1px solid var(--border);
  border-radius:var(--r-sm); background:var(--panel); color:var(--muted);
  font-family:var(--font-mono); font-size:12px; letter-spacing:.04em;
}
.langswitch:hover { color:var(--text); border-color:var(--faint); }
.language__short { display:none; }
.language__menu {
  position:absolute; top:calc(100% + 8px); right:0; width:180px;
  margin:0; padding:6px; list-style:none; background:var(--panel); color:var(--text);
  border:1px solid var(--border); border-radius:var(--r-md); box-shadow:var(--shadow-menu);
}
.language__menu a {
  display:flex; align-items:center; min-height:44px; padding:8px 12px;
  color:var(--muted); text-decoration:none; border-radius:var(--r-sm);
}
.language__menu a:hover,.language__menu a[aria-current] { background:var(--panel-2); color:var(--accent-dark); }
.menu-toggle {
  display:none; align-items:center; justify-content:center; min-width:44px; min-height:44px;
  border:1px solid var(--border); border-radius:var(--r-sm); background:var(--panel); color:var(--text);
}
.menu-toggle svg { width:20px; height:20px; flex-shrink:0; }
.mobile-drawer,.menu-veil { display:none; }
.preview-menu { display:none; }
.site-footer {
  border-top:1px solid var(--border); background:var(--panel); color:var(--text);
  padding-top:56px; padding-bottom:28px;
}
.footer-grid { display:grid; grid-template-columns:1.3fr .8fr 1.5fr .8fr; gap:40px; }
.footer-grid > * { min-width:0; }
.footer-brand p { max-width:280px; margin-top:18px; font-size:14px; color:var(--muted); }
.footer-title { font-size:13px; font-weight:var(--weight-medium); margin:0 0 16px; }
.footer-links { list-style:none; margin:0; padding:0; }
.footer-links li + li { margin-top:9px; }
.footer-links a { color:var(--muted); text-decoration:none; font-size:13px; overflow-wrap:anywhere; }
.footer-links a:hover { color:var(--accent-dark); text-decoration:underline; }
.footer-bottom {
  display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between;
  border-top:1px solid var(--border); margin-top:40px; padding-top:22px;
  color:var(--muted); font-size:12px;
}
.footer-bottom a { color:var(--muted); margin-left:16px; }
.reveal { opacity:1; transform:none; }
.reveal.is-pending { opacity:0; transform:translateY(16px); }
.reveal.shown { opacity:1; transform:none; transition:opacity .5s var(--ease),transform .5s var(--ease); }
.hero { overflow-x:clip; }
.hero__head {
  width:100%; max-width:calc(var(--content-width) + var(--gutter) * 2);
  margin-inline:auto; padding-inline:var(--gutter); padding-top:40px; padding-bottom:36px;
}
.eyebrow {
  margin:0 0 20px; display:flex; align-items:center; flex-wrap:wrap; gap:10px;
  font-family:var(--font-mono); font-size:12px; line-height:16px;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.eyebrow__tick {
  width:7px; height:7px; flex-shrink:0; border-radius:var(--r-xs);
  background:var(--grad-accent); color:var(--text);
}
.eyebrow__sep { color:var(--muted); }
.hero__title {
  margin:0 0 18px; font-size:clamp(28px,3.4vw,48px);
  line-height:1.1; letter-spacing:-.02em; font-weight:var(--weight-normal);
}
.hero__title-line { display:block; }
.hero__title-dot { color:var(--muted); padding-inline:.12em; }
.hero__lead { max-width:900px; margin:0 0 28px; font-size:17px; line-height:1.6; color:var(--muted); }
.hero__lead strong { color:var(--text); }
.hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; margin-bottom:22px; }
.platforms { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-height:30px; }
.platforms__label { margin-right:8px; font-family:var(--font-mono); font-size:11px; letter-spacing:.16em; color:var(--muted); }
.platform {
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  min-height:30px; padding:6px 12px 6px 10px; border:1px solid var(--border);
  border-radius:var(--r-sm); background:var(--panel); color:var(--text);
  box-shadow:var(--shadow-chip); font-size:13px; line-height:1; text-decoration:none;
}
.platform svg { width:14px; height:14px; flex-shrink:0; color:var(--muted); }
.platform:hover { border-color:rgb(var(--accent-rgb) / .45); color:var(--text); }
.platform:hover svg { color:var(--accent); }
.stage {
  position:relative; overflow:hidden; background:var(--panel-2); color:var(--text);
  height:clamp(360px,calc(100svh - 500px),540px);
}
.glyphs { position:absolute; inset:0; pointer-events:none; mask-image:linear-gradient(90deg,var(--clear),var(--mask-solid) 7%,var(--mask-solid) 93%,var(--clear)); }
.glyphs__fade { position:absolute; inset:0; mask-image:linear-gradient(180deg,var(--mask-soft),var(--mask-solid) 12%,var(--mask-solid) 70%,var(--clear)); }
.glyph {
  position:absolute; margin:0; border:0; padding:0; background-color:var(--clear);
  font-family:var(--font-mono); font-size:13px; line-height:20px; letter-spacing:.32em;
  white-space:pre; color:var(--clear); background-image:var(--glyph-gradient);
  background-clip:text; -webkit-background-clip:text; user-select:none; overflow:visible;
}
.glyph--top { top:2px; left:50%; transform:translateX(-50%); }
.glyph--left { top:44px; left:4px; }
.glyph--right { top:44px; right:0; }
.facts { border-block:1px solid var(--border); background:var(--panel); color:var(--muted); }
.facts__list {
  list-style:none; margin:0 auto; padding:12px var(--gutter);
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px 22px;
  font-family:var(--font-mono); font-size:12px; letter-spacing:.08em;
}
.facts__item { display:inline-flex; align-items:center; gap:22px; }
.facts__item + .facts__item::before { content:"·"; color:var(--accent); }
.spec__eyebrow { font-family:var(--font-mono); font-size:12px; letter-spacing:.16em; color:var(--muted); margin:0 0 14px; }
.spec__title { margin:0 0 40px; }
.spec__row {
  display:grid; grid-template-columns:220px minmax(0,1fr) 340px; gap:40px;
  padding:32px 16px; border-top:1px solid var(--border);
  transition:background-color .2s var(--ease);
}
.spec__row:last-child { border-bottom:1px solid var(--border); }
.spec__row > * { min-width:0; }
.spec__row:hover { background:var(--panel-2); color:var(--text); }
.spec__key { display:flex; align-items:flex-start; gap:10px; font-family:var(--font-mono); font-size:15px; overflow-wrap:anywhere; }
.spec__key::before { content:""; flex-shrink:0; width:6px; height:6px; margin-top:9px; border-radius:var(--r-xs); background:var(--grad-accent); color:var(--text); }
.spec__row:hover .spec__key { color:var(--accent-dark); }
.spec__name { font-size:18px; margin:0 0 8px; }
.spec__text { font-size:14.5px; color:var(--muted); margin:0; }
@media (max-width:1100px) {
  .topbar__inner { gap:20px; }
  .mainnav { display:none; }
  .header-tools { margin-left:auto; }
  .menu-toggle { display:inline-flex; }
  .mobile-drawer {
    position:absolute; top:var(--header-height); left:0; right:0; z-index:3;
    background:var(--panel); color:var(--text); border-bottom:1px solid var(--border);
    padding:16px var(--gutter) 24px; max-height:calc(100dvh - var(--header-height));
    overflow-y:auto; overscroll-behavior:contain; box-shadow:var(--shadow-menu);
  }
  .mobile-drawer:not([hidden]) { display:block; }
  .mobile-drawer ul { list-style:none; margin:0; padding:0; }
  .mobile-drawer a {
    display:flex; align-items:center; width:100%; min-height:44px; padding:10px 14px;
    color:var(--muted); text-decoration:none; border-radius:var(--r-sm);
  }
  .mobile-drawer a[aria-current],.mobile-drawer a:hover { background:var(--chip-gray); color:var(--text); }
  .mobile-drawer__label { margin:20px 14px 8px; font-size:12px; color:var(--muted); }
  .menu-veil:not([hidden]) {
    display:block; position:fixed; inset:var(--header-height) 0 0; z-index:1;
    border:0; padding:0; background:var(--veil); color:var(--text); cursor:default;
  }
  .preview-menu { display:block; margin-left:auto; }
  .preview-menu > summary { min-height:44px; padding:10px; cursor:pointer; }
  .preview-menu nav { position:absolute; top:64px; left:0; right:0; padding:16px var(--gutter); background:var(--panel); color:var(--text); border-bottom:1px solid var(--border); }
  .preview-menu nav a { display:flex; align-items:center; min-height:44px; padding:8px 12px; text-decoration:none; }
}
@media (max-width:960px) {
  :root { --gutter:24px; }
  .spec__row { grid-template-columns:1fr; gap:18px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
  h1,.hero__title { font-size:clamp(24px,3.8vw,30px); }
}
@media (max-width:640px) {
  :root { --gutter:20px; --section-space:56px; }
  .topbar__inner { gap:12px; }
  .brand { font-size:14px; gap:8px; }
  .header-tools { gap:6px; margin-left:auto; }
  .language__full { display:none; }
  .language__short { display:inline; }
  .langswitch { padding-inline:9px; min-height:36px; }
  .hero__head { padding-top:28px; padding-bottom:28px; }
  .hero__lead { font-size:15.5px; }
  .hero__actions { gap:20px; }
  .platforms__label { width:100%; }
  .stage { height:420px; }
  .facts__list { font-size:11px; gap:6px 16px; }
  .facts__item { gap:16px; }
  .footer-grid { gap:28px 20px; }
  .footer-brand { grid-column:1 / -1; }
  .footer-bottom { display:block; }
  .footer-bottom > div { margin-top:12px; }
  .footer-bottom a { margin-left:0; margin-right:16px; }
  .tilt,[class*="tilt--"] { transform:none !important; }
  .spec__row { padding-inline:0; }
}
@media (max-width:360px) {
  :root { --gutter:16px; }
  .brand { font-size:13px; }
  .brand__mark { width:24px; height:24px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
  .reveal.is-pending { opacity:1; transform:none; }
}