/* 流光省金 · 设计系统 v=20260628 — obsidian aurora luxe */
/* 中文标题:--font-disp 优先 Glow Sans SC(可后续子集自托管),缺字回退系统重体 CJK */
/* 拉丁字体自托管(Latin 子集·去 Google Fonts 外部依赖) */
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/hanken-400.woff2") format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/hanken-500.woff2") format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/hanken-700.woff2") format("woff2")}
@font-face{font-family:"Fira Code";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/firacode-400.woff2") format("woff2")}
@font-face{font-family:"Fira Code";font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/firacode-500.woff2") format("woff2")}
@font-face{font-family:"Fira Code";font-style:normal;font-weight:600;font-display:swap;src:url("/assets/fonts/firacode-600.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url("/assets/fonts/cormorant-500i.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:600;font-display:swap;src:url("/assets/fonts/cormorant-600i.woff2") format("woff2")}

:root{
  /* —— 配色:黑曜 + 翡翠流光 + 烫金 —— */
  --bg:#0A1212;          /* 页底 */
  --bg-deep:#06090A;     /* 更深 */
  --panel:#0C1A18;       /* 浅面板 */
  --panel-2:#0A1413;     /* 版块 */
  --panel-3:#08110F;     /* 版块替换 */
  --ink:#06120F;         /* 深底上的反色文字 */
  --jade:#36E0C2;        /* 翡翠主色 */
  --jade-deep:#1AA37F;   /* 翡翠深 */
  --mint:#7BE0A0;        /* 薄荷 */
  --gold:#F0D486;        /* 烫金 */
  --gold-deep:#C79A3E;   /* 深金 */
  --coral:#FF6B4A;       /* 警示(极少) */
  --text:#EAF0EC;        /* 正文 */
  --text-soft:#BCD0C8;   /* 次级 */
  --text-mut:#8FB0A6;    /* 弱化 */
  --text-faint:#5F726C;  /* 极弱 */
  --hair:rgba(255,255,255,.08);
  --hair-strong:rgba(255,255,255,.16);
  --lit:rgba(255,255,255,.32);   /* 受光边 */
  --jade-line:rgba(54,224,194,.32);
  --gold-line:rgba(240,212,134,.32);

  /* —— 字体系统(跨脚本) —— */
  --font-disp:"Glow Sans SC","未来荧黑",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; /* 中文标题 */
  --font-body:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif; /* 正文/UI */
  --font-serif:"Cormorant Garamond",Georgia,serif; /* 拉丁斜体副题 */
  --font-mono:"Fira Code",ui-monospace,"Cascadia Code",Menlo,monospace; /* 数据/序号/码 */

  /* —— 字阶 1.25 模数 —— */
  --t-xs:12px; --t-sm:13px; --t-base:16px; --t-md:18px; --t-lg:21px;
  --t-xl:26px; --t-2xl:33px; --t-3xl:41px; --t-4xl:52px;

  /* —— 间距 8pt —— */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px;

  /* —— 圆角 —— */
  --r-sm:6px; --r-md:9px; --r-lg:14px; --r-pill:999px;

  --maxw:1180px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-body); font-size:var(--t-base); line-height:1.75;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--jade); text-decoration:none}
a:hover{color:var(--mint)}
h1,h2,h3,h4{font-family:var(--font-disp); font-weight:900; line-height:1.22; letter-spacing:-.01em; margin:0}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}
.mono{font-family:var(--font-mono)}
.serif{font-family:var(--font-serif); font-style:italic}
.lumen{color:var(--jade)}
.gold{color:var(--gold)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.nowrap{white-space:nowrap}
.ic{width:1em; height:1em; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; vertical-align:-.14em; flex-shrink:0}
.icon-sprite{position:absolute; width:0; height:0; overflow:hidden}

/* —— 导航 —— */
.site-nav{position:sticky; top:0; z-index:50; background:rgba(8,17,15,.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--hair)}
.site-nav .wrap{display:flex; align-items:center; justify-content:space-between; height:62px}
.brand{display:flex; align-items:center; gap:10px; font-family:var(--font-body); font-weight:700; font-size:var(--t-md); letter-spacing:.04em; color:var(--text)}
.brand:hover{color:var(--text)}
.brand-mark{width:26px; height:26px; flex-shrink:0}
.nav-links{display:flex; gap:22px; font-size:var(--t-sm); color:var(--text-mut)}
.nav-links a{color:var(--text-mut)}
.nav-links a:hover{color:var(--jade)}
.nav-toggle{display:none; width:44px; height:44px; align-items:center; justify-content:center; background:none; border:none; color:var(--text); font-size:22px; cursor:pointer}

/* —— 按钮 —— */
.btn{display:inline-flex; align-items:center; gap:8px; font-family:var(--font-body); font-weight:700; font-size:var(--t-base); padding:13px 22px; border-radius:var(--r-md); cursor:pointer; border:1px solid transparent; transition:filter .2s,transform .1s}
.btn:active{transform:scale(.985)}
.btn-cta{position:relative; overflow:hidden; background:linear-gradient(180deg,#46e9c6,var(--jade-deep)); color:var(--ink); border-top:1px solid var(--lit)}
.btn-cta:hover{filter:brightness(1.08); color:var(--ink)}
.btn-cta .sheen{position:absolute; top:0; left:-45%; width:34%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); transform:skewX(-20deg); animation:sheen 4.2s ease-in-out infinite}
@keyframes sheen{0%{left:-45%}55%,100%{left:135%}}
.btn-ghost{background:transparent; border:1px solid var(--hair-strong); color:var(--text)}
.btn-ghost:hover{border-color:var(--jade); color:var(--jade)}

/* —— Hero —— */
.hero{position:relative; overflow:hidden; border-top:1px solid var(--hair-strong); background:radial-gradient(135% 125% at 78% 22%,#12241F 0%,#0A1413 50%,#06090A 100%)}
.hero .wrap{position:relative; z-index:5; padding-top:var(--s5); padding-bottom:var(--s5); min-height:430px}
.hero-watermark{position:absolute; right:30px; bottom:-50px; font-family:var(--font-disp); font-weight:900; font-size:300px; line-height:.8; color:rgba(54,224,194,.045); z-index:0; pointer-events:none; user-select:none}
.hero-art{position:absolute; right:0; top:30px; z-index:1; pointer-events:none}
.hero-eyebrow{display:flex; align-items:center; gap:9px; margin-bottom:var(--s2); font-family:var(--font-mono); font-size:var(--t-xs); letter-spacing:3px; color:var(--jade)}
.hero-eyebrow::before{content:""; width:22px; height:1px; background:var(--jade)}
.hero-title{font-size:var(--t-3xl); max-width:14ch}
.hero-accent{font-family:var(--font-serif); font-style:italic; font-weight:500; font-size:var(--t-md); color:#9fc4b6; margin:10px 0 14px}
.hero-sub{font-size:var(--t-sm); color:var(--text-soft); max-width:40ch; margin-bottom:var(--s2)}
.hero-stats{display:flex; gap:18px; flex-wrap:wrap; font-family:var(--font-mono); font-size:var(--t-xs); color:var(--text-mut); margin-bottom:var(--s3)}
.hero-stats b{color:var(--text); font-size:15px}
.hero-stats span+span{border-left:1px solid var(--hair-strong); padding-left:18px}
.fineprint{font-size:10px; color:var(--text-faint); margin-top:3px; line-height:1.5}
.hero-col{max-width:56%}

/* aurora 动画 */
.ribbon{animation:drift 8s ease-in-out infinite}
.ribbon-2{animation:drift 8s ease-in-out infinite 1.2s}
@keyframes drift{0%,100%{opacity:.8;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}}
.spin{transform-box:fill-box; transform-origin:center; animation:spin 24s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.halo{transform-box:fill-box; transform-origin:center; animation:halo 3.4s ease-in-out infinite}
@keyframes halo{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:.8;transform:scale(1.1)}}
.mote{animation:mote 5.5s ease-in-out infinite}
@keyframes mote{0%{transform:translateY(8px);opacity:0}30%{opacity:1}100%{transform:translateY(-32px);opacity:0}}

/* —— 披露条 —— */
.disclosure{background:var(--panel); font-size:var(--t-xs); color:var(--text-mut)}
.disclosure .wrap{display:flex; flex-wrap:wrap; gap:6px 18px; justify-content:center; padding:11px 24px}
.disclosure i{color:var(--jade)}

/* —— 流光分隔带 + 发光节点 —— */
.lumen-divider{position:relative; height:1px; background:linear-gradient(90deg,transparent,var(--jade-line) 26%,var(--gold-line) 74%,transparent)}
.lumen-divider .node{position:absolute; top:-5px; width:10px; height:10px; border-radius:50%; background:var(--bg); border:1.5px solid var(--jade); box-shadow:0 0 10px rgba(54,224,194,.75); animation:pulse 2.8s ease-in-out infinite}
.lumen-divider .node.n-l{left:24%} .lumen-divider .node.n-c{left:50%} .lumen-divider .node.n-r{left:76%}
.lumen-divider .node.mint{border-color:var(--mint); box-shadow:0 0 10px rgba(123,224,160,.75)}
.lumen-divider .node.gold{border-color:var(--gold); box-shadow:0 0 10px rgba(240,212,134,.75)}
@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}

/* —— 版块 —— */
.section{padding:var(--s5) 0}
.section.glow-l{background:radial-gradient(70% 90% at 18% 0%,rgba(54,224,194,.06),transparent 60%),var(--panel-2)}
.section.glow-r{background:radial-gradient(70% 90% at 82% 0%,rgba(240,212,134,.06),transparent 60%),var(--panel-3)}
.section-eyebrow{display:flex; align-items:center; gap:9px; margin-bottom:5px; font-family:var(--font-mono); font-size:var(--t-xs); letter-spacing:2px; color:var(--jade)}
.section-eyebrow::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--jade); box-shadow:0 0 8px var(--jade)}
.section-title{font-size:var(--t-lg); margin-bottom:var(--s3); padding-left:16px}

/* —— 流程三步 —— */
.steps{position:relative}
.steps-line{position:absolute; top:18px; left:5%; right:5%; height:2px; background:linear-gradient(90deg,var(--jade),var(--mint),var(--gold))}
.steps-row{display:flex; justify-content:space-between; position:relative; gap:14px}
.step{flex:1; text-align:center}
.step .num{width:44px; height:44px; margin:0 auto 12px; border-radius:50%; background:var(--bg); display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:17px}
.step .num.s1{border:1.5px solid var(--jade); color:var(--jade); box-shadow:0 0 12px rgba(54,224,194,.5)}
.step .num.s2{border:1.5px solid var(--mint); color:var(--mint); box-shadow:0 0 12px rgba(123,224,160,.5)}
.step .num.s3{border:1.5px solid var(--gold); color:var(--gold); box-shadow:0 0 12px rgba(240,212,134,.5)}
.step h3{font-family:var(--font-body); font-weight:500; font-size:var(--t-base); margin-bottom:5px}
.step p{font-size:var(--t-xs); color:var(--text-mut); line-height:1.6; margin:0}

/* —— 工具台 —— */
.tools-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:16px}
.tool-feature{position:relative; border:1px solid rgba(54,224,194,.4); border-radius:12px; padding:18px; background:linear-gradient(180deg,#0E1C1A,#0A1413); box-shadow:inset 0 0 24px rgba(54,224,194,.1)}
.tool-feature .badge{background:rgba(240,212,134,.16); color:var(--gold); font-size:10px; padding:3px 8px; border-radius:var(--r-pill); font-family:var(--font-mono)}
.tool-feature h3{font-family:var(--font-body); font-weight:700; font-size:var(--t-md)}
.mini-ledger{font-family:var(--font-mono); font-size:var(--t-xs); background:#06100E; border:1px solid var(--hair); border-radius:8px; padding:10px; margin-top:12px}
.mini-ledger .r{display:flex; justify-content:space-between; padding:3px 0}
.tool-list{display:flex; flex-direction:column; border:1px solid var(--hair); border-radius:12px; overflow:hidden}
.tool-row{display:flex; align-items:center; justify-content:space-between; padding:13px; border-bottom:1px solid var(--hair); border-left:2px solid transparent; color:var(--text); transition:background .2s,border-color .2s; min-height:46px}
.tool-row:last-child{border-bottom:none}
.tool-row:hover{background:rgba(54,224,194,.07); border-left-color:var(--jade); color:var(--text)}
.tool-row i{color:var(--jade)}

/* —— 文章编号索引 —— */
.idx-row{display:flex; align-items:flex-start; gap:14px; padding:13px 12px; border-top:1px solid var(--hair); border-left:2px solid transparent; color:var(--text); transition:background .2s,border-color .2s}
.idx-row:hover{background:rgba(54,224,194,.07); border-left-color:var(--jade); color:var(--text)}
.idx-row:last-child{border-bottom:1px solid var(--hair)}
.idx-row.corner{border-left-color:var(--jade-deep)}
.idx-num{font-family:var(--font-mono); color:var(--jade-deep); font-size:var(--t-sm); padding-top:2px}
.idx-row.corner .idx-num{color:var(--jade)}
.idx-row h3{font-family:var(--font-body); font-weight:500; font-size:var(--t-base); margin-bottom:3px}
.idx-row .dek{font-size:var(--t-xs); color:var(--text-mut); line-height:1.6}
.idx-row .meta{font-size:var(--t-xs); color:var(--text-faint)}
.tag-corner{font-size:10px; color:var(--gold); border:1px solid var(--gold-line); border-radius:4px; padding:1px 6px; margin-left:4px}

/* —— 信任条 —— */
.trust .wrap{display:flex; flex-wrap:wrap; gap:10px 24px; justify-content:center; padding:18px 24px; font-size:var(--t-xs); color:var(--text-mut)}
.trust{background:var(--panel)} .trust i{color:var(--jade)}

/* —— 页脚 —— */
.footer-band{height:2px; background:linear-gradient(90deg,transparent,var(--jade) 30%,var(--gold) 70%,transparent); opacity:.55}
.site-footer{background:var(--bg-deep); padding:var(--s4) 0}
.footer-cols{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:18px}
.footer-cols h4{font-family:var(--font-body); font-weight:500; font-size:var(--t-sm); color:var(--text); margin-bottom:6px}
.footer-cols a{display:block; font-size:var(--t-sm); color:var(--text-mut); line-height:2}
.footer-cols a:hover{color:var(--jade)}
.footer-cols p{font-size:var(--t-xs); color:var(--text-faint); line-height:1.7}
.footer-legal{margin-top:20px; padding-top:14px; border-top:1px solid var(--hair); font-size:10.5px; color:var(--text-faint); line-height:1.6}

/* —— 文章页 —— */
.article-head{padding:var(--s5) 0 var(--s3); background:radial-gradient(120% 100% at 80% 0%,#12241F,#0A1212 70%); border-top:1px solid var(--hair-strong)}
.breadcrumb{font-size:var(--t-xs); color:var(--text-mut); margin-bottom:var(--s2)}
.breadcrumb a{color:var(--text-mut)} .breadcrumb a:hover{color:var(--jade)}
.article-head h1{font-size:var(--t-2xl); max-width:24ch; margin-bottom:var(--s2)}
.article-meta{display:flex; flex-wrap:wrap; gap:14px; font-size:var(--t-xs); color:var(--text-mut); font-family:var(--font-mono)}
.article-cover{margin:var(--s3) 0; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--hair)}
.article-body{max-width:760px; margin:0 auto; padding:var(--s4) 24px var(--s6)}
.prose{font-size:var(--t-base); color:var(--text-soft); line-height:1.85}
.prose h2{font-size:var(--t-xl); color:var(--text); margin:var(--s4) 0 var(--s2); scroll-margin-top:80px}
.prose h3{font-size:var(--t-md); color:var(--text); margin:var(--s3) 0 var(--s1); font-family:var(--font-body); font-weight:700}
.prose p{margin:0 0 1.1em}
.prose ul,.prose ol{margin:0 0 1.1em; padding-left:1.4em}
.prose li{margin:.4em 0}
.prose strong{color:var(--text)}
.prose a{border-bottom:1px solid var(--jade-line)}
.prose blockquote{margin:var(--s3) 0; padding:14px 18px; border-left:3px solid var(--jade); background:rgba(54,224,194,.05); border-radius:0 var(--r-md) var(--r-md) 0; color:var(--text-soft)}
.toc{background:var(--panel-2); border:1px solid var(--hair); border-radius:var(--r-md); padding:16px 20px; margin:var(--s3) 0}
.toc strong{font-family:var(--font-body); font-size:var(--t-sm); color:var(--text); display:block; margin-bottom:8px}
.toc a{font-size:var(--t-sm); color:var(--text-mut); display:block; line-height:1.9}
.toc a:hover{color:var(--jade)}
.table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; margin:var(--s2) 0; border:1px solid var(--hair); border-radius:10px}
.table-wrap .data-table{margin:0; border:0}
.data-table{width:100%; border-collapse:collapse; margin:var(--s2) 0; font-size:var(--t-sm); font-family:var(--font-mono)}
.data-table th,.data-table td{border:1px solid var(--hair); padding:9px 11px; text-align:left}
.data-table th{background:var(--panel-3); color:var(--text); font-weight:500}
.data-table td{color:var(--text-soft)}
.callout{border:1px solid var(--gold-line); background:rgba(240,212,134,.06); border-radius:var(--r-md); padding:14px 18px; margin:var(--s3) 0; font-size:var(--t-sm); color:var(--text-soft)}
.callout.warn{border-color:rgba(255,107,74,.4); background:rgba(255,107,74,.06)}
.cta-inline{display:flex; flex-wrap:wrap; align-items:center; gap:14px; justify-content:space-between; background:linear-gradient(180deg,#0E1C1A,#0A1413); border:1px solid rgba(54,224,194,.35); border-radius:var(--r-lg); padding:18px 20px; margin:var(--s4) 0}
.cta-inline .l b{color:var(--gold); font-family:var(--font-mono)}
/* 首页新手起点入口(注册教程) */
.startguide{max-width:1080px; margin:26px auto 0; display:flex; align-items:center; gap:14px 18px; flex-wrap:wrap; padding:16px 20px; background:linear-gradient(100deg,rgba(54,224,194,.09),rgba(240,212,134,.06)); border:1px solid var(--gold-line); border-radius:var(--r-lg); color:var(--text); text-decoration:none; transition:border-color .2s, transform .2s}
.startguide:hover{border-color:var(--jade); transform:translateY(-1px)}
.sg-badge{flex-shrink:0; font-family:var(--font-mono); font-size:var(--t-xs); letter-spacing:2px; color:var(--ink); background:var(--gold); padding:5px 10px; border-radius:6px}
.sg-text{flex:1 1 320px; font-size:var(--t-sm); color:var(--text-soft); line-height:1.55}
.sg-text b{color:var(--text)}
.sg-go{flex-shrink:0; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:var(--t-sm); color:var(--jade); white-space:nowrap}
@media(max-width:640px){.startguide{padding:14px 16px} .sg-go{width:100%}}
.faq dt{font-family:var(--font-body); font-weight:700; color:var(--text); margin-top:var(--s2)}
.faq dd{margin:.4em 0 0; color:var(--text-soft)}
.handson{border-left:3px solid var(--mint); background:rgba(123,224,160,.05); padding:14px 18px; border-radius:0 var(--r-md) var(--r-md) 0; margin:var(--s3) 0; color:var(--text-soft); font-size:var(--t-sm)}
.refs{margin-top:var(--s4); padding-top:var(--s2); border-top:1px solid var(--hair); font-size:var(--t-xs); color:var(--text-mut)}
.refs a{color:var(--text-mut); border-bottom:1px solid var(--hair)}

/* —— 工具页 —— */
.tool-app{max-width:760px; margin:0 auto; padding:var(--s4) 24px var(--s6)}
.tool-panel{background:var(--panel-2); border:1px solid var(--hair); border-top:1px solid var(--hair-strong); border-radius:var(--r-lg); padding:var(--s3)}
.field{margin-bottom:var(--s2)}
.field label{display:block; font-size:var(--t-sm); color:var(--text-mut); margin-bottom:6px}
.field input,.field select{width:100%; height:46px; background:var(--bg-deep); border:1px solid var(--hair-strong); border-radius:var(--r-md); color:var(--text); font-family:var(--font-mono); font-size:var(--t-base); padding:0 14px}
.field input:focus,.field select:focus{outline:none; border-color:var(--jade); box-shadow:0 0 0 3px rgba(54,224,194,.15)}
.toggle-row{display:flex; align-items:center; gap:10px; min-height:44px}
.result{margin-top:var(--s3); padding:var(--s3); border-radius:var(--r-lg); background:radial-gradient(120% 120% at 80% 0%,#12302A,#0A1413 70%); border:1px solid rgba(54,224,194,.35)}
.result .big{font-family:var(--font-mono); font-size:var(--t-3xl); color:var(--jade); font-weight:600}
.result .rrow{display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:var(--t-sm); padding:4px 0; color:var(--text-soft)}

/* —— 响应式 —— */
@media (max-width:760px){
  :root{--t-3xl:30px; --t-2xl:26px; --t-xl:21px; --t-lg:19px}
  .nav-links{display:none}
  .nav-toggle{display:flex}
  .nav-links.open{display:flex; position:absolute; top:62px; left:0; right:0; flex-direction:column; gap:0; background:var(--panel-3); border-bottom:1px solid var(--hair); padding:8px 0}
  .nav-links.open a{padding:12px 24px; min-height:44px; display:flex; align-items:center}
  .hero-col{max-width:100%}
  .hero-art{opacity:.5; right:-60px}
  .hero-watermark{font-size:200px}
  .hero .wrap{min-height:auto}
  .tools-grid{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:1fr 1fr}
  .steps-row{flex-direction:column; gap:var(--s2)}
  .steps-line{display:none}
  .step{display:flex; gap:14px; text-align:left; align-items:flex-start}
  .step .num{margin:0; flex-shrink:0}
}
@media (max-width:380px){
  :root{--t-3xl:27px}
  .hero-stats{gap:10px}
  .hero-stats span+span{border-left:none; padding-left:0}
}
@media (prefers-reduced-motion:reduce){
  .ribbon,.ribbon-2,.spin,.halo,.mote,.btn-cta .sheen,.lumen-divider .node{animation:none}
}

/* —— i18n / English(拉丁标题用自托管 Hanken · 语种切换器) —— */
html[lang="en"]{--font-disp:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3,html[lang="en"] h4,html[lang="en"] .hero-title{font-weight:700; letter-spacing:-.015em}
html[lang="en"] .prose{line-height:1.7}
html[lang="en"] .prose p{max-width:72ch}
.lang-switch{display:inline-flex; align-items:center; gap:2px}
.lang-switch a{font-size:12px; color:var(--text-mut); padding:5px 9px; border-radius:var(--r-sm); line-height:1; white-space:nowrap}
.lang-switch a:hover{color:var(--jade)}
.lang-switch a.active{color:var(--jade); background:rgba(54,224,194,.12)}
.nav-right{display:flex; align-items:center; gap:10px}
@media (max-width:760px){ .lang-switch a{padding:5px 7px} }
