:root{--font-sans:"PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans CJK SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ink:#0b1119;--ink-2:#3c4b5a;--ink-3:#4a5b6c;--muted:#5b6b7b;--muted-2:#8697a8;--line:#0b11191a;--blue:#0a63d8;--blue-2:#1281ff;--blue-light:#4da3ff;--amber:#ffb020;--amber-ink:#8a5a00;--dark-0:#06090e;--dark-1:#080d13;--dark-2:#0b1119;--dark-3:#0c141f;--light-bg:#f4f7fa;--ease:cubic-bezier(.16, .84, .36, 1);--pad-x:clamp(16px, 4vw, 56px);--max:1480px;--header-h:80px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-spacing-trim:space-first}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;color:var(--ink);background:#e7ecf2;margin:0}h1,h2,h3,h4,p,figure,blockquote{margin:0}a{color:var(--blue);text-decoration:none}a:hover{color:var(--blue-2)}img,video{max-width:100%}img{pointer-events:none;-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button,input,textarea{font-family:inherit}::selection{background:var(--amber);color:#14171c}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes rntUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.js [data-reveal]:not(.in){opacity:0}[data-reveal].in{animation:rntUp .7s var(--ease) both}@keyframes heroRise{0%{opacity:0;filter:blur(6px);transform:translateY(26px)}to{opacity:1;filter:none;transform:none}}@keyframes heroTrack{0%{opacity:0;letter-spacing:.22em}to{opacity:1;letter-spacing:0}}@keyframes heroRule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes heroPulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes stageFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-11px)}}@keyframes heroSheen{0%{transform:translate(-120%)}60%,to{transform:translate(220%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js [data-reveal]:not(.in){opacity:1}}
