:root{
  --bg:#E6ECF5;
  --hero-top:#EEF2F9;
  --hero-bottom:#DFE6F2;
  --panel:#F7F9FD;
  --surface:#FFFFFF;
  --groove:#D9E1EF;
  --groove-soft:#EBEFF7;
  --groove-deep:#CDD6E6;
  --plate-top:#DCE3F0;
  --plate-bottom:#D4DCEB;
  --border:#C9D3E4;
  --border-soft:#DDE3EE;
  --accent:#9E2A63;
  --accent-dark:#7A1D4B;
  --accent-2:#D45A92;
  --accent-tint:rgba(158,42,99,.08);
  --accent-tint-2:rgba(158,42,99,.14);
  --accent-line:rgba(158,42,99,.30);
  --text:#141B2D;
  --muted:#55607A;
  --muted-2:#7D879D;
  --ink:#141B2D;
  --on-accent:#FFFFFF;
  --on-ink:#F7F9FD;
  --on-ink-muted:rgba(247,249,253,.66);
  --on-ink-hover:rgba(247,249,253,.12);
  --success:#1F8A5B;
  --success-tint:rgba(31,138,91,.11);
  --success-ring:rgba(31,138,91,.18);
  --warn:#B7791F;
  --warn-tint:rgba(183,121,31,.13);
  --warn-ring:rgba(183,121,31,.22);
  --error:#C53030;
  --error-tint:rgba(197,48,48,.10);
  --wash-accent:rgba(158,42,99,.04);
  --wash-cool:rgba(56,98,182,.04);
  --hl:rgba(255,255,255,.92);
  --hl-soft:rgba(255,255,255,.28);
  --transparent:transparent;
  --shadow-plate:0 44px 90px -34px rgba(158,42,99,.10),0 22px 48px -22px rgba(158,42,99,.10),0 1px 2px rgba(20,27,45,.05);
  --shadow-win:0 18px 36px -20px rgba(158,42,99,.10),0 1px 2px rgba(20,27,45,.05);
  --shadow-card:0 8px 20px -12px rgba(158,42,99,.10),0 1px 1px rgba(20,27,45,.04);
  --shadow-float:0 18px 40px -14px rgba(158,42,99,.18),0 2px 6px rgba(20,27,45,.06);
  --shadow-cta:0 14px 30px -12px rgba(158,42,99,.45);
  --logo-filter:drop-shadow(0 4px 8px rgba(158,42,99,.22));
  --flag-white:#FFFFFF;
  --flag-us-red:#B22234;
  --flag-us-blue:#3C3B6E;
  --flag-sg-red:#EF3340;
  --flag-jp-red:#BC002D;
  --flag-hk-red:#DE2910;
  --flag-de-black:#1A1A1A;
  --flag-de-red:#DD0000;
  --flag-de-gold:#FFCE00;
  --flag-gb-blue:#012169;
  --flag-gb-red:#C8102E;
  --flag-edge:rgba(20,27,45,.16);
  --font-display:"Inter","Noto Sans SC","PingFang SC","Hiragino Sans","Malgun Gothic","Microsoft YaHei",system-ui,sans-serif;
  --font-body:"Inter","Noto Sans SC","PingFang SC","Hiragino Sans","Malgun Gothic","Microsoft YaHei",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --r-xs:4px;
  --r-sm:6px;
  --r-md:10px;
  --r-pill:999px;
  --r-circle:50%;
  --r-bubble:12px 12px 4px 12px;
  --r-keyword:3px;
  --wrap:1280px;
  --gutter:32px;
  --anchor-offset:80px;
  --toc-offset:16px;
  --toc-landing:96px;
  --duration:.55s;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--anchor-offset);scroll-behavior:smooth}
html.nav-open{overflow:hidden}
body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.2em}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button,a,summary{-webkit-tap-highlight-color:var(--accent-tint)}
button{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[hidden]{display:none!important}
img{max-width:100%;height:auto}
svg{flex-shrink:0}
h1,h2,h3{font-family:var(--font-display);text-wrap:balance;overflow-wrap:break-word}
h1{font-size:clamp(52px,5vw,64px);line-height:1.12;letter-spacing:-.02em;font-weight:800}
h2{font-size:clamp(28px,3vw,40px);line-height:1.22;letter-spacing:-.02em;margin:0 0 20px}
h3{font-size:22px;line-height:1.35;margin:0 0 12px}
p{margin:0 0 20px}
ul,ol{padding-left:1.4em}
code{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.9em}
pre{max-width:100%;overflow-x:auto;background:var(--groove);border:1px solid var(--border);border-radius:var(--r-sm);padding:20px}
pre code{overflow-wrap:normal;white-space:pre}
hr{border:0;border-top:1px solid var(--border);margin:32px 0}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.no-break{white-space:nowrap}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter);min-width:0}
.section{padding-top:72px;padding-bottom:72px}
.section-head{max-width:760px;margin-bottom:32px}
.muted{color:var(--muted)}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.grid-3>*,.grid-5>*,.hero-top>*,.appbody>*,.panel>*,.feature-layout>*{min-width:0}
.prose{max-width:840px;min-width:0;line-height:1.85}
.prose h2{margin-top:48px}
.prose h3{margin-top:32px}
.prose a{color:var(--accent-dark)}
.prose li+li{margin-top:8px}
.prose p,.prose li{overflow-wrap:anywhere}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 26px;border:0;border-radius:var(--r-pill);font-family:var(--font-body);font-size:16px;font-weight:600;text-decoration:none;white-space:nowrap;flex-shrink:0}
.btn-primary{background:linear-gradient(135deg,var(--accent-2) 0%,var(--accent) 58%,var(--accent-dark) 100%);color:var(--on-accent);box-shadow:var(--shadow-cta),inset 0 1px 0 var(--hl-soft)}
.btn-primary:hover,.btn-primary.is-hover{background:linear-gradient(135deg,var(--accent),var(--accent-dark))}
.btn-ghost,.btn-secondary{border:1px solid var(--ink);color:var(--ink);background:var(--transparent)}
.btn-ghost:hover,.btn-secondary:hover{background:var(--surface)}
.btn:active{transform:translateY(1px)}
.btn:disabled,.btn[aria-disabled="true"]{background:var(--groove);color:var(--muted);box-shadow:none;cursor:not-allowed}
.btn-small{height:36px;padding-inline:18px;font-size:14px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.card,.surface-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-card),inset 0 1px 0 var(--hl)}
.card{padding:8px}
.surface-panel{padding:24px;box-shadow:var(--shadow-win),inset 0 1px 0 var(--hl)}
.reveal{transition:opacity var(--duration) ease,transform var(--duration) ease}
.reveal.pending{opacity:0;transform:translateY(16px)}
.reveal.shown{opacity:1;transform:none}
#server-status{position:static;display:block;min-height:48px;max-width:100%;overflow:hidden;margin:24px 0}
#server-status+*{margin-top:24px}
.decor-region{position:relative;overflow-x:clip}
.decor-layer{position:absolute;inset:10% 4%;pointer-events:none;background:linear-gradient(120deg,var(--wash-accent),var(--wash-cool));border-radius:var(--r-sm)}
.ann-toggle{position:absolute;opacity:0;pointer-events:none}
.ann{background:var(--ink);color:var(--on-ink)}
.ann-toggle:checked+.ann{display:none}
.ann-in{position:relative;height:40px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:14px;font-weight:500;letter-spacing:.01em}
.ann-btn{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 13px;border-radius:var(--r-pill);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;text-decoration:none;box-shadow:inset 0 1px 0 var(--hl-soft)}
.ann-btn:hover{background:var(--accent-dark)}
.ann-x{position:absolute;right:32px;top:6px;width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:var(--r-xs);background:var(--transparent);color:var(--on-ink-muted);cursor:pointer}
.ann-x:hover{background:var(--on-ink-hover);color:var(--on-ink)}
.top,.site-head{background:linear-gradient(115deg,var(--wash-accent),var(--wash-cool)),linear-gradient(180deg,var(--hero-top),var(--hero-bottom))}
.top .site-head{background:var(--transparent)}
.site-head{position:relative;z-index:60;border-bottom:1px solid var(--border-soft)}
.head-in{height:64px;display:flex;align-items:center;position:relative}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);flex-shrink:0}
.logo-mark{display:block;width:30px;height:30px;filter:var(--logo-filter)}
.brand-en{font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:-.02em}
.brand-zh{font-size:13px;font-weight:500;color:var(--muted);padding-left:10px;border-left:1px solid var(--border)}
.nav{display:flex;align-items:stretch;height:64px;margin-left:36px}
.nav ul{display:flex;align-items:center;list-style:none;margin:0;padding:0;height:100%}
.nav li{height:100%}
.nav a{position:relative;display:flex;align-items:center;height:100%;padding:0 13px;font-size:15px;font-weight:500;color:var(--muted);text-decoration:none;white-space:nowrap}
.nav a:hover{color:var(--text)}
.nav a[aria-current="page"]{color:var(--text);font-weight:600}
.nav a[aria-current="page"]::after{content:"";position:absolute;left:13px;right:13px;bottom:-1px;height:2px;border-radius:var(--r-xs);background:var(--accent)}
.head-actions{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}
.lang-wrap{position:relative}
.lang{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;min-width:44px;width:auto;padding:0 10px;border:0;border-radius:var(--r-sm);background:var(--transparent);font-size:14px;color:var(--muted)}
.lang span{white-space:nowrap}
.lang:hover{background:var(--accent-tint);color:var(--text)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-float);z-index:65}
.lang-menu a{display:flex;align-items:center;min-height:44px;padding:8px 12px;text-decoration:none;white-space:nowrap}
.lang-menu a:hover,.lang-menu a[aria-current]{background:var(--accent-tint);color:var(--accent-dark)}
.login{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 18px;border-radius:var(--r-pill);background:var(--ink);color:var(--on-ink);font-size:14px;font-weight:600;text-decoration:none;box-shadow:inset 0 1px 0 var(--hl-soft)}
.login:hover{background: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)}
.mobile-drawer{display:none;background:var(--surface)}
.menu-veil{position:fixed;inset:0;z-index:55;border:0;background:var(--accent-line)}
.site-footer{background:var(--panel);border-top:1px solid var(--border);padding-top:48px;padding-bottom:24px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.footer-grid>*{min-width:0}
.footer-brand p{max-width:330px;margin-top:20px;color:var(--muted);font-size:14px}
.footer-title{font-size:15px;font-weight:700;margin:0 0 14px}
.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.footer-links a{display:inline-flex;align-items:center;min-height:28px;color:var(--muted);text-decoration:none;font-size:14px;overflow-wrap:anywhere}
.footer-links a:hover{color:var(--accent)}
.footer-bottom{margin-top:32px;padding-top:20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--muted)}
.footer-legal{display:flex;flex-wrap:wrap;gap:16px}
.footer-legal a{display:inline-flex;align-items:center;min-height:28px}
@media(max-width:1180px){.nav{margin-left:20px}.nav a{padding-inline:9px;font-size:14px}}
@media(max-width:1080px){
  .head-in{height:64px}
  .nav{display:none}
  .head-actions{margin-left:auto}
  .menu-toggle{display:inline-flex}
  .mobile-drawer:not([hidden]){display:block;position:absolute;top:100%;left:0;right:0;z-index:64;padding:16px var(--gutter);border-bottom:1px solid var(--border);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;box-shadow:var(--shadow-win)}
  .mobile-drawer ul{list-style:none;margin:0;padding:0}
  .mobile-drawer a{display:flex;align-items:center;width:100%;min-height:44px;padding:12px 14px;text-decoration:none;border-bottom:1px solid var(--border-soft)}
  .mobile-drawer a[aria-current]{color:var(--accent-dark);background:var(--accent-tint)}
  .drawer-language-title{margin:20px 14px 8px;color:var(--muted);font-size:13px}
}
@media(max-width:768px){
  :root{--gutter:18px}
  h1{font-size:38px}
  h2{font-size:30px}
  .section{padding-top:48px;padding-bottom:48px}
  .grid-3{grid-template-columns:1fr}
  .grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brand-zh{display:none}
  .ann-in{font-size:13px;gap:10px;padding-right:40px}
  .ann-x{right:10px}
}
@media(max-width:640px){
  .no-break{white-space:normal}
  .tilt,.decor-tilt,[data-tilt]{transform:none}
  .decor-layer{max-width:100%}
  .head-actions{margin-left:auto;gap:4px}
  .lang{padding-inline:6px}
  .login{padding-inline:13px}
  .brand{gap:7px}
  .brand-en{font-size:17px}
  .ann-in{height:auto;min-height:40px;font-size:11px;gap:6px;padding-top:6px;padding-bottom:6px}
  .ann-btn{font-size:11px;padding-inline:9px;flex-shrink:0}
  .footer-grid{grid-template-columns:1fr}
  .surface-panel{padding:20px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal.pending,.reveal.shown{opacity:1;transform:none;transition:none}
}