:root {
  --bg:#E5EDF6;
  --bg-panel:#F7FAFE;
  --bg-panel-2:#D8E3F0;
  --border:#C6D3E4;
  --accent:#0E9C7B;
  --accent-dark:#0A6F58;
  --accent-blue:#1D84C6;
  --coral:#F2607E;
  --coral-ink:#C9365D;
  --violet:#8B4FE0;
  --violet-ink:#6A33B8;
  --text:#13212E;
  --text-muted:#526175;
  --success:#1F9D57;
  --warn:#C7841A;
  --error:#D8434E;
  --paper:#FFFFFF;
  --hero-top:#EEF3FA;
  --hero-bottom:#DCE6F2;
  --tl-red:#F0605A;
  --tl-amber:#F4B93A;
  --tl-green:#35B556;
  --flag-red:#D4213D;
  --flag-white:#FFFFFF;
  --flag-navy:#24356F;
  --flag-black:#1B1B1F;
  --flag-gold:#F3C233;
  --mask:#000000;
  --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;
  --r-xs:6px;
  --r-sm:10px;
  --r-md:12px;
  --r-btn:14px;
  --r-lg:18px;
  --r-xl:20px;
  --r-phone:26px;
  --r-board:32px;
  --r-pill:999px;
  --r-round:50%;
  --gutter:40px;
  --content-width:1320px;
  --header-height:68px;
  --anchor-offset:84px;
  --toc-offset:76px;
  --toc-landing:152px;
  --space-section:80px;
  --text-body:16px;
  --text-small:14px;
  --text-title:66px;
  --text-h2:40px;
  --text-h3:24px;
  --weight-normal:400;
  --weight-medium:500;
  --weight-bold:700;
  --weight-heavy:900;
  --shadow-float:0 44px 90px -34px color-mix(in srgb,var(--accent) 32%,transparent),0 16px 36px -18px color-mix(in srgb,var(--accent) 12%,transparent);
  --shadow-soft:0 26px 52px -24px color-mix(in srgb,var(--accent) 34%,transparent);
  --shadow-coral:0 30px 60px -26px color-mix(in srgb,var(--coral) 42%,transparent);
  --shadow-violet:0 26px 50px -24px color-mix(in srgb,var(--violet) 40%,transparent);
  --hl-edge:inset 0 1px 0 var(--paper);
  --ease-out:cubic-bezier(.2,.7,.3,1);
  --duration-fast:.2s;
  --duration-reveal:.35s;
}
*,*::before,*::after { box-sizing:border-box }
html { -webkit-text-size-adjust:100%;scroll-padding-top:var(--anchor-offset);scroll-behavior:smooth }
body { margin:0;font-family:var(--font-body);font-size:var(--text-body);color:var(--text);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased }
[hidden] { display:none!important }
img { max-width:100%;height:auto }
svg { vertical-align:middle;flex-shrink:0 }
button,input,select,textarea { font:inherit;color:inherit }
button { cursor:pointer }
button,a,input,summary,select,textarea { -webkit-tap-highlight-color:color-mix(in srgb,var(--accent) 15%,transparent) }
a { color:var(--accent-dark);text-underline-offset:.2em }
a:hover { text-decoration-thickness:2px }
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible { outline:2px solid var(--accent-dark);outline-offset:3px }
button:disabled,[aria-disabled="true"] { cursor:not-allowed }
h1,h2,h3,h4 { font-family:var(--font-display);line-height:1.2;overflow-wrap:break-word;text-wrap:balance }
h1 { margin:24px 0 0;font-weight:var(--weight-heavy);font-size:var(--text-title);line-height:1.08;letter-spacing:-.03em;color:var(--text) }
h2 { margin:0 0 24px;font-weight:var(--weight-heavy);font-size:var(--text-h2);letter-spacing:-.02em }
h3 { margin:0 0 16px;font-weight:800;font-size:var(--text-h3);letter-spacing:-.015em }
p { margin:0 0 20px }
ul,ol { padding-left:1.5em }
code,kbd,pre { font-family:var(--font-mono) }
code { overflow-wrap:anywhere;font-size:.9em }
:not(pre)>code { padding:2px 5px;background:var(--bg-panel-2);border-radius:var(--r-xs) }
pre { max-width:100%;overflow-x:auto;padding:24px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:var(--r-md);line-height:1.65 }
pre code { overflow-wrap:normal;white-space:pre }
table { border-collapse:collapse }
th { text-align:left }
hr { border:0;border-top:1px solid var(--border);margin:32px 0 }
.wrap { width:100%;max-width:var(--content-width);padding-inline:var(--gutter);margin-inline:auto }
.section { padding-top:var(--space-section);padding-bottom:var(--space-section) }
.section-head { max-width:760px;margin-bottom:40px }
.section-head p { color:var(--text-muted) }
.grid { display:grid;gap:24px }
.grid>*,:where(.hero-grid,.win-body,.footer-grid,.feature-grid,.pricing-grid,.platform-grid,.article-grid)>* { min-width:0 }
.grid-three { grid-template-columns:repeat(3,minmax(0,1fr)) }
.panel,.card { padding:28px;background:var(--bg-panel);border:1px solid color-mix(in srgb,var(--paper) 65%,var(--border));border-radius:var(--r-xl);box-shadow:var(--shadow-soft),var(--hl-edge);min-width:0 }
.inset-panel { padding:24px;border-radius:var(--r-lg);background:var(--bg-panel-2);border:1px solid var(--border) }
.muted { color:var(--text-muted) }
.mono { font-family:var(--font-mono);font-variant-numeric:tabular-nums }
.no-break { white-space:nowrap }
.sr { position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0 }
.sprite { position:absolute;width:0;height:0;overflow:hidden }
.grad { padding-right:.04em;background:linear-gradient(96deg,var(--accent) 8%,var(--accent-blue) 94%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent }
.h1-line { display:block }
.eyebrow { font-family:var(--font-mono);font-size:12px;font-weight:var(--weight-bold);letter-spacing:.06em;color:var(--accent-dark) }
.btn { display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 26px;border:1px solid transparent;border-radius:var(--r-btn);font-size:17px;font-weight:var(--weight-bold);line-height:1.4;text-align:center;text-decoration:none;flex-shrink:0;white-space:nowrap;transition:transform var(--duration-fast),box-shadow var(--duration-fast),background var(--duration-fast) }
.btn svg { width:18px;height:18px }
.btn-main,.btn-primary { background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--paper);box-shadow:0 18px 34px -16px color-mix(in srgb,var(--accent) 75%,transparent),inset 0 1px 0 color-mix(in srgb,var(--paper) 32%,transparent) }
.btn-main:hover,.btn-primary:hover { transform:translateY(-1px);box-shadow:var(--shadow-soft) }
.btn-main:active,.btn-primary:active { transform:translateY(0) }
.btn-ghost,.btn-secondary { background:color-mix(in srgb,var(--paper) 58%,transparent);color:var(--text);border:1.5px solid color-mix(in srgb,var(--text) 22%,transparent) }
.btn-ghost:hover,.btn-secondary:hover { color:var(--accent-dark);border-color:var(--accent-dark) }
.btn:disabled,.btn[aria-disabled="true"] { color:var(--text-muted);background:var(--bg-panel-2);box-shadow:none;transform:none }
.btn-small { min-height:44px;padding:10px 18px;font-size:var(--text-small) }
.cta-row { display:flex;flex-wrap:wrap;gap:14px;margin-top:32px }
.reveal { transition:opacity var(--duration-reveal) var(--ease-out),transform var(--duration-reveal) var(--ease-out) }
.reveal.pending { opacity:0;transform:translateY(16px) }
.reveal.shown { opacity:1;transform:none }
.prose { max-width:850px;min-width:0;overflow-wrap:break-word }
.prose h2 { margin-top:56px }
.prose h3 { margin-top:32px }
.prose li+li { margin-top:8px }
.prose section[id] { scroll-margin-top:var(--anchor-offset) }
body:has(.toc-tabs) section[id] { scroll-margin-top:var(--toc-landing) }
#server-status { position:relative;display:block;min-height:120px;width:100%;max-width:100%;overflow:hidden;margin-top:24px;margin-bottom:32px }
#server-status>* { max-width:100%;min-width:0 }
#server-status+* { margin-top:32px }
.st-mint { stop-color:var(--accent) }
.st-blue { stop-color:var(--accent-blue) }
.f-white { fill:var(--flag-white) }
.f-red { fill:var(--flag-red) }
.f-navy { fill:var(--flag-navy) }
.f-black { fill:var(--flag-black) }
.f-gold { fill:var(--flag-gold) }
.f-edge { fill:none;stroke:color-mix(in srgb,var(--text) 16%,transparent);stroke-width:.8 }
#site-header { position:relative;z-index:100 }
.top { position:relative;z-index:100;background:color-mix(in srgb,var(--bg-panel) 88%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);backdrop-filter:blur(12px) }
.top-in { display:flex;align-items:center;gap:32px;min-height:var(--header-height);flex-wrap:nowrap }
.brand { display:inline-flex;align-items:center;gap:10px;flex:none;text-decoration:none;color:var(--text) }
.brand-mark { width:30px;height:30px;display:block }
.brand-en { font-family:var(--font-display);font-weight:var(--weight-heavy);font-size:20px;letter-spacing:-.02em }
.brand-zh { font-size:13px;font-weight:var(--weight-medium);color:var(--text-muted);padding-left:10px;border-left:1px solid var(--border);line-height:1.2 }
.nav { flex:1;display:flex;justify-content:center;min-width:0 }
.nav ul { display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0 }
.nav a { display:block;padding:8px 0;font-size:15px;font-weight:var(--weight-medium);color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:color var(--duration-fast) }
.nav a:hover { color:var(--text) }
.nav a[aria-current="page"] { color:var(--text);font-weight:800 }
.tools { display:flex;align-items:center;gap:14px;flex:none }
.lang-wrap { position:relative }
.lang { display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;width:auto;padding:0 12px;font-size:14px;font-weight:var(--weight-medium);color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);white-space:nowrap }
.lang span { white-space:nowrap }
.lang:hover { color:var(--text);border-color:var(--border) }
.lang svg { width:16px;height:16px }
.lang-panel { position:absolute;top:calc(100% + 10px);right:0;z-index:130;width:188px;padding:8px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-violet) }
.lang-panel a { display:flex;align-items:center;min-height:44px;padding:8px 12px;color:var(--text);border-radius:var(--r-xs);text-decoration:none }
.lang-panel a:hover,.lang-panel a[aria-current="true"] { color:var(--accent-dark);background:var(--bg-panel-2) }
.login { display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 20px;border-radius:var(--r-sm);background:var(--text);color:var(--paper);font-size:14.5px;font-weight:var(--weight-bold);text-decoration:none;white-space:nowrap;box-shadow:0 10px 22px -14px color-mix(in srgb,var(--accent) 70%,transparent),inset 0 1px 0 color-mix(in srgb,var(--paper) 18%,transparent);transition:transform var(--duration-fast) }
.login:hover { transform:translateY(-1px) }
.menu-toggle { display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-width:44px;min-height:44px;padding:10px;background:transparent;border:1px solid var(--border);border-radius:var(--r-sm) }
.menu-line { display:block;width:20px;height:2px;background:currentColor;transition:transform var(--duration-fast) }
.menu-toggle[aria-expanded="true"] .menu-line:first-child { transform:translateY(7px) rotate(45deg) }
.menu-toggle[aria-expanded="true"] .menu-line:nth-child(2) { opacity:0 }
.menu-toggle[aria-expanded="true"] .menu-line:last-child { transform:translateY(-7px) rotate(-45deg) }
.nav-drawer { position:fixed;top:var(--header-height);inset-inline:0;z-index:90;height:calc(100dvh - var(--header-height));max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain;padding:20px var(--gutter) 32px;background:var(--bg-panel);border-top:1px solid var(--border) }
.nav-drawer ul { list-style:none;margin:0;padding:0 }
.nav-drawer a { display:flex;align-items:center;width:100%;min-height:48px;padding:12px 16px;color:var(--text);text-decoration:none;border-radius:var(--r-sm) }
.nav-drawer a:hover,.nav-drawer a[aria-current] { background:var(--bg-panel-2);color:var(--accent-dark) }
.drawer-languages { margin-top:20px;border-top:1px solid var(--border);padding-top:16px }
.nav-veil { position:fixed;top:var(--header-height);inset-inline:0;bottom:0;z-index:80;background:color-mix(in srgb,var(--accent-dark) 24%,transparent);border:0 }
html.nav-open { overflow:hidden }
.footer { background:var(--bg-panel-2);border-top:1px solid var(--border);padding-top:56px;padding-bottom:32px }
.footer-grid { display:grid;grid-template-columns:1.2fr 1fr 1.1fr;gap:48px }
.footer-brand p { margin-top:20px;max-width:30em;color:var(--text-muted);font-size:14px }
.footer-title { margin:0 0 16px;font-size:16px;font-weight:800 }
.footer-links { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;list-style:none;margin:0;padding:0 }
.footer-links a,.footer-languages a,.footer-legal a { display:inline-flex;align-items:center;min-height:32px;color:var(--text-muted);font-size:14px;text-decoration:none;overflow-wrap:anywhere }
.footer-links a:hover,.footer-languages a:hover,.footer-legal a:hover { color:var(--accent-dark);text-decoration:underline }
.footer-languages { display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:32px;padding-top:24px;border-top:1px solid var(--border) }
.footer-bottom { display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:24px;color:var(--text-muted);font-size:13px }
.footer-bottom p { margin:0 }
.footer-legal { display:flex;flex-wrap:wrap;gap:20px }
@media (max-width:1350px) {
  .top-in { gap:20px }
  .nav ul { gap:16px }
  .nav a { font-size:14px }
  .tools { gap:8px }
  .lang { padding-inline:8px }
}
@media (max-width:1190px) {
  .nav { display:none }
  .tools { margin-left:auto }
  .menu-toggle { display:flex }
}
@media (max-width:900px) {
  .footer-grid { grid-template-columns:1fr 1fr;gap:32px }
  .footer-brand { grid-column:1/-1 }
  .grid-three { grid-template-columns:1fr }
}
@media (max-width:768px) {
  :root { --gutter:24px;--text-title:40px;--text-h2:32px;--space-section:56px }
  h1 { line-height:1.15;letter-spacing:-.02em }
}
@media (max-width:640px) {
  :root { --gutter:16px;--text-h2:28px;--text-h3:21px }
  .no-break { white-space:normal }
  .wrap { width:100%;padding-inline:var(--gutter) }
  .panel,.card { padding:22px }
  .top-in { gap:8px }
  .brand { gap:6px }
  .brand-mark { width:25px;height:25px }
  .brand-en { font-size:17px }
  .tools { margin-left:auto;gap:4px }
  .login { min-height:38px;padding:8px 12px;font-size:13px }
  .lang { min-height:44px;padding-inline:6px;font-size:12px }
  .lang svg { display:none }
  .menu-toggle { padding:8px;min-width:44px }
  .footer-grid { grid-template-columns:1fr }
  .footer-brand { grid-column:auto }
  .footer-links { gap:6px 16px }
  .tilt,.tilted,[data-tilt] { transform:none }
  .section-head { margin-bottom:28px }
}
@media (max-width:350px) {
  .brand-mark { width:22px;height:22px }
  .brand-en { font-size:15px }
  .login { padding-inline:9px }
  .lang { font-size:11px;padding-inline:3px }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *,*::before,*::after { transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important }
  .reveal,.reveal.pending { opacity:1;transform:none }
}