/* 刘金龙 OPC · v12「墨金编年」Ink & Gold Chronicle
   黑底 · 一种香槟金 · 宋体大标题 · 等宽编号 · 细线编年。
   标题宋体为自托管子集（assets/fonts/serif-700.woff / serif-900.woff），正文用系统黑体，国内可直接访问。 */
@font-face{font-family:"OPC Serif";src:url("fonts/serif-700.woff") format("woff");font-weight:500 800;font-display:swap}
@font-face{font-family:"OPC Serif";src:url("fonts/serif-900.woff") format("woff");font-weight:850 900;font-display:swap}
:root{
  --bg:#09090A;--bg2:#101012;--bg3:#17171A;--bgalt:#0D0D0F;
  --ink:#EDE7DA;--ink2:#ABA599;--ink3:#8C877E;
  --gold:#D4AF6A;--gold2:#EACB8E;--gold3:#8F7647;--goldbg:rgba(212,175,106,.1);
  --line:rgba(237,231,218,.10);--line2:rgba(237,231,218,.18);
  --warn:#E09A5B;
  --ease:cubic-bezier(.2,.7,.1,1);
  --serif:"OPC Serif","Noto Serif SC","Noto Serif CJK SC","Source Han Serif SC","Songti SC","STSong",serif;
  --sans:"PingFang SC","HarmonyOS Sans SC","MiSans","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC","Hiragino Sans GB",system-ui,sans-serif;
  --mono:"JetBrains Mono","SF Mono","Cascadia Mono",Consolas,"DejaVu Sans Mono",ui-monospace,monospace;
  --gl:max(20px,env(safe-area-inset-left,0px));--gr:max(20px,env(safe-area-inset-right,0px));
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;z-index:80;pointer-events:none;background-image:radial-gradient(rgba(237,231,218,.03) 1px,transparent 1px);background-size:4px 4px}
img,svg{max-width:100%}img{display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
button{font-family:inherit}
::selection{background:var(--gold);color:#09090A}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
main{display:block;position:relative}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--gold);color:#09090A;padding:8px 14px;border-radius:4px}.skip:focus{left:16px}
.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}

/* ---------- 字体与文字 ---------- */
.serif{font-family:var(--serif)}
.mono{font-family:var(--mono);letter-spacing:.02em}
.wrap{width:100%;max-width:1312px;margin:0 auto;padding-left:max(var(--gl),clamp(20px,4.4vw,64px));padding-right:max(var(--gr),clamp(20px,4.4vw,64px))}
.wrap.narrow{max-width:960px}
.gold{color:var(--gold)}.ink2,.mute{color:var(--ink2)}.ink3,.aux{color:var(--ink3)}.hi{color:var(--ink)}
.idx{font-family:var(--mono);font-size:12px;line-height:1.4;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:14px}
.idx::before{content:"";width:28px;height:1px;background:var(--gold);flex:none}
.idx.bare::before{display:none}
.display,.h1,.h2,.h3{font-family:var(--serif);text-wrap:balance;color:var(--ink)}
.display{font-weight:900;font-size:clamp(52px,7.6vw,116px);line-height:1.04;letter-spacing:-.035em}
.h1{font-weight:900;font-size:clamp(42px,6vw,92px);line-height:1.08;letter-spacing:-.03em}
.h2{font-weight:700;font-size:clamp(32px,4.2vw,62px);line-height:1.15;letter-spacing:-.02em}
.h2.m{font-size:clamp(30px,3.8vw,54px)}
.h3{font-weight:700;font-size:clamp(21px,2vw,28px);line-height:1.32;letter-spacing:-.01em}
.h4{font-size:18px;font-weight:600;line-height:1.5;color:var(--ink)}
.lead{font-size:clamp(16px,1.35vw,19px);line-height:1.85;color:var(--ink2);max-width:34em}
.small{font-size:14px;line-height:1.75;color:var(--ink2)}
.tiny{font-size:12.5px;line-height:1.6;color:var(--ink3)}
.num{font-family:var(--serif);font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.nw{white-space:nowrap}
p,li{text-wrap:pretty}

/* ---------- 版式 ---------- */
.sec{padding:clamp(96px,11vw,168px) 0;position:relative}
.sec.tight{padding:clamp(64px,7vw,112px) 0}
.sec.top0{padding-top:0}
.sec.alt{background:var(--bgalt)}
.bt{border-top:1px solid var(--line)}.bb{border-bottom:1px solid var(--line)}
.head{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,4vw,64px);align-items:start;margin-bottom:clamp(48px,6vw,88px)}
.head .lead{margin-top:24px}
.head2{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(40px,5vw,64px)}
.row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,32px)}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.cols>*{padding:28px 28px 32px 0;border-right:1px solid var(--line);margin-right:28px;min-width:0}
.cols>*:last-child{border-right:0;margin-right:0}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:center}
.mark{position:absolute;pointer-events:none;opacity:.06;z-index:0}
.rel{position:relative;z-index:1}

/* ---------- 导航 ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(9,9,10,.78);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.scrolled{border-bottom-color:var(--line)}
.nav-in{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);white-space:nowrap}
.brand img{width:34px;height:34px;display:block}
.brand b{font-family:var(--serif);font-weight:700;font-size:19px;letter-spacing:.02em}
.brand i{font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--gold);border:1px solid var(--gold3);padding:2px 6px;border-radius:3px}
.menu{display:flex;gap:clamp(18px,2.4vw,36px);font-size:15px;color:var(--ink2)}
.menu a{position:relative;padding:6px 0;transition:color .3s var(--ease)}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.menu a:hover,.menu a[aria-current="page"]{color:var(--ink)}
.menu a:hover::after,.menu a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.navcta{display:flex;align-items:center;gap:14px}
.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--line2);border-radius:999px;background:transparent;color:var(--ink);align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s,color .3s}
.menu-btn[aria-expanded="true"]{border-color:var(--gold);color:var(--gold)}
.drawer{display:none}
.drawer>a{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-weight:700;font-size:28px;color:var(--ink)}
.drawer>a span{font-family:var(--mono);font-size:12px;color:var(--ink3);font-weight:400}
.drawer>a.u{color:var(--gold)}.drawer>a.u span{color:var(--gold)}
.drawer .dr-cta{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.drawer .dr-cta p{text-align:center;font-size:13px;color:var(--ink3)}

/* ---------- 按钮与链接 ---------- */
.btn,.btn-1,.btn-2{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 28px;border-radius:999px;font-size:16px;font-weight:600;border:1px solid var(--gold);cursor:pointer;white-space:nowrap;position:relative;transition:background .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s,color .35s;text-decoration:none;font-family:inherit;letter-spacing:.01em}
.btn,.btn-1{background:var(--gold);color:#09090A}
a.btn,a.btn-1{color:#09090A}
.btn:hover,.btn-1:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:0 14px 36px -14px rgba(212,175,106,.55)}
.btn svg,.btn-1 svg{transition:transform .4s var(--ease);flex:none}
.btn:hover svg,.btn-1:hover svg{transform:translateX(4px)}
.btn.ghost,.btn-2{background:transparent;color:var(--ink);border-color:var(--line2);font-weight:500}
a.btn.ghost,a.btn-2{color:var(--ink)}
.btn.ghost:hover,.btn-2:hover{border-color:var(--gold);color:var(--gold);box-shadow:none;transform:translateY(-2px)}
.btn.sm,.btn-sm{height:44px;padding:0 20px;font-size:14px}
.btn:disabled,.btn-1:disabled{opacity:.6;cursor:wait;transform:none}
.btn:active,.btn-1:active,.btn-2:active{transform:translateY(0)}
.lnk,.link{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:15px;padding-bottom:4px;background:linear-gradient(var(--gold),var(--gold)) 0 100%/100% 1px no-repeat;transition:background-size .45s var(--ease),color .3s}
.lnk:hover,.link:hover{color:var(--gold);background-size:30% 1px}
.lnk svg{transition:transform .4s var(--ease)}.lnk:hover svg{transform:translateX(4px)}
.link::after{content:"→";font-family:var(--mono);color:var(--gold);transition:transform .4s var(--ease)}
.link:hover::after{transform:translateX(4px)}
.chip{display:inline-flex;align-items:center;height:40px;padding:0 18px;border:1px solid var(--line2);border-radius:999px;font-size:14px;color:var(--ink2);background:transparent;transition:all .3s var(--ease);white-space:nowrap}
button.chip,a.chip{cursor:pointer}
button.chip:hover,a.chip:hover{border-color:var(--gold);color:var(--ink)}
.chip.on,.chip[aria-pressed="true"]{background:var(--ink);color:#09090A;border-color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.tag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:4px;font-size:12px;font-family:var(--mono);letter-spacing:.06em;color:var(--gold);border:1px solid rgba(212,175,106,.35);white-space:nowrap}
.arw{width:16px;height:16px;flex:none}

/* ---------- 面板 ---------- */
.card{background:var(--bg2);border:1px solid var(--line);border-radius:6px;position:relative;transition:border-color .4s var(--ease),transform .5s var(--ease),background .4s}
.pad{padding:clamp(24px,2.6vw,36px)}
a.card:hover,.card.lift:hover{border-color:rgba(212,175,106,.45);transform:translateY(-4px)}
.card.focus{border-color:rgba(212,175,106,.4);background:linear-gradient(160deg,#151310,#0F0E0C)}
.stack{display:flex;flex-direction:column;gap:12px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.list-clean{display:flex;flex-direction:column;gap:12px}
.list-clean li{position:relative;padding-left:22px;font-size:15px;line-height:1.7}
.list-clean li::before{content:"";position:absolute;left:0;top:.85em;width:10px;height:1px;background:var(--gold)}
.list-clean.muted li{color:var(--ink2)}.list-clean.muted li::before{background:var(--ink3)}

/* ---------- 动效 ---------- */
.rise{animation:rise 1.1s var(--ease) both}
.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}.d4{animation-delay:.32s}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes marq{to{transform:translateX(-50%)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(212,175,106,.5)}50%{box-shadow:0 0 0 8px rgba(212,175,106,0)}}
@keyframes blink{50%{opacity:.25}}
@keyframes sheen{0%{transform:translateX(-60%)}50%,100%{transform:translateX(60%)}}
@keyframes flow{0%{top:20px;opacity:0}10%,90%{opacity:1}100%{top:calc(100% - 28px);opacity:0}}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){
  .rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% entry 30%}
  @keyframes rv{from{opacity:.001;transform:translateY(24px)}to{opacity:1;transform:none}}
}}
.marquee{overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee .track{display:inline-flex;gap:56px;animation:marq 40s linear infinite;padding-right:56px}
.marquee:hover .track{animation-play-state:paused}

/* ---------- 页脚 ---------- */
.foot{border-top:1px solid var(--line);padding:clamp(80px,9vw,140px) 0 40px;position:relative;overflow:hidden}
.foot.slim{padding-top:0;border-top:0}
.foot-cta{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:end;padding-bottom:clamp(64px,7vw,104px);border-bottom:1px solid var(--line)}
.foot-cta .h1{font-size:clamp(38px,5.2vw,80px)}
.foot-cta .h1 span{white-space:nowrap}
.foot-links{display:grid;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:24px;padding:48px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink2)}
.foot-links .brand img{width:44px;height:44px}
.foot-links b{display:block;font-weight:500;color:var(--ink3);font-size:12px;letter-spacing:.18em;margin-bottom:14px;font-family:var(--mono)}
.foot-links a{display:block;padding:5px 0;transition:color .3s}.foot-links a:hover{color:var(--gold)}
.foot-links .brand{display:flex;padding:0}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-top:28px;font-size:13px;color:var(--ink3)}
.legal a:hover{color:var(--gold)}
.mbar{display:none}

/* ---------- 表单 ---------- */
.field{display:flex;flex-direction:column;gap:10px}
.field label{font-size:14px;color:var(--ink2)}
.input,.textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line2);color:var(--ink);font:inherit;font-size:17px;padding:12px 2px;border-radius:0;transition:border-color .3s}
.textarea{min-height:120px;resize:vertical;line-height:1.7;border:1px solid var(--line2);border-radius:8px;padding:14px 16px;font-size:15px}
.input:focus,.textarea:focus{outline:none;border-color:var(--gold)}
.input::placeholder,.textarea::placeholder{color:var(--ink3)}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}
.opt{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:0 18px;border-radius:10px;cursor:pointer;color:var(--ink);font-size:15px;text-align:left;font-family:inherit;transition:border-color .25s,background .25s}
.opt.card{background:transparent;border:1px solid var(--line2)}
.opt:hover{border-color:rgba(212,175,106,.6)}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt .tick{width:22px;height:22px;border-radius:50%;border:1px solid var(--line2);flex:none;position:relative;transition:all .25s}
.opt:has(input:checked){border-color:var(--gold);background:rgba(212,175,106,.08)}
.opt:has(input:checked) .tick{background:var(--gold);border-color:var(--gold)}
.opt:has(input:checked) .tick::after{content:"";position:absolute;left:7px;top:4px;width:5px;height:9px;border:solid #09090A;border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.opt:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:3px}
.err{color:var(--warn);font-size:14px;min-height:1.4em}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.t-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--ink2);line-height:1.7;cursor:pointer}
.t-check input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin-top:2px;border:1px solid var(--line2);border-radius:5px;background:transparent;cursor:pointer;display:grid;place-content:center;transition:all .25s}
.t-check input:checked{border-color:var(--gold);background:var(--gold)}
.t-check input:checked::after{content:"";width:9px;height:5px;border-left:1.6px solid #09090A;border-bottom:1.6px solid #09090A;transform:rotate(-45deg) translate(1px,-1px)}
.t-check a{color:var(--gold);border-bottom:1px solid rgba(212,175,106,.4)}
.wechat{display:inline-flex;align-items:center;gap:14px;padding:6px 6px 6px 20px;border-radius:999px;border:1px solid var(--line2);color:var(--ink)}
.wechat code{font-family:var(--mono);font-size:17px;letter-spacing:.06em;user-select:all}
.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:95;padding:14px 20px;border-radius:10px;background:#17171A;border:1px solid rgba(212,175,106,.45);color:var(--ink);font-size:14px;box-shadow:0 20px 50px -10px rgba(0,0,0,.8);animation:rise .5s var(--ease)}

/* ======================================================================
   首页
   ====================================================================== */
.hero{position:relative;padding:clamp(40px,6vw,88px) 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(24px,4vw,64px);align-items:center}
.hero .display span.l{white-space:nowrap}
.orbit{position:relative;width:118%;max-width:500px;aspect-ratio:1/1;margin-left:auto;margin-right:-6%}
.orbit .ring{position:absolute;border-radius:50%;border:1px solid rgba(212,175,106,.22);left:50%;top:50%;transform:translate(-50%,-50%)}
.orbit .r1{width:100%;height:100%;border-style:dashed;border-color:rgba(212,175,106,.28);animation:spin 90s linear infinite}
.orbit .r2{width:84%;height:84%}
.orbit .r3{width:44%;height:44%;border-color:rgba(212,175,106,.4)}
.orbit svg{position:absolute;inset:0;width:100%;height:100%}
.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 50% 40%,#1C1A16,#0E0D0B 70%);border:1px solid var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 0 0 10px rgba(212,175,106,.05),0 30px 80px -20px rgba(212,175,106,.35)}
.core b{font-family:var(--serif);font-weight:900;font-size:clamp(28px,3vw,44px);line-height:1}
.core span{font-size:12px;letter-spacing:.3em;color:var(--gold);margin-top:8px;padding-left:.3em}
.agent{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;height:38px;padding:0 14px 0 12px;border-radius:999px;background:var(--bg2);border:1px solid rgba(237,231,218,.16);font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;white-space:nowrap;transition:border-color .3s,transform .4s var(--ease)}
.agent:hover{border-color:var(--gold);transform:translate(-50%,-50%) scale(1.06)}
.agent i{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:pulse 2.4s infinite}
.agent:nth-of-type(2) i{animation-delay:.4s}.agent:nth-of-type(3) i{animation-delay:.8s}.agent:nth-of-type(4) i{animation-delay:1.2s}.agent:nth-of-type(5) i{animation-delay:1.6s}.agent:nth-of-type(6) i{animation-delay:2s}
.orbit figcaption{position:absolute;left:0;right:0;bottom:-36px;text-align:center;font-size:12.5px;color:var(--ink3)}
.who{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:40px}
.who .who-l{font-size:14px;color:var(--ink3);margin-right:6px;white-space:nowrap;flex:none}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(72px,8vw,112px);border-top:1px solid var(--line)}
.stats>div{padding:32px 24px 36px 0;border-right:1px solid var(--line);margin-right:24px}
.stats>div:last-child{border-right:0;margin-right:0}
.stats .num{font-size:clamp(40px,4.6vw,68px);line-height:1}
.stats .num small{font-size:.42em;color:var(--gold);margin-left:4px;font-weight:500;letter-spacing:0}
.stats p{margin-top:14px;font-size:14px;color:var(--ink2)}
.cats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;color:var(--ink3);font-size:15px}
.cats .track span{display:inline-flex;align-items:center;gap:56px}
.cats .track span::after{content:"◆";font-size:8px;color:var(--gold3)}
/* 位置图 */
.finder{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3vw,48px);align-items:stretch}
.mx{display:grid;grid-template-columns:96px repeat(4,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line)}
.mx>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:96px;padding:16px;display:flex;flex-direction:column;justify-content:space-between}
.mx .ax{min-height:56px;justify-content:flex-end;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--ink3)}
.mx .ax.side{font-family:var(--sans);font-size:15px;letter-spacing:0;color:var(--ink2);justify-content:center}
.mx .cell{background:transparent;border-top:0;border-left:0;color:var(--ink);text-align:left;font:inherit;font-size:15px;cursor:pointer;transition:background .35s,color .35s}
.mx .cell em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--ink3);letter-spacing:.1em}
.mx .cell:hover{background:var(--bg3)}
.mx .cell[aria-pressed="true"]{background:var(--gold);color:#09090A}
.mx .cell[aria-pressed="true"] em{color:#3A2F1A}
.mx-legend{display:flex;justify-content:space-between;gap:12px;margin-top:16px;font-size:12.5px;color:var(--ink3)}
.route{background:var(--bg2);border:1px solid rgba(212,175,106,.35);border-radius:6px;padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:22px}
.route .who-line{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--gold);border:1px solid rgba(212,175,106,.35);border-radius:4px;padding:4px 10px;align-self:flex-start}
.route h3{font-family:var(--serif);font-weight:700;font-size:clamp(22px,2vw,28px);line-height:1.35;text-wrap:balance}
.route ol{counter-reset:s}
.route li{counter-increment:s;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:16px 0;border-top:1px solid var(--line);font-size:15px}
.route li::before{content:counter(s,decimal-leading-zero);font-family:var(--mono);color:var(--gold);font-size:13px;padding-top:3px}
.route .actions{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin-top:auto}
.route-anim{animation:rise .45s var(--ease)}
.quiz-hint{display:inline-flex;gap:8px;align-items:center;margin-top:24px;font-size:14px;color:var(--ink2)}
.quiz-hint b{font-weight:400;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:2px}
.quiz-hint:hover b{color:var(--gold)}
/* 台阶 */
.stairs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;border-bottom:1px solid var(--gold)}
.step{position:relative;overflow:hidden;padding:28px 28px 32px;border-left:1px solid var(--line);border-top:1px solid transparent;background:linear-gradient(#101012,#0C0C0E);display:flex;flex-direction:column;transition:background .4s,border-color .4s}
.step:hover{background:var(--bg3);border-top-color:var(--gold)}
.step .lv{font-family:var(--mono);font-size:13px;color:var(--gold);letter-spacing:.14em}
.step h3{margin:14px 0 10px;padding-right:56px}
.step .out{margin-top:auto;padding-top:16px;border-top:1px dashed rgba(212,175,106,.35);font-size:14px}
.step .out span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--ink3);margin-bottom:6px}
.step .gh{position:absolute;right:18px;top:8px;font-family:var(--serif);font-weight:900;font-size:88px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(212,175,106,.32);pointer-events:none;transition:-webkit-text-stroke-color .4s,transform .5s var(--ease)}
.step:hover .gh{-webkit-text-stroke-color:rgba(212,175,106,.7);transform:translateY(-6px)}
.s0{min-height:300px}.s1{min-height:360px}.s2{min-height:420px}.s3{min-height:480px;background:linear-gradient(#1A1712,#0F0E0C);border-top:2px solid var(--gold)}
/* 服务清单 */
.svc{border-top:1px solid var(--line2)}
.svc a.it{display:grid;grid-template-columns:56px minmax(0,340px) minmax(0,1fr) 132px 40px;gap:24px;align-items:center;padding:36px 0;border-bottom:1px solid var(--line2);position:relative;transition:padding .45s var(--ease),background .4s}
.svc a.it:hover{padding-left:16px;background:linear-gradient(90deg,rgba(212,175,106,.06),transparent 70%)}
.svc .no{font-family:var(--mono);font-size:13px;color:var(--ink3)}
.svc .t{font-family:var(--serif);font-weight:700;font-size:clamp(26px,2.6vw,40px);line-height:1.2}
.svc .t small{display:block;font-family:var(--sans);font-weight:400;font-size:15px;color:var(--gold);margin-top:8px;letter-spacing:0}
.svc .d{font-size:14px;color:var(--ink2);line-height:1.9}
.svc .p{font-family:var(--mono);font-size:13px;text-align:right}
.svc .p span{display:block;color:var(--ink3);font-size:11px;letter-spacing:.14em;margin-bottom:4px}
.go{width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;transition:all .4s var(--ease);flex:none}
a:hover>.go,a:hover .go{background:var(--gold);border-color:var(--gold);color:#09090A;transform:rotate(-45deg)}
/* 实验室（首页与实验室页共用） */
.labx{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:center}
.dash{background:#0E0E10;border:1px solid rgba(237,231,218,.12);border-radius:10px;overflow:hidden;box-shadow:0 60px 120px -40px rgba(0,0,0,.8),0 0 0 1px rgba(212,175,106,.06)}
.dash .bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid rgba(237,231,218,.08);font-size:13px;color:var(--ink2)}
.dash .bar span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.dash .bar span:last-child{white-space:nowrap}
.sync{display:inline-flex;align-items:center;gap:8px}
.sync::before{content:"";width:7px;height:7px;border-radius:50%;background:#7FB08A}
.dash .body{padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:20px}
.brief{background:#151411;border:1px solid rgba(212,175,106,.25);border-radius:6px;padding:16px 20px;font-size:15px;line-height:1.8;grid-column:1/-1;display:flex;gap:16px;align-items:baseline}
.brief b{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--gold);font-weight:400;flex:none}
.top3 li{display:grid;grid-template-columns:28px minmax(0,1fr) auto 44px;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid rgba(237,231,218,.08);font-size:14px}
.top3 li:last-child{border-bottom:0}
.top3 em{font-style:normal;font-family:var(--mono);color:var(--ink3);font-size:12px}
.top3 .sc{font-family:var(--mono);text-align:right;color:var(--gold);font-size:15px}
.top3 .tg{font-size:11px;color:var(--ink2);border:1px solid rgba(237,231,218,.12);border-radius:4px;padding:1px 6px;white-space:nowrap}
.top3 .meter{grid-column:2/-1;height:3px;background:rgba(237,231,218,.08);border-radius:2px;margin-top:-6px;overflow:hidden}
.top3 .meter i{display:block;height:100%;background:var(--gold)}
.kpi{display:flex;flex-direction:column;gap:12px}
.kpi>div{background:#141416;border-radius:6px;padding:16px}
.kpi .num{font-size:34px;line-height:1}
.kpi small{display:block;font-size:12px;color:var(--ink3);margin-top:8px}
.gauge{height:4px;background:rgba(237,231,218,.1);border-radius:2px;margin-top:12px}
.gauge i{display:block;height:100%;background:var(--gold);border-radius:2px}
.mini-l{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--ink3);margin-bottom:6px}
/* 掘金社（会员卡、席位、节奏） */
.unionx{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,5vw,96px);align-items:center}
.mcard{aspect-ratio:1.586/1;border-radius:18px;padding:clamp(24px,3vw,40px);position:relative;overflow:hidden;background:linear-gradient(135deg,#1A170F 0%,#0B0B0C 52%,#16130D 100%);border:1px solid rgba(212,175,106,.5);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 60px 120px -40px rgba(212,175,106,.3),inset 0 1px 0 rgba(234,203,142,.2);transform:perspective(1400px) rotateY(-10deg) rotateX(5deg);transition:transform .9s var(--ease)}
.mcard:hover{transform:perspective(1400px) rotateY(0) rotateX(0)}
.mcard::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(234,203,142,.15) 48%,transparent 60%);transform:translateX(-60%);animation:sheen 7s var(--ease) infinite;pointer-events:none}
.mcard .dr{position:absolute;right:-8%;bottom:-16%;width:60%;opacity:.18}
.mcard>*:not(.dr){position:relative;z-index:1}
.mcard .r1{display:flex;justify-content:space-between;align-items:flex-start}
.mcard .nm{font-family:var(--serif);font-weight:900;font-size:clamp(24px,2.5vw,36px);line-height:1.2}
.mcard .en{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--gold);margin-top:6px}
.mcard .chipm{width:52px;height:38px;border-radius:7px;background:linear-gradient(135deg,#EACB8E,#8F7647);opacity:.9;flex:none}
.mcard .no{font-family:var(--mono);font-size:clamp(28px,3.2vw,48px);color:var(--gold2);letter-spacing:.08em}
.mcard .no small{color:var(--ink3);font-size:.45em}
.mcard .ft{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;font-size:13px;color:var(--ink2)}
.seats{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:6px}
.seats i{aspect-ratio:1/1;border-radius:2px;border:1px solid rgba(237,231,218,.16);display:block}
.seats i.on{background:var(--gold);border-color:var(--gold)}
.seats i.nx{border-color:var(--gold);animation:blink 1.6s infinite}
.rhythm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);margin-top:36px}
.rhythm>div{padding:20px 20px 0 0}
.rhythm b{display:block;font-family:var(--mono);font-weight:400;font-size:12px;color:var(--gold);letter-spacing:.1em;margin-bottom:8px}
.rhythm p{font-size:14px;color:var(--ink2);line-height:1.7}
/* 编年 */
.chron{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.chron::before{content:"";position:absolute;left:0;right:0;top:45px;height:1px;background:linear-gradient(90deg,rgba(212,175,106,.2),var(--gold))}
.yr{padding-right:24px}
.yr .y{font-family:var(--mono);font-size:13px;color:var(--ink3);letter-spacing:.1em;height:28px;line-height:28px}
.yr .dot{width:11px;height:11px;border-radius:50%;background:var(--bg);border:1px solid var(--gold);margin:12px 0 28px}
.yr:last-child .dot{background:var(--gold);box-shadow:0 0 0 6px rgba(212,175,106,.15)}
.yr .k{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--gold);margin-bottom:14px}
.yr h3{font-size:clamp(19px,1.7vw,24px)}
.yr p{margin-top:10px;font-size:14px;color:var(--ink2)}
/* 文章列表（首页卡片 / 洞察列表共用一套结构） */
.alist li a{display:grid;grid-template-columns:120px 160px minmax(0,1fr) 90px 40px;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:padding .45s var(--ease),background .4s}
.alist li:first-child a{border-top:1px solid var(--line2)}
.alist li a:hover{padding-left:14px;background:linear-gradient(90deg,rgba(212,175,106,.06),transparent 60%)}
.alist .dt,.alist .rt{font-family:var(--mono);font-size:12px;color:var(--ink3);letter-spacing:.06em}
.alist .ct{font-size:13px;color:var(--gold)}
.alist .tt{font-family:var(--serif);font-weight:700;font-size:clamp(19px,1.7vw,24px);line-height:1.4;transition:color .3s}
.alist .sm{display:none}
.alist li a:hover .tt{color:var(--gold2)}
.latest .alist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,32px)}
.latest .alist li a{display:flex;flex-direction:column;gap:14px;padding:28px 0 0;border:0;border-top:1px solid var(--line2);height:100%}
.latest .alist li a:hover{padding-left:0;background:none;border-top-color:var(--gold)}
.latest .alist .dt{order:1}.latest .alist .ct{order:0}.latest .alist .tt{order:2}.latest .alist .sm{display:block;order:3;font-size:14px;color:var(--ink2);line-height:1.75}
.latest .alist .rt,.latest .alist .go{display:none}
.latest .alist li a{display:grid;grid-template-columns:1fr auto;grid-template-areas:"ct dt" "tt tt" "sm sm";align-content:start;gap:14px 12px}
.latest .alist .ct{grid-area:ct}.latest .alist .dt{grid-area:dt}.latest .alist .tt{grid-area:tt}.latest .alist .sm{grid-area:sm}
/* FAQ */
.faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,96px)}
.qa details{border-bottom:1px solid var(--line2)}
.qa details:first-child{border-top:1px solid var(--line2)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;font-family:var(--serif);font-weight:700;font-size:clamp(19px,1.6vw,23px);color:var(--ink)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line2);background:linear-gradient(var(--ink),var(--ink)) center/12px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1px 12px no-repeat;transition:transform .4s var(--ease),border-color .3s}
.qa details[open] summary::after{transform:rotate(45deg);border-color:var(--gold)}
.qa details p{padding:0 64px 28px 0;color:var(--ink2);font-size:15px;line-height:1.9}

/* ======================================================================
   通用页头 + 子页
   ====================================================================== */
.phero{position:relative;overflow:hidden;padding:clamp(56px,7vw,112px) 0 clamp(80px,9vw,140px)}
.phero .lead{margin-top:28px}
.split-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:end}
.h1 .l{white-space:nowrap}
/* 成长路径 */
.rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(64px,7vw,104px);position:relative}
.rail::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--line)}
.rail::after{content:"";position:absolute;left:0;top:0;height:2px;width:var(--prog,37.5%);background:var(--gold);transition:width .6s var(--ease)}
.rail a{padding:22px 24px 0 0;display:flex;flex-direction:column;gap:6px;position:relative}
.rail a::before{content:"";position:absolute;left:0;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid rgba(237,231,218,.25);transition:all .3s}
.rail a:hover::before{border-color:var(--gold)}
.rail .lv{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--ink3)}
.rail a:hover .lv{color:var(--gold)}
.rail b{font-family:var(--serif);font-size:22px;font-weight:700}
.rail span.d{font-size:14px;color:var(--ink2)}
.lvl{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,96px);padding:clamp(80px,9vw,140px) 0;border-top:1px solid var(--line)}
.lvl .big{font-family:var(--serif);font-weight:900;font-size:clamp(120px,15vw,232px);line-height:.82;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.2px var(--gold);transition:color .6s}
.lvl:hover .big,.lvl.on .big{color:var(--gold);-webkit-text-stroke:0}
.lvl .tagline{margin-top:28px;font-family:var(--mono);font-size:13px;letter-spacing:.16em;color:var(--ink3)}
.lvl .intro{margin-top:20px;font-size:16px;color:var(--ink2);max-width:30em}
.blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:44px;border-top:1px solid var(--line)}
.blocks>div{padding:28px 32px 28px 0;border-bottom:1px solid var(--line)}
.blocks>div:nth-child(odd){border-right:1px solid var(--line)}
.blocks>div:nth-child(even){padding-left:32px;padding-right:0}
.blocks>.wide{grid-column:1/-1;border-right:0!important;padding-left:0!important}
.blocks .bh{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.2em;color:var(--ink3);margin-bottom:16px}
.blocks li{position:relative;padding:7px 0 7px 22px;font-size:15px;line-height:1.7}
.blocks li::before{content:"";position:absolute;left:0;top:18px;width:10px;height:1px;background:var(--ink3)}
.blocks .get li::before{width:10px;height:10px;top:13px;border-radius:50%;background:transparent;border:1px solid var(--gold)}
.blocks .use a{border-bottom:1px solid rgba(212,175,106,.4);transition:border-color .3s,color .3s}
.blocks .use a:hover{border-color:var(--gold);color:var(--gold)}
.next{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:36px;padding:22px 28px;border:1px solid rgba(212,175,106,.3);border-radius:8px;transition:background .4s,border-color .4s}
.next:hover{background:#121110;border-color:var(--gold)}
.next small{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--ink3)}
.next b{font-weight:500}
.next .go{border-color:var(--gold);color:var(--gold)}
.five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative;margin-top:48px}
.five::before{content:"";position:absolute;left:26px;right:0;top:26px;height:1px;background:linear-gradient(90deg,var(--gold),rgba(212,175,106,.15))}
.five li{padding-right:20px;position:relative}
.five .c{width:52px;height:52px;border-radius:50%;background:var(--bg);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:14px;color:var(--gold);position:relative;z-index:1;transition:background .4s,color .4s}
.five li:hover .c{background:var(--gold);color:#09090A}
.five h3{margin-top:24px;font-size:21px}
.five p{margin-top:8px}
.qcard{background:var(--bg2);border:1px solid rgba(237,231,218,.12);border-radius:10px;padding:clamp(28px,3vw,44px)}
.qbar{height:3px;background:rgba(237,231,218,.1);border-radius:2px;margin:14px 0 32px}
.qbar i{display:block;height:100%;width:37.5%;background:var(--gold);border-radius:2px}
.qopt{display:flex;align-items:center;gap:16px;border:1px solid rgba(237,231,218,.14);border-radius:8px;padding:16px 20px;font-size:15px;margin-top:10px}
.qopt b{font-family:var(--mono);font-weight:400;font-size:12px;width:28px;height:28px;border-radius:50%;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;flex:none;color:var(--ink2)}
.qopt.on{border-color:var(--gold);background:rgba(212,175,106,.08)}
.qopt.on b{background:var(--gold);border-color:var(--gold);color:#09090A}
/* 企业服务 */
.pipe{position:relative;padding-left:44px!important}
.pipe::before{content:"";position:absolute;left:15px;top:20px;bottom:20px;width:1px;background:linear-gradient(var(--gold3),var(--gold))}
.pipe::after{content:"";position:absolute;left:12px;top:20px;width:7px;height:7px;border-radius:50%;background:var(--gold2);box-shadow:0 0 14px 3px rgba(234,203,142,.6);animation:flow 4.5s cubic-bezier(.6,0,.4,1) infinite}
.pipe li{position:relative;padding:20px 24px;border:1px solid rgba(237,231,218,.12);border-radius:8px;background:var(--bg2);margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:border-color .35s}
.pipe li:hover{border-color:rgba(212,175,106,.55)}
.pipe li::before{content:"";position:absolute;left:-35px;top:50%;width:11px;height:11px;margin-top:-6px;border-radius:50%;border:1px solid var(--gold);background:var(--bg)}
.pipe li:last-child{border-color:var(--gold);background:#14120E;margin-bottom:0}
.pipe li:last-child::before{background:var(--gold)}
.pipe b{display:block;font-size:17px;font-weight:600}
.pipe .s{font-size:13px;color:var(--ink2)}
.pipe em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--ink3);letter-spacing:.14em}
.chap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,96px);padding:clamp(88px,10vw,152px) 0;border-top:1px solid var(--line)}
.chap .n{font-family:var(--serif);font-weight:900;font-size:clamp(88px,9vw,140px);line-height:.85;color:transparent;-webkit-text-stroke:1px rgba(212,175,106,.6);letter-spacing:-.04em}
.deliv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px}
.deliv>div{background:var(--bg);padding:32px 30px 30px;display:flex;flex-direction:column;gap:12px;min-height:220px;position:relative;transition:background .4s}
.deliv>div:hover{background:#121113}
.deliv>div::after{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--gold);transition:width .6s var(--ease)}
.deliv>div:hover::after{width:100%}
.deliv .ic{width:44px;height:44px;border:1px solid rgba(212,175,106,.4);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--gold)}
.deliv h3{font-size:22px;margin-top:10px}
.deliv .per{margin-top:auto;padding-top:16px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--ink3);letter-spacing:.06em}
.deliv .per b{font-weight:400;color:var(--ink)}
.list4 li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr) minmax(0,2fr);gap:24px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--line)}
.list4 li:first-child{border-top:1px solid var(--line)}
.list4 b{font-family:var(--serif);font-size:24px;font-weight:700}
.list4 em{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--gold);text-align:right;letter-spacing:.04em}
.steps5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.steps5 li{padding:32px 24px 36px 0;border-top:1px solid rgba(237,231,218,.14);transition:border-color .4s}
.steps5 li:first-child{border-top:2px solid var(--gold);padding-top:31px}
.steps5 li:hover{border-top-color:var(--gold)}
.steps5 .k{font-family:var(--mono);font-size:13px;color:var(--gold)}
.steps5 h3{margin:20px 0 10px;font-size:24px}
.fit li{padding:14px 0;border-bottom:1px solid rgba(237,231,218,.08);display:flex;gap:14px;font-size:15px}
.fit li:last-child{border-bottom:0}
.fit svg{flex:none;margin-top:5px}
.qa2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,80px)}
.qa2>div{padding:32px 0;border-top:1px solid var(--line2)}
.qa2 h3{font-size:21px}.qa2 p{margin-top:12px}
/* 掘金社页 */
.giant{font-family:var(--serif);font-weight:900;font-size:clamp(56px,7vw,112px);line-height:.98;letter-spacing:-.04em;white-space:nowrap}
.price{display:flex;align-items:flex-end;gap:28px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line2)}
.price .num{font-size:clamp(56px,6vw,88px);line-height:.9;color:var(--gold2)}
.price .num small{font-size:.32em;color:var(--ink2);font-weight:500;margin-left:6px}
.price s{color:var(--ink3)}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line2)}
.three>div{padding:40px 36px 44px 0;border-right:1px solid var(--line2);margin-right:36px}
.three>div:last-child{border-right:0;margin-right:0}
.three .n{font-family:var(--serif);font-weight:900;font-size:72px;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold)}
.three h3{margin:24px 0 12px;font-size:30px}
.tools3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.tools3 .q{font-size:14px;color:var(--ink3);margin-top:12px}
.tools3 .a{font-size:15px;margin-top:8px}
.week{display:grid;grid-template-columns:120px repeat(5,minmax(0,1fr));border:1px solid rgba(237,231,218,.12);border-radius:8px;overflow:hidden}
.week>div{border-right:1px solid rgba(237,231,218,.08);border-bottom:1px solid rgba(237,231,218,.08);padding:14px;min-height:64px}
.week .hd{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ink3);min-height:0}
.week .hd.fri{color:var(--gold)}
.week .lb{font-size:13px;color:var(--ink2);display:flex;align-items:center}
.ev{border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.5;height:100%}
.ev.live{background:rgba(212,175,106,.1);border:1px solid rgba(212,175,106,.35)}
.ev b{display:flex;align-items:center;gap:6px;font-weight:500;font-size:12px;font-family:var(--mono);letter-spacing:.08em}
.ev.live b{color:var(--gold)}
.ev.live b i{width:6px;height:6px;border-radius:50%;background:var(--gold2);animation:blink 1.4s infinite}
.ev.rev{background:var(--gold);color:#09090A}
.month{grid-column:2/-1;display:flex;gap:12px;align-items:center}
.month .ev{flex:1;border:1px dashed rgba(212,175,106,.5)}
.pool{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}
.pool .card{display:flex;flex-direction:column;gap:14px;min-height:240px}
.pool .card h3{font-size:22px}
.pool .who2{margin-top:auto;padding-top:16px;border-top:1px solid rgba(237,231,218,.08);display:flex;justify-content:space-between;font-size:13px;color:var(--ink3)}
.seatwrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px);align-items:center}
.seats.big{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;max-width:600px;margin-left:auto;width:100%}
.seats.big i{border-radius:4px}
.legend{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;font-size:13px;color:var(--ink2)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:8px;vertical-align:-1px;border:1px solid rgba(237,231,218,.2)}
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th,.tbl td{padding:20px 16px;text-align:left;border-bottom:1px solid var(--line)}
.tbl th{font-weight:400;font-size:13px;color:var(--ink3);font-family:var(--mono);letter-spacing:.1em}
.tbl td:first-child,.tbl th:first-child{padding-left:0}
.tbl .hl{background:rgba(212,175,106,.07)}
.tbl th.hl{color:var(--gold);border-top:2px solid var(--gold)}
.same{padding:28px 0}
.join{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);align-items:start}
.jsteps li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:26px 0;border-bottom:1px solid var(--line)}
.jsteps li:first-child{border-top:1px solid var(--line2)}
.jsteps b{font-family:var(--mono);font-weight:400;font-size:12px;color:var(--gold);letter-spacing:.14em;padding-top:6px}
.jsteps h3{font-size:22px}.jsteps p{margin-top:6px}
.jform{background:linear-gradient(160deg,#17140E,#0E0D0B);border:1px solid rgba(212,175,106,.4);border-radius:12px;padding:clamp(28px,3vw,44px)}
.jform .field{margin-top:22px}
.jform .btn{width:100%;margin-top:14px}
/* 实验室页 */
.app{margin-top:clamp(56px,6vw,88px);border:1px solid rgba(237,231,218,.14);border-radius:14px;background:#0C0C0E;overflow:hidden;box-shadow:0 80px 160px -60px rgba(0,0,0,.9),0 0 0 1px rgba(212,175,106,.05),0 -40px 120px -60px rgba(212,175,106,.25)}
.chrome{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid rgba(237,231,218,.08);background:#111113}
.chrome .dots{display:flex;gap:7px}.chrome .dots i{width:11px;height:11px;border-radius:50%;background:#2A2A2E}
.chrome .url{flex:1;max-width:420px;margin:0 auto;height:30px;border-radius:8px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;color:var(--ink3)}
.chrome .sync{font-size:12px;color:var(--ink2)}
.shell{display:grid;grid-template-columns:220px minmax(0,1fr)}
.aside-nav{border-right:1px solid rgba(237,231,218,.08);padding:20px 14px;display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--ink2)}
.aside-nav .grp{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:#77726A;padding:16px 10px 8px}
.aside-nav span.it{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border-radius:6px}
.aside-nav span.on{background:rgba(212,175,106,.12);color:var(--gold2)}
.aside-nav em{font-style:normal;font-family:var(--mono);font-size:11px;background:#1C1C1F;border-radius:10px;padding:1px 8px;color:var(--ink2)}
.amain{padding:28px 32px 32px}
.amain .mt{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.kpis>div{background:#131315;border:1px solid rgba(237,231,218,.06);border-radius:8px;padding:16px 18px}
.kpis small{display:block;font-size:12px;color:var(--ink3)}
.kpis .num{font-size:34px;line-height:1.1;margin-top:8px}
.warn{color:var(--warn)}
.lower{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px;margin-top:16px}
.panel{background:#131315;border:1px solid rgba(237,231,218,.06);border-radius:8px;padding:18px 20px}
.chk{width:18px;height:18px;border:1px solid rgba(237,231,218,.3);border-radius:4px;display:inline-block}
.bars{display:flex;align-items:flex-end;gap:10px;height:132px;margin-top:14px;padding-bottom:22px}
.bars i{flex:1;background:rgba(212,175,106,.22);border-radius:3px 3px 0 0;position:relative;transition:background .3s}
.bars i:hover{background:var(--gold)}
.bars i.td{background:var(--gold)}
.bars i span{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:10px;color:#77726A;font-style:normal}
.feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line2);margin-top:clamp(56px,6vw,88px)}
.feats>div{padding:32px 28px 0 0;border-right:1px solid var(--line2);margin-right:28px}
.feats>div:last-child{border-right:0;margin-right:0}
.feats b{font-family:var(--mono);font-weight:400;font-size:12px;color:var(--gold);letter-spacing:.12em}
.feats h3{font-size:22px;margin:16px 0 8px}
.tcards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.tcards .card{grid-column:span 2;display:flex;flex-direction:column;gap:12px;min-height:280px}
.tcards .card.wide{grid-column:span 3}
.tcards .who3{font-size:12px;color:var(--ink3);font-family:var(--mono);letter-spacing:.06em}
.tcards .goline{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid rgba(237,231,218,.08);font-size:15px}
.tcards .ix{font-family:var(--serif);font-weight:900;font-size:56px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(212,175,106,.5)}
/* 关于 */
.ahero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px);align-items:center}
.seal{position:relative;aspect-ratio:4/5;border:1px solid rgba(212,175,106,.35);border-radius:4px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#17140F,var(--bg) 70%)}
.seal img{position:absolute;width:118%;max-width:none;opacity:.5;left:-6%;top:6%}
.seal .vt{position:relative;z-index:1;writing-mode:vertical-rl;font-family:var(--serif);font-weight:900;font-size:clamp(80px,9vw,140px);letter-spacing:.12em;text-shadow:0 10px 60px rgba(0,0,0,.8)}
.seal .stamp{position:absolute;right:24px;bottom:24px;width:64px;height:64px;border:2px solid #B4483A;color:#C25A4B;font-family:var(--serif);font-weight:900;font-size:18px;line-height:1.05;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-6deg);border-radius:4px;z-index:1}
.seal .cap{position:absolute;left:20px;top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--ink3);z-index:1}
.fig3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:48px;border-top:1px solid var(--line2)}
.fig3>div{padding:24px 20px 0 0}
.fig3 .num{font-size:clamp(40px,4vw,60px);line-height:1}
.fig3 .num small{font-size:.4em;color:var(--gold);margin-left:4px;font-weight:500}
.era{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,3fr);gap:clamp(24px,4vw,64px);padding:clamp(56px,6vw,88px) 0;border-top:1px solid var(--line2);align-items:start}
.era:last-child{border-bottom:1px solid var(--line2)}
.era .when{font-family:var(--mono);font-size:13px;color:var(--gold);letter-spacing:.14em}
.era .word{font-family:var(--serif);font-weight:900;font-size:clamp(72px,8vw,128px);line-height:1;margin-top:16px;color:transparent;-webkit-text-stroke:1px rgba(237,231,218,.5);transition:-webkit-text-stroke-color .5s,color .5s}
.era:hover .word,.era .word.on{color:var(--gold);-webkit-text-stroke-color:var(--gold)}
.era .proof{font-family:var(--serif);font-weight:700;font-size:22px;color:var(--gold2);line-height:1.6}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.pills span{height:40px;padding:0 18px;border:1px solid rgba(237,231,218,.16);border-radius:999px;display:inline-flex;align-items:center;font-size:14px;color:var(--ink2)}
.comp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.comp>div{background:var(--bg);padding:32px;min-height:150px;display:flex;flex-direction:column;gap:12px;transition:background .4s}
.comp>div:hover{background:#121113}
.comp b{font-family:var(--mono);font-weight:400;font-size:12px;color:var(--gold);letter-spacing:.14em}
.prin{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.prin h3{font-size:22px;margin-bottom:10px}
.honest li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:26px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.8}
.honest li:first-child{border-top:1px solid var(--line)}
.honest li b{font-family:var(--mono);font-weight:400;font-size:13px;color:var(--gold);padding-top:5px}
/* 洞察 */
.mast{font-family:var(--serif);font-weight:900;font-size:clamp(96px,14vw,224px);line-height:.86;letter-spacing:-.04em}
.mast em{font-style:normal;color:var(--gold);font-size:.5em}
.issue{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--ink3);text-align:right;line-height:2}
.fbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);margin-top:clamp(48px,5vw,72px)}
.side2{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px;margin-top:clamp(72px,8vw,120px)}
.gloss{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.gloss span{height:44px;padding:0 18px;border:1px solid rgba(237,231,218,.14);border-radius:6px;display:inline-flex;align-items:center;gap:10px;font-size:15px}
.gloss span em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--ink3)}
/* 文章 */
.prog{position:fixed;left:0;top:0;height:2px;width:0;background:var(--gold);box-shadow:0 0 12px rgba(212,175,106,.6);z-index:60}
.crumb{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:13px;color:var(--ink3)}
.crumb a:hover{color:var(--gold)}
.crumb.l{justify-content:flex-start}
.ahead{max-width:980px;margin:0 auto;text-align:center;padding:clamp(40px,5vw,80px) 0 clamp(48px,5vw,72px)}
.ahead h1{font-family:var(--serif);font-weight:900;font-size:clamp(36px,4.8vw,72px);line-height:1.18;letter-spacing:-.025em;text-wrap:balance;margin-top:28px}
.ahead .lead{margin:24px auto 0}
.meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;margin-top:28px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink3)}
.meta b{color:var(--ink);font-weight:400}
.body2{display:grid;grid-template-columns:minmax(0,720px) 240px;justify-content:space-between;gap:48px;padding-top:clamp(48px,5vw,72px);border-top:1px solid var(--line)}
.prose{font-size:18px;line-height:2;color:#D9D3C6}
.prose>*+*{margin-top:22px}
.prose>p:first-child{font-family:var(--serif);font-size:22px;line-height:1.85;color:var(--ink);padding-bottom:32px;border-bottom:1px solid var(--line)}
.prose h2{font-family:var(--serif);font-weight:700;font-size:30px;line-height:1.4;color:var(--ink);margin-top:56px;counter-increment:ph}
.prose{counter-reset:ph}
.prose h2::before{content:counter(ph,decimal-leading-zero);font-family:var(--mono);font-size:14px;color:var(--gold);font-weight:400;margin-right:14px;vertical-align:4px}
.prose h3{font-size:21px;font-weight:600;color:var(--ink);margin-top:36px}
.prose ul li,.prose ol li{position:relative;padding:6px 0 6px 28px}
.prose ul li::before{content:"";position:absolute;left:4px;top:21px;width:12px;height:1px;background:var(--gold)}
.prose ol{counter-reset:po}.prose ol li{counter-increment:po}
.prose ol li::before{content:counter(po,decimal-leading-zero);position:absolute;left:0;font-family:var(--mono);font-size:13px;color:var(--gold);top:9px}
.prose b,.prose strong{color:var(--ink);font-weight:600}
.prose a{color:var(--gold);border-bottom:1px solid rgba(212,175,106,.4)}
.prose blockquote,.quote{margin:40px 0;padding:6px 0 6px 28px;border-left:2px solid var(--gold);font-family:var(--serif);font-weight:700;font-size:24px;line-height:1.65;color:var(--ink)}
.quote cite{display:block;margin-top:10px;font-style:normal;color:var(--gold);font-size:13px;font-family:var(--sans);font-weight:400}
.ck-box{margin-top:48px!important;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:28px 32px}
.ck-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px;margin-top:16px;counter-reset:c}
.ck{counter-increment:c;display:flex;gap:12px;align-items:baseline;font-size:15px;padding:10px 0;border-bottom:1px dashed rgba(237,231,218,.12);color:var(--ink)}
.ck::before{content:counter(c,decimal-leading-zero);font-family:var(--mono);font-size:12px;color:var(--gold)}
.ck i{display:none}
.aimark{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--ink3);padding:18px 20px;border:1px dashed rgba(237,231,218,.16);border-radius:6px;margin-top:48px!important;line-height:1.7}
.aimark svg{flex:none;margin-top:2px}
.aside{display:flex;flex-direction:column;gap:20px;position:sticky;top:120px;align-self:start}
.mini{background:var(--bg2);border:1px solid rgba(212,175,106,.3);border-radius:8px;padding:22px}
.art-rel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:clamp(64px,7vw,104px)!important}
.art-rel a{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--line);border-radius:8px;font-family:var(--serif);font-weight:700;font-size:22px;line-height:1.4;transition:border-color .4s,background .4s}
.art-rel a::before{content:"继续读";font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.14em;color:var(--ink3)}
.art-rel a:hover{border-color:var(--gold);background:var(--bg2)}
.art-rel:empty{display:none}
/* 预约 */
.cgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,96px);align-items:start}
.promise li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}
.promise li:first-child{border-top:1px solid var(--line)}
.promise .ic{width:44px;height:44px;border-radius:50%;border:1px solid rgba(212,175,106,.4);display:flex;align-items:center;justify-content:center;color:var(--gold)}
.promise b{display:block;font-weight:500;font-size:16px}
.wx{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:36px;padding:22px 24px;border:1px solid var(--line2);border-radius:10px}
.wx .num{font-family:var(--mono);font-size:30px;line-height:1;margin-top:6px;font-weight:500;letter-spacing:.06em}
.bform{background:#0F0F11;border:1px solid rgba(237,231,218,.12);border-radius:14px;padding:clamp(24px,3.4vw,52px);box-shadow:0 60px 120px -60px rgba(0,0,0,.9),0 -30px 100px -60px rgba(212,175,106,.3)}
.steps-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.steps-bar i{display:flex;flex-direction:column;gap:10px;font-style:normal;font-size:13px;color:var(--ink3);transition:color .3s}
.steps-bar i::before{content:"";height:3px;border-radius:2px;background:rgba(237,231,218,.12);transition:background .4s}
.steps-bar i.on{color:var(--ink)}.steps-bar i.on::before{background:var(--gold)}
.bform h2{font-family:var(--serif);font-weight:700;font-size:clamp(24px,2.2vw,30px);margin-top:36px}
.bform .sub{margin-top:30px;font-size:16px;font-weight:600}
.bform .opts{margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.bform .opts.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:720px){.bform .opts,.bform .opts.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bform .navs{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid rgba(237,231,218,.08)}
.bform .navs.end{justify-content:flex-end}
.slot-field{border:0;padding:0;margin:36px 0 0;min-width:0}
.slot-field legend{font-size:16px;font-weight:600;padding:0;margin-bottom:14px}
.slots{display:flex;flex-direction:column;gap:12px}
.slot-date{font-family:var(--mono);font-size:13px;color:var(--ink2)}
.slot-day{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.slot-day .slot-date{width:110px;flex:none;padding-top:0}
.slot{position:relative;display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:84px;padding:0 16px;border:1px solid var(--line2);border-radius:8px;font-family:var(--mono);font-size:14px;cursor:pointer;transition:all .25s}
.slot input{position:absolute;opacity:0;pointer-events:none}
.slot:hover{border-color:var(--gold);color:var(--gold)}
.slot:has(input:checked){border-color:var(--gold);background:rgba(212,175,106,.12);color:var(--gold2);box-shadow:inset 0 0 0 1px var(--gold)}
.slot:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:3px}
.slot-any{font-family:var(--sans);font-size:14px;align-self:flex-start;margin-top:4px}
.done-ic{width:64px;height:64px;margin:0 auto;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;box-shadow:0 0 40px rgba(212,175,106,.25)}
.done-text{white-space:pre-wrap;font-family:var(--sans);font-size:14px;color:var(--ink);padding:18px 20px;margin:24px 0 0;line-height:1.7;background:var(--bg3);border-radius:8px;border:1px solid var(--line)}

/* ======================================================================
   工具中心 / 工具页（tools.js）
   ====================================================================== */
.tool-band{padding:clamp(40px,5vw,64px) 0 clamp(96px,10vw,160px)}
.tool{min-height:420px;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:clamp(24px,3.4vw,48px)}
.tool-more{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 26px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.t-steps{display:flex;gap:8px;margin:0 0 30px}
.t-steps li{flex:1;display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:3px solid rgba(237,231,218,.12);font-size:13px;color:var(--ink3);border-radius:2px}
.t-steps li span{font-family:var(--mono);font-size:12px;color:var(--ink3)}
.t-steps li.on{border-top-color:var(--gold);color:var(--ink)}.t-steps li.on span,.t-steps li.done span{color:var(--gold)}
.t-steps li.done{border-top-color:var(--gold3)}
.t-title{font-size:clamp(26px,3.2vw,40px);outline:none}
.t-lead{margin-top:12px}
.t-note{margin-top:10px;font-size:13px;color:var(--ink3)}
.t-field{border:0;padding:0;margin:28px 0 0;min-width:0}
.t-field legend{padding:0;margin-bottom:14px;font-size:16px;font-weight:600}
.t-opts{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
.t-opts .opt{min-height:52px;font-size:14.5px}
.t-two{gap:0 28px}.t-two>.t-field{margin-top:22px}
.t-actions{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;margin-top:28px}
.t-submit{margin-top:48px}
.t-submit-form{margin-top:6px}.t-submit-form .t-check{margin-top:22px}
.t-done{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.t-stage{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px;margin-top:22px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.t-stage strong{font-family:var(--serif);font-weight:900;font-size:34px;color:var(--gold)}
.t-dirs{margin-top:28px}.t-next{margin-top:34px}
.t-verdict{margin-top:22px}.t-verdict strong{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--gold2)}
.t-facts{margin-top:18px}
.t-sub{margin-top:40px;margin-bottom:12px}
.t-checks{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-bottom:12px}
.t-checks .t-check{padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);font-size:14.5px}
.t-scen{display:flex;flex-wrap:wrap;gap:8px}
.t-chip{cursor:pointer;height:40px}
.t-chip[aria-pressed="true"]{background:transparent;border-color:var(--gold);color:var(--gold2)}
.t-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;margin-top:22px;align-items:start}
.t-form .t-field:first-of-type{margin-top:14px}
.t-formhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.t-out{min-height:420px;font-size:14px;line-height:1.8}
.t-canvas{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;align-items:start}
.t-canvas .t-field{margin-top:18px}.t-canvas .textarea{min-height:68px}
.t-canvas-out{white-space:pre-wrap;font-family:var(--sans);font-size:14.5px;color:var(--ink);line-height:1.9;margin:12px 0 0;min-height:300px}
.t-ladder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:22px}
.t-ladder span{padding:10px 8px 8px;border-top:3px solid var(--line2);font-size:12.5px;color:var(--ink3)}
.t-ladder span.past{border-top-color:var(--gold3);color:var(--ink2)}
.t-ladder span.on{border-top-color:var(--gold);color:var(--gold2);background:linear-gradient(180deg,rgba(212,175,106,.1),transparent)}
.t-quizres{margin-top:26px}
.t-ol{margin:16px 0 0;counter-reset:q;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.t-ol li{counter-increment:q;display:grid;grid-template-columns:36px 1fr;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.t-ol li::before{content:counter(q,decimal-leading-zero);font-family:var(--mono);color:var(--gold);font-size:13px;padding-top:2px}
.tool .card{background:var(--bg3)}
.tool .card.focus{background:linear-gradient(160deg,#17140E,#0E0D0B)}
.tool .h2{font-size:clamp(26px,3.2vw,40px)}
/* 案例 */
.empty-note{border-style:dashed!important}
.demo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;margin-top:18px}
.lbl{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--ink3);margin-bottom:8px}
.demo-out{margin:0;white-space:pre-wrap;font-family:var(--sans);font-size:14px;line-height:1.85;color:var(--ink);padding:14px 16px;background:rgba(212,175,106,.05);border-left:2px solid var(--gold);border-radius:0 6px 6px 0}
.demo-check{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.tm blockquote{font-family:var(--serif);font-weight:700;font-size:20px;line-height:1.7;color:var(--ink)}
.tm figcaption{margin-top:18px;display:flex;gap:10px;font-size:13px;color:var(--ink3)}.tm figcaption b{color:var(--gold);font-weight:400}
.ptable{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.7}
.ptable th{text-align:left;font-weight:400;color:var(--gold);font-size:13px;padding:10px 12px;border-bottom:1px solid rgba(212,175,106,.4)}
.ptable td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ptable td:first-child{color:var(--ink);white-space:nowrap}

/* ======================================================================
   响应式
   ====================================================================== */
@media (max-width:1080px){
  .menu,.navcta .btn.sm{display:none}
  .menu-btn{display:inline-flex}
  .drawer{display:block;position:fixed;inset:84px 0 0;background:var(--bg);padding:16px max(var(--gl),24px) 40px;overflow:auto;z-index:49}
  .drawer[hidden]{display:none!important}
  .head{grid-template-columns:minmax(0,1fr)}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cols>*:nth-child(2n){border-right:0;margin-right:0}
  .cols>*:nth-child(n+3){border-top:1px solid var(--line)}
  .foot-cta,.hero-grid,.finder,.labx,.unionx,.faq,.split,.split-hero,.lvl,.chap,.seatwrap,.join,.ahero,.cgrid,.side2,.body2{grid-template-columns:minmax(0,1fr)}
  .foot-links{grid-template-columns:repeat(4,minmax(0,1fr))}
  .foot-links>div:first-child{grid-column:1/-1}
  .orbit{margin:16px auto 40px;width:100%;max-width:440px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats>div:nth-child(2){border-right:0;margin-right:0}
  .stats>div:nth-child(n+3){border-top:1px solid var(--line)}
  .svc a.it{grid-template-columns:48px minmax(0,1fr) 40px}
  .svc .d,.svc .p{grid-column:2/3}
  .svc .p{text-align:left}
  .svc .go{grid-row:1;grid-column:3}
  .chron{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .chron::before{display:none}
  .five,.steps5{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}.five::before{display:none}
  .list4 li{grid-template-columns:minmax(0,1fr);gap:6px}.list4 em{text-align:left}
  .three,.tools3,.pool{grid-template-columns:minmax(0,1fr)}
  .three>div{border-right:0;margin-right:0;border-bottom:1px solid var(--line2)}
  .shell{grid-template-columns:minmax(0,1fr)}.aside-nav{display:none}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lower{grid-template-columns:minmax(0,1fr)}
  .feats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .feats>div:nth-child(2){border-right:0;margin-right:0}
  .tcards .card,.tcards .card.wide{grid-column:span 3}
  .era{grid-template-columns:minmax(0,1fr);gap:16px}
  .comp{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prin{grid-template-columns:repeat(2,minmax(0,1fr))}
  .alist li a{grid-template-columns:minmax(0,1fr) 40px;gap:8px 16px}
  .alist .tt{grid-column:1;grid-row:1}.alist .ct,.alist .rt{grid-column:1}.alist .dt{display:none}
  .alist .go{grid-row:1/3;grid-column:2}
  .latest .alist{grid-template-columns:minmax(0,1fr)}
  .latest .alist li a{grid-template-columns:1fr auto}
  .latest .alist .dt{display:block}
  .issue{text-align:left}
  .aside{position:static}
  .seal{max-width:420px}
  .t-cols{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  body{font-size:15px}
  .nav-in{height:68px}
  .drawer{inset:68px 0 0}
  .sec{padding:72px 0}
  .head{margin-bottom:40px}
  .grid2,.grid3,.grid4,.cols,.deliv,.qa2,.fit-grid,.comp,.prin,.tcards,.feats,.blocks,.five,.steps5,.rhythm,.art-rel,.ck-grid,.demo-grid,.t-canvas{grid-template-columns:minmax(0,1fr)}
  .cols>*,.feats>div{border-right:0;margin-right:0;padding-right:0}
  .cols>*+*,.feats>div+div{border-top:1px solid var(--line)}
  .tcards .card,.tcards .card.wide{grid-column:auto;min-height:0}
  .btn,.btn-1,.btn-2{height:52px}
  .row.ctas{flex-direction:column;align-items:stretch}
  .row.ctas .btn{width:100%}
  .foot-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot{padding-bottom:120px}
  .legal{flex-direction:column}
  .who{flex-wrap:nowrap;overflow-x:auto;margin-right:calc(-1 * var(--gr));padding-right:var(--gr);scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .who .chip{flex:none;height:36px;font-size:13px}
  .agent{font-size:11px;height:32px;padding:0 10px}
  .stats .num{font-size:40px}
  .mx{grid-template-columns:52px repeat(4,minmax(0,1fr))}
  .mx>*{padding:10px 8px;min-height:72px}
  .mx .cell{font-size:13px}
  .mx .cell em,.mx .ax{font-size:10px;letter-spacing:.04em}
  .mx .ax.side{font-size:12px}
  .mx-legend{flex-direction:column;gap:2px}
  .stairs{grid-template-columns:minmax(0,1fr);border-bottom:0}
  .s0,.s1,.s2,.s3{min-height:0;border-left:0;border-top:1px solid var(--line)}
  .s0{margin-right:24%}.s1{margin-right:16%}.s2{margin-right:8%}
  .dash .body{grid-template-columns:minmax(0,1fr)}
  .seats{grid-template-columns:repeat(10,minmax(0,1fr))}
  .seats.big{gap:4px}
  .chron{grid-template-columns:minmax(0,1fr)}
  .qa details p{padding-right:0}
  .rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(-1 * var(--gr));padding-right:var(--gr);scrollbar-width:none}
  .rail a{flex:0 0 72%;scroll-snap-align:start}
  .rail::before{right:calc(-1 * var(--gr))}
  .blocks>div{border-right:0!important;padding-left:0!important;padding-right:0!important}
  .five li,.steps5 li{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:18px;padding:0}
  .steps5 li{padding:20px 0;border-top:1px solid var(--line2)}
  .five .c,.steps5 .k{grid-row:1/3}
  .five h3,.steps5 h3{margin-top:4px;font-size:20px}
  .five p,.steps5 p{margin-top:2px}
  .five,.steps5{row-gap:24px}
  .pipe em{display:none}
  .deliv>div{min-height:0}
  .week{grid-template-columns:72px repeat(5,minmax(0,1fr))}
  .week>div{padding:8px 6px}
  .ev{padding:6px;font-size:11px}
  .ev span{display:none}
  .ev b{font-size:0!important;justify-content:center}
  .ev.live b i{width:8px;height:8px}
  .ev.rev b::before{content:"复盘";font-size:11px}
  .month{flex-direction:column;align-items:stretch}
  .month .ev span{display:inline}
  .mcard .ft .mono{display:none}
  .three>div{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:16px;padding:28px 0}
  .three .n{font-size:48px;grid-row:1/3}
  .three h3{margin:4px 0 8px;font-size:24px}
  .tbl th,.tbl td{padding:14px 8px;font-size:13px}
  .giant{font-size:60px}
  .price{flex-wrap:wrap}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .amain{padding:20px 16px}
  .brief{flex-direction:column;gap:6px}
  .top3 .tg{display:none}
  .chrome .url{font-size:10px}
  .fig3 .num{font-size:36px}
  .seal{aspect-ratio:1/1}
  .mast{font-size:96px}
  .fbar .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .prose{font-size:17px}.prose>p:first-child{font-size:19px}.prose h2{font-size:25px}
  .prose blockquote,.quote{font-size:20px}
  .slot-day .slot-date{width:100%}
  .slot{min-width:0;flex:1 1 calc(33% - 8px)}
  .bform .navs{flex-direction:column-reverse;align-items:stretch}
  .bform .navs .btn{width:100%}
  .wx{flex-wrap:wrap}
  /* 手机底部常驻 */
  .mbar{display:flex;align-items:center;justify-content:space-between;position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:45;height:64px;border-radius:999px;background:rgba(20,20,22,.92);border:1px solid rgba(212,175,106,.3);padding:0 8px 0 22px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 20px 40px -10px rgba(0,0,0,.8);font-size:14px;transition:transform .4s var(--ease),opacity .4s}
  .mbar .btn{height:48px;padding:0 20px;font-size:14px;width:auto}
  .mbar .num{font-size:26px;color:var(--gold2)}
  .mbar.hide{transform:translateY(120%);opacity:0}
}
@media (max-width:380px){.mx .cell{font-size:12px}.giant{font-size:52px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
@media print{.nav,.foot,.mbar,.aside,.art-rel,.prog{display:none!important}body{background:#fff;color:#222}.prose,.prose *{color:#222!important}}

/* ======================================================================
   v13 · 动效层（fx.js）与语言切换
   ====================================================================== */
/* hero 光轨点阵 + 透视地面 */
.hero,.phero{isolation:isolate}
.fx-field{position:absolute;inset:0;z-index:-1;pointer-events:none;-webkit-mask-image:radial-gradient(120% 90% at 50% 30%,#000 40%,transparent 100%);mask-image:radial-gradient(120% 90% at 50% 30%,#000 40%,transparent 100%)}
.fx-floor{position:absolute;left:-20%;right:-20%;bottom:0;height:46%;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(212,175,106,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,106,.14) 1px,transparent 1px);background-size:64px 64px;transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(to top,#000 0,transparent 85%);mask-image:linear-gradient(to top,#000 0,transparent 85%);opacity:.55}
@media (prefers-reduced-motion:no-preference){.fx-floor{animation:floor 6s linear infinite}}
@keyframes floor{to{background-position:0 64px}}
.hero::after{content:"";position:absolute;left:50%;top:28%;width:min(980px,90vw);height:520px;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(212,175,106,.10),rgba(192,138,74,.05) 55%,transparent);filter:blur(10px)}

/* 片头字标 */
.reel{padding:clamp(48px,6vw,96px) 0 clamp(24px,3vw,40px);position:relative}
.reel-box{position:relative}
.reel-box canvas{display:block;width:100%}
.reel-head{position:absolute;left:0;bottom:-34px;transform:translateX(0);opacity:0;transition:opacity .3s;pointer-events:none}
.reel-head span{display:inline-block;transform:translateX(-50%);font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink);background:#141416;border:1px solid var(--line2);border-radius:4px;padding:3px 7px;white-space:nowrap}
.reel-cap{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-top:48px;padding-top:16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}
.reel-cap b{color:var(--gold);font-weight:500}

/* 编年分支图 */
.ggraph{position:absolute;left:0;top:0;width:100%;overflow:visible;pointer-events:none;z-index:0}
.chron[data-ggraph]::before{display:none}
.chron[data-ggraph] .yr{position:relative;z-index:1}
.ggraph path{fill:none;transition:stroke-dashoffset 2.2s cubic-bezier(.6,0,.2,1)}
.ggraph .gg-main{stroke:rgba(212,175,106,.55);stroke-width:1}
.ggraph .gg-branch{stroke:#8FB27A;stroke-width:1.2;transition-delay:.6s;filter:drop-shadow(0 0 4px rgba(143,178,122,.5))}
.ggraph .gg-tag{opacity:0;transition:opacity .6s 2.2s}
.chron.in .ggraph .gg-tag{opacity:1}
.ggraph .gg-tag rect{fill:#0F140D;stroke:rgba(143,178,122,.55)}
.ggraph .gg-tag text{fill:#B9D6A6;font:500 11px var(--mono);letter-spacing:.06em}
@media (max-width:1080px){.ggraph{display:none}}

/* 卡片光斑跟随 */
.card,.comp>div,.svc a.it,.tcards a{--mx:-999px;--my:-999px}
.card::after,.comp>div::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(360px circle at var(--mx) var(--my),rgba(212,175,106,.09),transparent 45%);opacity:0;transition:opacity .4s}
.card:hover::after,.comp>div:hover::after{opacity:1}
.comp>div{position:relative}

/* 进入视口：子元素依次升起 */
@media (prefers-reduced-motion:no-preference){
  .rv-ready>*{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i,0) * 70ms)}
  .rv-ready.in>*{opacity:1;transform:none}
}

/* 点阵地球 */
.globe-sec{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:center}
.globe{position:relative;display:flex;justify-content:center}
.globe canvas{display:block;max-width:100%}
.globe-langs{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
@media (max-width:1080px){.globe-sec{grid-template-columns:minmax(0,1fr)}}

/* 语言切换 */
.lang{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border:1px solid var(--line2);border-radius:999px;background:transparent;color:var(--ink2);font:inherit;font-size:13.5px;cursor:pointer;transition:border-color .3s,color .3s}
.lang-btn:hover,.lang-btn[aria-expanded="true"]{border-color:var(--gold);color:var(--ink)}
.lang-btn svg{flex:none}
.lang-list{position:absolute;right:0;top:calc(100% + 10px);min-width:172px;padding:6px;margin:0;list-style:none;background:#121214;border:1px solid var(--line2);border-radius:10px;box-shadow:0 24px 60px -12px rgba(0,0,0,.8);z-index:60;transform-origin:top right;animation:pop .22s var(--ease)}
.lang-list[hidden]{display:none}
.lang-list a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;border-radius:6px;font-size:14px;color:var(--ink2);transition:background .2s,color .2s}
.lang-list a:hover{background:rgba(237,231,218,.06);color:var(--ink)}
.lang-list a[aria-current]{color:var(--gold2)}
.lang-list a small{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--ink3)}
.lang-list a[aria-current] small::after{content:" ✓";color:var(--gold)}
@keyframes pop{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.foot-lang{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:20px 0 0;font-size:13px;color:var(--ink3)}
.foot-lang svg{color:var(--gold)}
.foot-lang a{color:var(--ink2)}.foot-lang a:hover{color:var(--gold)}
.foot-lang a[aria-current]{color:var(--gold2)}
.drawer .dr-lang{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.drawer .dr-lang a{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid var(--line2);border-radius:999px;font-size:14px;color:var(--ink2);font-family:var(--sans)}
.drawer .dr-lang a[aria-current]{border-color:var(--gold);color:var(--gold2)}
.lang-hint{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:14px;padding:10px 10px 10px 18px;background:#141416;border:1px solid rgba(212,175,106,.45);border-radius:999px;box-shadow:0 20px 50px -10px rgba(0,0,0,.8);font-size:14px;animation:pop .3s var(--ease);max-width:calc(100vw - 32px)}
.lang-hint button{background:none;border:0;color:var(--ink3);cursor:pointer;font-size:18px;line-height:1;padding:4px 8px}
@media (max-width:720px){.lang-btn{width:44px;height:44px;padding:0;justify-content:center}.lang-btn span{display:none}.lang-hint{bottom:88px}}

/* 非中文页：标题字体与排版微调 */
html:not([lang="zh-CN"]) .hero .display span.l,html:not([lang="zh-CN"]) .nw{white-space:normal}
html[lang="en"] .display,html[lang="en"] .h1,html[lang="en"] .h2,html[lang="en"] .mast,html[lang="en"] .giant{letter-spacing:-.02em}
html[lang="en"] .idx,html[lang="en"] .who3{letter-spacing:.12em}
html[lang="en"] body,html[lang="ja"] body,html[lang="ko"] body{word-break:normal;overflow-wrap:break-word}
html[lang="ko"] body{word-break:keep-all}
.zh-note{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:6px 12px;border:1px dashed var(--line2);border-radius:999px;font-size:12.5px;color:var(--ink3)}
html[lang="zh-CN"] .zh-note{display:none}
.ptable{width:100%;table-layout:fixed}.ptable th,.ptable td{overflow-wrap:anywhere;hyphens:auto}
html:not([lang="zh-CN"]) .foot-cta .h1{font-size:clamp(34px,4.2vw,64px)}
html:not([lang="zh-CN"]) .foot-cta .h1 span{white-space:normal}
/* 外语版：中文专用的「不换行」统统放开；超大字号按词长收一点 */
html:not([lang="zh-CN"]) .h1 .l,html:not([lang="zh-CN"]) .giant{white-space:normal}
html:not([lang="zh-CN"]) .giant{font-size:clamp(48px,5.6vw,92px)}
html:not([lang="zh-CN"]) .era .word{font-size:clamp(30px,3.1vw,46px);overflow-wrap:normal;word-break:keep-all;hyphens:none}
html[lang="en"] .seal .vt,html[lang="ko"] .seal .vt{writing-mode:horizontal-tb;text-align:center;font-size:clamp(44px,5vw,76px);line-height:1.02;letter-spacing:-.01em;padding:0 8%}
html[lang="ja"] .seal .vt{font-size:clamp(72px,8vw,128px)}
html[lang="ja"] body{word-break:auto-phrase}
@media (max-width:720px){html[lang="en"] .ev.rev b::before{content:"Review"}html[lang="ja"] .ev.rev b::before{content:"振り返り"}html[lang="ko"] .ev.rev b::before{content:"회고"}}
html[lang="en"] body{hyphens:auto;-webkit-hyphens:auto}
html[lang="en"] .h1,html[lang="en"] .h2,html[lang="en"] .display,html[lang="en"] .btn{hyphens:manual;-webkit-hyphens:manual}

/* ======================================================================
   v14 · 旗舰工具卡（工具中心 / 实验室）+ 专家 SKILL 炼成器（skill.js）
   ====================================================================== */
.tcards .card.feat{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);min-height:0;border-color:rgba(212,175,106,.4);background:linear-gradient(160deg,#151310,#0F0E0C)}
.tcards .card.feat .feat-l{display:flex;flex-direction:column;gap:12px;min-width:0}
.feat-new{display:inline-block;margin-right:10px;padding:1px 8px;border:1px solid var(--gold);color:var(--gold);font-size:11px;letter-spacing:.08em;border-radius:3px}
.feat-r{border:1px solid var(--line2);border-radius:6px;background:var(--bg);padding:18px 20px;font-family:var(--mono);font-size:13px;line-height:2;color:var(--ink2);align-self:center;min-width:0}
.feat-file{color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:8px}
.feat-ln{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feat-ln b{color:var(--gold2);font-weight:600;margin-right:6px}
.feat-score{margin-top:10px;padding-top:8px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:8px}
.feat-score .num{font-family:var(--serif);font-weight:900;font-size:30px;color:var(--gold);line-height:1}
@media (max-width:860px){.tcards .card.feat{grid-template-columns:minmax(0,1fr)}.feat-r{display:none}}
.skill-hint{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:28px;padding:14px 18px;border:1px solid rgba(212,175,106,.35);border-radius:6px;background:var(--goldbg);font-size:15px}
.skill-hint .feat-new{margin-right:0}

.sk{--sk-r:6px}
.sk-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:28px;overflow-x:auto;scrollbar-width:none}
.sk-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--ink3);padding:14px 18px;font-size:16px;cursor:pointer;white-space:nowrap;display:flex;gap:8px;align-items:baseline}
.sk-tab .mono{font-size:11px;opacity:.7}
.sk-tab[aria-selected="true"]{color:var(--gold2);border-bottom-color:var(--gold)}
.sk-forge{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
@media (min-width:1080px){.sk-forge{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.sk-out-in{position:sticky;top:96px}.sk-jump{display:none!important}}
.sk-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
.sk-note{margin-right:auto;color:var(--ink3);font-size:13px;display:flex;gap:8px;align-items:center}
.sk-badge{font-size:11px;letter-spacing:.06em;padding:1px 8px;border:1px solid var(--warn);color:var(--warn);border-radius:3px}
.sk-fs{border:1px solid var(--line);border-radius:var(--sk-r);background:var(--bg2);margin:0 0 16px;padding:0;min-width:0}
.sk-fs legend{float:left;width:100%;padding:16px 20px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.sk-fs legend .mono{font-size:12px;letter-spacing:.1em}
.sk-fs legend b{font-family:var(--serif);font-size:18px;font-weight:700}
.sk-fs legend small{margin-left:auto;color:var(--ink3);font-size:12px}
.sk-grid{clear:both;padding:18px 20px 20px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.sk-grid .full{grid-column:1/-1}
@media (max-width:640px){.sk-grid{grid-template-columns:minmax(0,1fr)}}
.sk-f{display:grid;gap:6px;font-size:13px;color:var(--ink3);min-width:0}
.sk-f b,.sk-lbl b{color:var(--ink);font-weight:600}
.sk-f em{font-style:normal;color:var(--gold);font-size:12px}
.sk-lbl{font-size:13px;color:var(--ink3);margin-bottom:8px}
.sk-in{width:100%;background:var(--bg3);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:10px 12px;font:inherit;font-size:15px;line-height:1.6;transition:border-color .3s}
textarea.sk-in{resize:vertical;min-height:64px}
.sk-in:focus{outline:none;border-color:var(--gold)}
.sk .chips{flex-wrap:wrap;overflow:visible;gap:8px}
.sk .chip{height:36px;padding:0 14px;font-size:13px;cursor:pointer;font-family:inherit}
.sk-meter{border:1px solid var(--line2);border-radius:var(--sk-r);background:var(--bg2);padding:18px 20px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;align-items:center}
.sk-score{font-family:var(--serif);font-weight:900;line-height:1;color:var(--gold)}
.sk-score .num{font-size:48px;font-variant-numeric:tabular-nums}
.sk-score small{font-size:16px;color:var(--ink3);margin-left:2px}
.sk-rank{font-size:14px;color:var(--ink2)}
.sk-rank b{font-family:var(--serif);color:var(--gold2);font-size:18px;margin-right:8px}
.sk-track{grid-column:1/-1;height:6px;background:var(--bg3);border:1px solid var(--line);border-radius:3px;position:relative;overflow:hidden}
.sk-track i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--gold3),var(--gold));transition:width .4s var(--ease)}
.sk-ticks{grid-column:1/-1;display:flex;justify-content:space-between;font-size:11px;color:var(--ink3)}
.sk-todo{grid-column:1/-1;font-size:13px;color:var(--ink2);display:grid;gap:4px;margin-top:4px}
.sk-todo li::before{content:"＋ ";color:var(--gold)}
.sk-file{margin-top:16px;border:1px solid rgba(212,175,106,.5);border-radius:var(--sk-r);background:var(--bg2);overflow:hidden}
.sk-filehead{display:flex;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line2)}
.sk-filehead code{color:var(--gold2);font-size:13px;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sk-meta{font-size:12px;color:var(--ink3)}
#sk-preview{margin:0;padding:16px;max-height:56vh;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:12.5px;line-height:1.8;color:var(--ink2);background:var(--bg)}
#sk-preview .sk-k{color:var(--gold)}#sk-preview .sk-h{color:var(--gold2);font-weight:600}#sk-preview .sk-d{color:var(--ink3)}
.sk-fileact{display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px;border-top:1px solid var(--line2)}
.sk-next{margin-top:16px;border:1px solid var(--line2);border-radius:var(--sk-r);padding:16px 20px;background:var(--bg2)}
.sk-next ol{margin-top:8px;padding-left:1.3em;list-style:decimal;display:grid;gap:6px;font-size:14px;color:var(--ink2)}
.sk-head{display:grid;gap:14px;margin-bottom:28px;max-width:52em}
.sk-overall{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:20px;font-size:14px;color:var(--ink2)}
.sk-overall .sk-track{flex:1 1 220px}
.sk-levels{display:grid;gap:14px}
.sk-lv{display:grid;grid-template-columns:120px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--sk-r);background:var(--bg2);overflow:hidden}
.sk-lvtag{padding:18px;border-right:1px solid var(--line);background:var(--bg3);display:grid;align-content:start;gap:4px}
.sk-lvtag b{font-family:var(--serif);font-weight:900;font-size:24px;color:var(--gold2);white-space:nowrap}
.sk-pc{font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}
.sk-lvbody{padding:18px 22px;display:grid;gap:10px;min-width:0}
.sk-checks{display:grid;gap:8px}
.sk-checks label{display:flex;gap:10px;align-items:flex-start;font-size:15px;cursor:pointer}
.sk-checks input{accent-color:var(--gold);margin-top:6px;flex:none}
.sk-checks small{display:block;color:var(--ink3);font-size:13px}
.sk-tool{border:1px dashed var(--line2);border-radius:4px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.sk-tool span{font-size:14px;color:var(--ink2);flex:1 1 240px}.sk-tool b{color:var(--ink)}
@media (max-width:640px){.sk-lv{grid-template-columns:minmax(0,1fr)}.sk-lvtag{border-right:0;border-bottom:1px solid var(--line);grid-auto-flow:column;justify-content:start;align-items:baseline;gap:12px}}
.sk-sub{margin:44px 0 8px}
.sk-tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--sk-r);margin-top:14px}
.sk-tbl table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}
.sk-tbl th,.sk-tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink2)}
.sk-tbl th{color:var(--gold2);background:var(--bg3);font-weight:600;font-size:13px}
.sk-tbl td:first-child{color:var(--ink);font-weight:600;white-space:nowrap}
.sk-cta{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin-top:40px}
.sk-steps{counter-reset:sks;display:grid;gap:14px}
.sk-steps>li{counter-increment:sks;display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--sk-r);background:var(--bg2)}
.sk-steps>li::before{content:counter(sks);width:40px;height:40px;border:1.5px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-family:var(--serif);font-weight:900;font-size:19px;border-radius:50%}
.sk-steps p,.sk-steps li li{color:var(--ink2);font-size:15px}
.sk-steps p{margin-top:6px}.sk-steps b{color:var(--ink)}
.sk-steps ul{margin-top:8px;padding-left:1.2em;list-style:disc;display:grid;gap:4px}
.sk-ways{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));margin-top:12px}
.sk-ways>div{border:1px solid var(--line2);border-radius:4px;padding:14px;background:var(--bg3);min-width:0}
.sk-ways h4{font-size:14px;color:var(--gold2);margin-bottom:6px}
.sk-ways ol{padding-left:1.2em;list-style:decimal;font-size:13px;color:var(--ink2);display:grid;gap:3px}
.sk-say{font-size:13px;background:var(--bg3);border-left:2px solid var(--gold);padding:8px 12px;color:var(--ink)!important}
.sk-faq{display:grid;gap:8px;margin-top:14px}
.sk-faq details{border:1px solid var(--line);border-radius:4px;background:var(--bg2);padding:12px 16px}
.sk-faq summary{cursor:pointer;font-weight:600}
.sk-faq details p{margin-top:8px;color:var(--ink2);font-size:14px}
