:root{--bg: #0a0a13;--bg-raise: #12121f;--ink: #eceaf6;--ink-dim: #a9a5c4;--ink-faint: #6f6b8f;--line: rgba(169, 165, 196, .14);--rose: #ff8ac2;--violet: #b28dff;--cyan: #7fd8e8;--gold: #f2c14e;--accent: var(--rose);--font-display: "Fraunces", "Songti SC", "Noto Serif SC", serif;--font-body: "Instrument Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;--radius: 18px;--w: min(1120px, calc(100vw - 48px) )}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:#ff8ac259}.aurora{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.aurora:before,.aurora:after{content:"";position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(90px);opacity:.32;animation:drift 26s ease-in-out infinite alternate}.aurora:before{background:radial-gradient(circle at 30% 30%,#ff8ac2 0%,#b28dff 45%,transparent 70%);top:-25vmax;right:-18vmax}.aurora:after{background:radial-gradient(circle at 60% 60%,#2a4a8a 0%,#7fd8e8 55%,transparent 75%);bottom:-30vmax;left:-20vmax;animation-delay:-13s}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(6vmax,4vmax,0) scale(1.15)}}.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.wrap{width:var(--w);margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3{font-family:var(--font-display);font-weight:560;letter-spacing:-.01em}.display{font-family:var(--font-display);font-style:italic;font-weight:480;background:linear-gradient(105deg,#ffd9ec 5%,var(--rose) 35%,var(--violet) 65%,var(--cyan) 95%);-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint)}.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;transition:transform .25s cubic-bezier(.2,.9,.3,1.4),box-shadow .25s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(120deg,var(--rose),var(--violet));color:#16081f;box-shadow:0 6px 30px #ff8ac259}.btn-primary:hover{box-shadow:0 10px 40px #b28dff80}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:#12121f80;backdrop-filter:blur(8px)}.btn-ghost:hover{border-color:#ff8ac266}.card{background:#12121f9e;border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(14px)}code,pre{font-family:var(--font-mono);font-size:.88em}pre{background:#07070e;border:1px solid var(--line);border-radius:12px;padding:18px 22px;overflow-x:auto;line-height:1.7}:not(pre)>code{background:#b28dff1f;border-radius:6px;padding:2px 7px;color:#d7c8ff}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);background:#0a0a13b8;border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{font-family:var(--font-display);font-style:italic;font-size:21px;color:var(--ink);text-decoration:none}.logo em{color:var(--rose);font-style:italic}.nav{display:flex;align-items:center;gap:26px}.nav a{color:var(--ink-dim);text-decoration:none;font-size:14.5px;transition:color .2s}.nav a:hover{color:var(--ink)}.lang-switch{font-family:var(--font-mono);font-size:12.5px;border:1px solid var(--line);border-radius:999px;padding:5px 14px!important}.site-footer{margin-top:110px;border-top:1px solid var(--line);padding:44px 0 56px;font-size:13.5px;color:var(--ink-faint)}.site-footer a{color:var(--ink-dim)}.site-footer .cols{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;margin-bottom:26px}.site-footer nav{display:flex;gap:20px;flex-wrap:wrap}.reveal{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.nav a:not(.lang-switch):not(.nav-keep){display:none}body{font-size:15.5px}}
