:root {
  --bg:#FFFFFF;
  --bg-panel:#F6F6F8;
  --bg-panel-2:#EEEEF2;
  --border:#E3E3E8;
  --accent:#2E78F0;
  --accent-dark:#1A5CCF;
  --accent-soft:#EAF1FE;
  --text:#17171C;
  --text-muted:#6B6B76;
  --success:#1E9E5A;
  --success-ink:#176C40;
  --warn:#E39A00;
  --warn-ink:#805500;
  --error:#D93A3A;
  --white:#FFFFFF;
  --clear:transparent;
  --halo-1:#7B5CFF;
  --halo-1b:#3FB8F5;
  --halo-2:#F25FB5;
  --halo-3:#4CC94F;
  --halo-4:#FF9A1F;
  --halo-4b:#FFC93A;
  --band:#FFCC1F;
  --glass-edge:rgba(255,255,255,.72);
  --glass-hi:rgba(255,255,255,.9);
  --glass-sheen:rgba(255,255,255,.4);
  --frost:rgba(255,255,255,.86);
  --frost-edge:rgba(255,255,255,.95);
  --ink-shadow-1:rgba(23,23,28,.06);
  --ink-shadow-2:rgba(23,23,28,.08);
  --veil:rgba(23,23,28,.28);
  --shadow-1:0 1px 2px var(--ink-shadow-1);
  --shadow-2:0 24px 48px var(--ink-shadow-2);
  --shadow-card:var(--shadow-1),var(--shadow-2);
  --r-xs:8px;
  --r-sm:10px;
  --r-md:16px;
  --r-lg:24px;
  --r-xl:32px;
  --r-isle:56px;
  --r-pill:999px;
  --r-round:50%;
  --r-highlight:14px;
  --r-app:26px;
  --r-app-inner:23px;
  --r-platform:9px;
  --font-display:"Inter","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --font-body:"Inter","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"Cascadia Code",Consolas,"SFMono-Regular",monospace;
  --nav-h:72px;
  --peek:64px;
  --container:1240px;
  --reading:840px;
  --gutter:40px;
  --hero-gutter:80px;
  --section-space:96px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --fast:200ms;
}
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:96px; }
html.nav-open { overflow:hidden; }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--font-body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
[hidden] { display:none !important; }
img,svg { display:block; max-width:100%; }
img { height:auto; }
button,input,select,textarea { font:inherit; color:inherit; }
button { cursor:pointer; }
a { color:var(--accent-dark); text-underline-offset:4px; }
a:hover { text-decoration-thickness:2px; }
button,a,input,summary,select,textarea { -webkit-tap-highlight-color:var(--clear); }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
button:disabled,.btn[aria-disabled="true"] { cursor:not-allowed; }
h1,h2,h3,h4 { font-family:var(--font-display); text-wrap:balance; line-height:1.25; letter-spacing:-.02em; }
h1 { font-size:clamp(34px,3.4vw,48px); font-weight:900; margin:0 0 24px; }
h2 { font-size:clamp(26px,2.5vw,36px); font-weight:900; margin:0 0 24px; }
h3 { font-size:22px; font-weight:800; margin:0 0 16px; }
p { margin:0 0 20px; }
ul,ol { padding-inline-start:24px; }
li + li { margin-top:6px; }
code,kbd,pre { font-family:var(--font-mono); }
code { overflow-wrap:anywhere; font-size:.9em; }
p code,li code,td code { background:var(--bg-panel-2); color:var(--text); padding:2px 5px; border-radius:var(--r-xs); }
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; }
hr { border:0; border-top:1px solid var(--border); margin:32px 0; }
:where(main,section,article,aside,nav,div,li) { min-width:0; }
:where(.badge__dot,.brand__mark,.plat__ico,.icon,.client-icon,button svg,.btn svg,.dl-fab svg) { flex-shrink:0; }
.wrap { width:100%; max-width:calc(var(--container) + var(--gutter) * 2); margin-inline:auto; padding-inline:var(--gutter); }
.reading { max-width:calc(var(--reading) + var(--gutter) * 2); }
.section { padding-top:var(--section-space); padding-bottom:var(--section-space); }
.decorated,.hero,.feature-stage { overflow-x:clip; }
.nowrap { white-space:nowrap; }
.muted { color:var(--text-muted); }
.eyebrow { margin:0; font-size:13px; font-weight:700; letter-spacing:.06em; color:var(--accent-dark); }
.section-lead { max-width:42em; color:var(--text-muted); }
.stack > * + * { margin-top:24px; }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.grid > * { min-width:0; }
.panel { padding:40px; border-radius:var(--r-xl); background:var(--bg-panel); color:var(--text); }
.card { padding:28px; border-radius:var(--r-lg); background:var(--bg); color:var(--text); box-shadow:var(--shadow-card); }
.prose { min-width:0; line-height:1.85; }
.prose h2 { margin-top:56px; scroll-margin-top:100px; }
.prose h3 { margin-top:32px; scroll-margin-top:100px; }
.prose :where(p,li) { overflow-wrap:break-word; }
.prose img { border-radius:var(--r-lg); }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:12px 26px; border:1px solid var(--clear); border-radius:var(--r-pill); font-size:16px; font-weight:700; letter-spacing:-.005em; text-align:center; text-decoration:none; transition:background-color var(--fast),transform var(--fast),box-shadow var(--fast); }
.btn svg { width:18px; height:18px; }
.btn--primary { background:var(--accent); color:var(--white); box-shadow:var(--shadow-1),0 10px 24px color-mix(in srgb,var(--accent) 30%,var(--clear)); }
.btn--primary:hover,.btn--primary.is-hover { background:var(--accent-dark); color:var(--white); transform:translateY(-1px); }
.btn--primary:active,.btn--primary.is-pressed { background:var(--accent-dark); color:var(--white); transform:translateY(1px); box-shadow:var(--shadow-1); }
.btn--soft { background:var(--bg-panel); color:var(--accent-dark); }
.btn--soft:hover { background:var(--bg-panel-2); color:var(--accent-dark); }
.btn--outline { background:var(--bg); color:var(--accent-dark); border-color:var(--border); }
.btn:disabled,.btn[aria-disabled="true"] { background:var(--bg-panel-2); color:var(--text-muted); box-shadow:none; transform:none; }
.btn.is-focus { outline:2px solid var(--accent); outline-offset:3px; }
.topbar,#site-header { position:sticky; top:0; z-index:50; min-height:var(--nav-h); background:color-mix(in srgb,var(--bg) 84%,var(--clear)); color:var(--text); backdrop-filter:blur(16px) saturate(1.6); -webkit-backdrop-filter:blur(16px) saturate(1.6); }
.topbar__inner { position:relative; width:100%; max-width:min(100%,calc(1280px + var(--gutter) * 2)); height:var(--nav-h); padding-inline:var(--gutter); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:11px; flex-shrink:0; text-decoration:none; font-family:var(--font-display); font-weight:800; font-size:17px; letter-spacing:-.015em; color:var(--text); }
.brand__mark { width:34px; height:34px; filter:drop-shadow(0 4px 10px color-mix(in srgb,var(--accent) 30%,var(--clear))); }
.nav { min-width:0; display:flex; align-items:center; }
.nav ul { display:flex; align-items:center; list-style:none; margin:0; padding:0; gap:4px; }
.nav li { margin:0; }
.nav__link,.nav__more-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:8px 16px; border:0; border-radius:var(--r-pill); background:var(--clear); font-size:15px; font-weight:600; color:var(--text); text-decoration:none; white-space:nowrap; transition:background-color var(--fast),color var(--fast); }
.nav__link:hover,.nav__more-btn:hover { background:var(--bg-panel); color:var(--text); }
.nav__link[aria-current="page"],.nav__menu-item[aria-current="page"],.nav__more-btn.is-current { background:var(--accent-soft); color:var(--accent-dark); }
.nav__caret { width:10px; height:10px; color:var(--text-muted); }
.nav__more { position:relative; }
.nav__menu { position:absolute; top:calc(100% + 10px); left:50%; width:260px; padding:8px; border-radius:var(--r-lg); background:var(--bg); color:var(--text); border:1px solid var(--border); box-shadow:var(--shadow-card); }
.nav__menu-item { display:block; padding:12px 14px; border-radius:var(--r-md); text-decoration:none; color:var(--text); }
.nav__menu-item:hover { background:var(--bg-panel); color:var(--text); }
.nav__menu-title { display:block; font-size:15px; font-weight:700; }
.nav__menu-desc { display:block; margin-top:2px; font-size:13px; color:var(--text-muted); }
.header-tools { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.language { position:relative; }
.lang { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:40px; padding:8px 14px; border:1px solid var(--border); border-radius:var(--r-pill); background:var(--bg); font-size:14px; font-weight:600; color:var(--text); text-decoration:none; }
.lang:hover { background:var(--bg-panel); color:var(--text); }
.lang__globe { width:16px; height:16px; color:var(--text-muted); }
.lang__short { display:none; }
.language__menu { position:absolute; right:0; top:calc(100% + 10px); min-width:180px; padding:8px; border:1px solid var(--border); border-radius:var(--r-lg); background:var(--bg); color:var(--text); box-shadow:var(--shadow-card); }
.language__menu a { display:flex; align-items:center; min-height:44px; padding:10px 16px; color:var(--text); text-decoration:none; border-radius:var(--r-md); }
.language__menu a:hover,.language__menu a[aria-current] { background:var(--accent-soft); color:var(--accent-dark); }
.menu-toggle { display:none; min-width:44px; min-height:44px; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:var(--r-pill); background:var(--bg); color:var(--text); }
.menu-toggle svg { width:22px; height:22px; }
.mobile-nav { display:none; }
.nav-veil { position:fixed; inset:var(--nav-h) 0 0; z-index:40; border:0; background:var(--veil); color:var(--text); }
.preview-more { margin:0; }
.preview-more > summary { list-style:none; }
.preview-more[open] > summary { background:var(--bg-panel); color:var(--text); }
.preview-more > summary::-webkit-details-marker { display:none; }
.site-footer { padding-top:64px; padding-bottom:100px; background:var(--bg-panel); color:var(--text); border-radius:var(--r-xl) var(--r-xl) 0 0; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1.4fr 1fr; gap:40px; }
.footer-brand p { max-width:26em; margin-top:20px; font-size:14px; color:var(--text-muted); }
.footer-heading { font-size:14px; font-weight:800; margin:0 0 16px; }
.footer-links { padding:0; margin:0; list-style:none; }
.footer-links li { margin:0; }
.footer-links a { display:inline-block; padding-top:5px; padding-bottom:5px; color:var(--text-muted); font-size:14px; text-decoration:none; overflow-wrap:break-word; }
.footer-links a:hover { color:var(--accent-dark); }
.footer-bottom { margin-top:48px; padding-top:24px; border-top:1px solid var(--border); color:var(--text-muted); font-size:13px; }
.reveal { opacity:1; transform:none; }
html.reveal-ready .reveal:not(.shown) { opacity:0; transform:translateY(20px); }
.reveal { transition:opacity 650ms var(--ease),transform 650ms var(--ease); }
.reveal.shown { opacity:1; transform:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media (max-width:1100px) {
  .nav { display:none; }
  .header-tools { margin-left:auto; }
  .menu-toggle { display:inline-flex; }
  .mobile-nav:not([hidden]) { display:block; position:absolute; left:0; right:0; top:var(--nav-h); padding:16px var(--gutter) 24px; max-height:calc(100dvh - var(--nav-h)); overflow-y:auto; overscroll-behavior:contain; background:var(--bg); color:var(--text); border-top:1px solid var(--border); box-shadow:var(--shadow-2); }
  .mobile-nav a { display:flex; width:100%; align-items:center; min-height:48px; padding:12px 16px; border-radius:var(--r-md); color:var(--text); text-decoration:none; }
  .mobile-nav a:hover,.mobile-nav a[aria-current] { background:var(--accent-soft); color:var(--accent-dark); }
  .mobile-nav__label { margin:20px 16px 8px; color:var(--text-muted); font-size:13px; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:768px) {
  :root { --gutter:20px; --hero-gutter:40px; --section-space:64px; --peek:48px; }
  h1 { font-size:clamp(24px,5vw,30px); }
  h2 { font-size:26px; }
  h3 { font-size:20px; }
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .panel { padding:28px 24px; }
}
@media (max-width:640px) {
  :root { --gutter:16px; --hero-gutter:32px; }
  .topbar__inner { gap:10px; }
  .brand { gap:8px; font-size:14px; }
  .brand__mark { width:30px; height:30px; }
  .header-tools { gap:6px; margin-left:auto; }
  .lang { gap:5px; padding-inline:10px; }
  .lang__full { display:none; }
  .lang__short { display:inline; }
  .grid,.footer-grid { grid-template-columns:minmax(0,1fr); }
  .footer-grid { gap:28px; }
  .card { padding:24px; }
  .tilt,[data-tilt] { transform:none; }
  pre { padding:18px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
  html.reveal-ready .reveal:not(.shown) { opacity:1; transform:none; }
}