/* ============================================================
   星核猎手图鉴 · 视觉系统 v2
   ============================================================ */
:root{
  --accent:#d99ae8; --accent-2:#ff73b3;
  --bg:#06060a; --panel:rgba(255,255,255,.022); --solid:#101017;
  --line:rgba(255,255,255,.075); --line-s:rgba(255,255,255,.14);
  --t1:#f4f2f7; --t2:#a8a4b3; --t3:#6d6979;
  --ok:#4ade80; --warn:#ffc978; --bad:#ff6b6b;
  --ease:cubic-bezier(.22,1,.36,1); --ease-io:cubic-bezier(.65,0,.35,1);
  --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,sans-serif;
  --mono:"JetBrains Mono","SF Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --nav-h:74px; --maxw:1300px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--bg);overflow-x:clip;color:var(--t1);font-family:var(--font);font-size:15px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,svg{display:block;max-width:100%;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--accent);color:#07070c;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:20px;border:3px solid var(--bg);}
::-webkit-scrollbar-thumb:hover{background:var(--accent);}

/* ---------- 背景 ---------- */
.bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.bg-grid{position:absolute;inset:-40%;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:66px 66px;transform:perspective(620px) rotateX(54deg) translateY(-8%);mask-image:radial-gradient(ellipse 72% 62% at 50% 28%,#000 8%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse 72% 62% at 50% 28%,#000 8%,transparent 76%);}
.bg-orb{position:absolute;border-radius:50%;filter:blur(92px);will-change:transform;}
.bg-orb--1{width:48vw;height:48vw;left:-14vw;top:-16vw;background:radial-gradient(circle,var(--accent) 0%,transparent 68%);opacity:.26;animation:d1 34s var(--ease-io) infinite alternate;}
.bg-orb--2{width:40vw;height:40vw;right:-12vw;top:8vh;background:radial-gradient(circle,var(--accent-2) 0%,transparent 66%);opacity:.17;animation:d2 42s var(--ease-io) infinite alternate;}
.bg-orb--3{width:54vw;height:54vw;left:24vw;bottom:-32vw;background:radial-gradient(circle,#33265e 0%,transparent 70%);opacity:.34;animation:d3 50s var(--ease-io) infinite alternate;}
@keyframes d1{to{transform:translate3d(6vw,5vh,0) scale(1.12);}}
@keyframes d2{from{transform:scale(1.06);}to{transform:translate3d(-5vw,8vh,0) scale(.94);}}
@keyframes d3{from{transform:scale(.96);}to{transform:translate3d(4vw,-6vh,0) scale(1.1);}}
.bg-noise{position:absolute;inset:0;opacity:.4;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");}
.bg-scan{position:absolute;inset:0;opacity:.3;mix-blend-mode:soft-light;background:repeating-linear-gradient(180deg,rgba(255,255,255,.028) 0 1px,transparent 1px 4px);}

/* ---------- 顶栏 ---------- */
.topbar{position:sticky;top:0;z-index:60;height:var(--nav-h);display:flex;align-items:center;gap:18px;padding:0 clamp(18px,3.4vw,46px);background:rgba(8,8,13,.74);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border-bottom:1px solid var(--line);transition:height .35s var(--ease),background .35s var(--ease);}
.topbar.is-stuck{height:62px;background:rgba(6,6,10,.92);}
.brand{display:flex;align-items:center;gap:11px;flex:none;}
.brand__mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:linear-gradient(140deg,var(--accent),var(--accent-2));box-shadow:0 6px 20px -6px var(--accent);transition:transform .5s var(--ease),box-shadow .5s var(--ease);}
.brand:hover .brand__mark{transform:rotate(-6deg) scale(1.06);}
.brand__mark svg{width:20px;height:20px;}
.brand__text{display:flex;flex-direction:column;line-height:1.14;}
.brand__cn{font-size:14.5px;font-weight:700;letter-spacing:.04em;}
.brand__en{font-family:var(--mono);font-size:8.5px;letter-spacing:.2em;color:var(--t3);margin-top:3px;white-space:nowrap;}

.stations{display:flex;gap:5px;margin-left:auto;flex:none;}
.station{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:10px;border:1px solid transparent;color:var(--t2);font-size:13.5px;font-weight:600;letter-spacing:.02em;transition:color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);white-space:nowrap;}
.station__ico{width:18px;height:18px;flex:none;display:grid;place-items:center;transition:transform .45s var(--ease);}
.station__ico svg{width:15px;height:15px;}
.station:hover{color:var(--t1);background:rgba(255,255,255,.055);transform:translateY(-1px);}
.station:hover .station__ico{transform:scale(1.16) rotate(-5deg);}
.station.is-active{color:#08080d;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 6px 22px -8px var(--accent);}
.station.is-active .station__ico{color:#08080d;}
.station.is-active .station__ico svg{opacity:1;}
.topbar__right{display:flex;align-items:center;gap:9px;margin-left:4px;flex:none;}
.chip{display:inline-flex;align-items:center;gap:7px;height:29px;padding:0 12px;border-radius:999px;font-size:11px;font-family:var(--mono);letter-spacing:.04em;background:rgba(255,255,255,.045);border:1px solid var(--line);color:var(--t2);transition:border-color .3s,color .3s,background .3s;}
.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--ok);animation:pl 2.6s ease-in-out infinite;}
@keyframes pl{0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.45);}50%{box-shadow:0 0 0 6px rgba(74,222,128,0);}}
.chip--live{color:var(--accent);border-color:rgba(255,255,255,.14);}
.chip--live .dot{background:var(--accent);}
.chip--btn{cursor:pointer;font-weight:700;}
.chip--btn:hover{color:var(--t1);background:rgba(255,255,255,.09);}

/* ---------- 二级菜单 ---------- */
.subnav{position:sticky;top:var(--nav-h);z-index:55;display:flex;align-items:center;gap:0;height:56px;padding:0 clamp(18px,3.4vw,46px);background:rgba(7,7,11,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;}
.subnav[hidden]{display:none;}
.subnav::-webkit-scrollbar{display:none;}
.subnav__label{font-family:var(--mono);font-size:12px;color:var(--t3);margin-right:6px;white-space:nowrap;}
.subnav__items{display:flex;gap:2px;}
.subitem{position:relative;height:56px;padding:0 20px;display:flex;align-items:center;font-size:13.5px;font-weight:600;color:var(--t2);white-space:nowrap;transition:color .3s var(--ease);}
.subitem::after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.subitem:hover{color:var(--t1);}
.subitem.is-active{color:var(--accent);}
.subitem.is-active::after{transform:scaleX(1);}
.subnav__spacer{flex:1;}
.subnav__meta{font-family:var(--mono);font-size:11px;color:var(--t3);white-space:nowrap;padding-left:16px;}

/* ---------- 布局 ---------- */
.app{position:relative;z-index:1;min-height:70vh;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,3.4vw,46px);}
.section{padding-top:clamp(48px,6vw,84px);padding-bottom:clamp(48px,6vw,84px);position:relative;}
.section--tight{padding-top:clamp(34px,4vw,56px);padding-bottom:clamp(34px,4vw,56px);}
.section--edge{border-top:1px solid var(--line);}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;opacity:.7;}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:.01em;line-height:1.22;}
.h2{font-size:clamp(24px,3vw,34px);margin-bottom:12px;}
.h3{font-size:19px;}
.lead{color:var(--t2);font-size:14.5px;max-width:74ch;line-height:1.85;}
.muted{color:var(--t3);}
.mono{font-family:var(--mono);}

.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;flex-wrap:wrap;margin-bottom:30px;}
.sec-head__main{max-width:74ch;}
.sec-head__side{font-family:var(--mono);font-size:11px;color:var(--t3);text-align:right;line-height:1.9;}

/* ---------- Hero ---------- */
.hero{position:relative;padding-top:clamp(52px,7vw,104px);padding-bottom:clamp(44px,5vw,72px);}
.hero__inner{display:grid;grid-template-columns:minmax(0,1fr) 416px;gap:clamp(32px,5vw,72px);align-items:center;}
.hero__badge{display:inline-flex;align-items:center;gap:9px;height:29px;padding:0 13px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--t2);margin-bottom:22px;}
.hero__badge i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);}
.hero__title{font-size:clamp(44px,7.4vw,86px);line-height:1.02;letter-spacing:-.01em;font-weight:800;margin-bottom:8px;}
.hero__title .thin{font-weight:300;opacity:.62;}
.hero__title-en{font-family:var(--mono);font-size:11px;letter-spacing:.34em;color:var(--t3);text-transform:uppercase;margin-bottom:24px;}
.hero__quote{position:relative;padding-left:18px;border-left:2px solid var(--accent);color:var(--t1);font-size:clamp(15px,1.5vw,17px);line-height:1.86;max-width:56ch;margin-bottom:26px;opacity:.94;}
.hero__tags{display:flex;flex-wrap:wrap;gap:8px;}
.tag{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 13px;border-radius:8px;background:rgba(255,255,255,.045);border:1px solid var(--line);font-size:12.5px;color:var(--t2);transition:border-color .3s,color .3s,transform .3s var(--ease);}
.tag:hover{border-color:rgba(255,255,255,.2);color:var(--t1);transform:translateY(-1px);}
.tag--accent{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 34%,transparent);color:var(--accent);}

/* 数据面板 */
.panel{border-radius:16px;background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.014));border:1px solid var(--line);overflow:hidden;position:relative;}
.panel::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 42%,transparent),transparent 42%,transparent 60%,color-mix(in srgb,var(--accent-2) 26%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.75;}
.panel__bar{display:flex;align-items:center;gap:9px;height:40px;padding:0 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02);}
.panel__bar i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px var(--accent);animation:pl2 3.4s ease-in-out infinite;}
@keyframes pl2{0%,100%{opacity:1;}50%{opacity:.35;}}
.panel__bar span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--t3);text-transform:uppercase;}
.panel__body{padding:20px;}
.panel__quote{font-size:14px;line-height:1.82;color:var(--t1);margin-bottom:20px;padding-bottom:20px;border-bottom:1px dashed var(--line);}
.panel__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;}
.kv__k{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--t3);text-transform:uppercase;margin-bottom:5px;}
.kv__v{font-size:15px;font-weight:700;letter-spacing:.01em;}
.kv__v.acc{color:var(--accent);}
.kv__v.warn{color:var(--warn);}
.kv__v.bad{color:var(--bad);}

/* ---------- 地图卡 ---------- */
.maps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.map{position:relative;border-radius:16px;border:1px solid var(--line);background:var(--solid);overflow:hidden;transition:transform .55s var(--ease),border-color .45s var(--ease),box-shadow .55s var(--ease);}
.map:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.2);box-shadow:0 28px 60px -28px rgba(0,0,0,.9),0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent);}
.map__art{position:relative;aspect-ratio:2/1;overflow:hidden;background:#0b0b12;}
.map__art svg{width:100%;height:100%;transition:transform 1.2s var(--ease);}
.map:hover .map__art svg{transform:scale(1.06);}
.map__art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(6,6,10,.86));pointer-events:none;}
.map__tags{position:absolute;left:14px;top:14px;display:flex;gap:6px;z-index:2;}
.map__tags span{height:24px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:rgba(6,6,10,.82);backdrop-filter:blur(8px);border:1px solid var(--line);font-size:10.5px;color:var(--accent);font-family:var(--mono);letter-spacing:.04em;}
.map__lv{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:27px;padding:0 11px;border-radius:7px;background:var(--accent);color:#08080d;font-size:11.5px;font-weight:700;letter-spacing:.02em;}
.map__body{padding:18px 18px 20px;}
.map__title{font-size:20px;font-weight:700;margin-bottom:5px;}
.map__en{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--t3);text-transform:uppercase;margin-bottom:12px;}
.map__desc{font-size:12.8px;line-height:1.86;color:var(--t2);margin-bottom:16px;}
.map__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--line);}
.map__foot span{font-size:10.5px;color:var(--t3);}
.map__btn{height:30px;padding:0 13px;border-radius:7px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-size:11.5px;font-weight:600;color:var(--t2);transition:all .3s var(--ease);display:inline-flex;align-items:center;gap:5px;}
.map:hover .map__btn{background:var(--accent);border-color:transparent;color:#08080d;}
.map__btn svg{width:12px;height:12px;transition:transform .3s var(--ease);}
.map:hover .map__btn svg{transform:translateX(3px);}

/* ---------- 深层两栏 ---------- */
.deep{display:grid;grid-template-columns:272px minmax(0,1fr);gap:0;border-top:1px solid var(--line);}
.toc{position:sticky;top:calc(var(--nav-h) + 56px);align-self:start;margin:clamp(20px,3vw,36px) 0 40px;padding:22px 14px 20px;border:1px solid rgba(255,255,255,.095);border-radius:16px;background:rgba(255,255,255,.032);max-height:calc(100vh - 150px);overflow-y:auto;}
.toc__title{font-size:15px;font-weight:700;padding:0 22px;margin-bottom:3px;}
.toc__sub{font-family:var(--mono);font-size:10px;color:var(--t3);padding:0 22px;margin-bottom:20px;letter-spacing:.08em;}
.toc__group{padding:0 12px;margin-bottom:16px;}
.toc__glabel{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);padding:0 10px 7px;}
.toc__item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;font-size:12.8px;color:var(--t2);transition:background .25s,color .25s,padding-left .3s var(--ease);cursor:pointer;border:none;width:100%;text-align:left;}
.toc__item::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.4;flex:none;transition:opacity .25s,transform .25s;}
.toc__item:hover{background:rgba(255,255,255,.05);color:var(--t1);padding-left:14px;}
.toc__item.is-active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:600;}
.toc__item.is-active::before{opacity:1;transform:scale(1.4);}
.detail{padding:clamp(28px,4vw,52px) 0 clamp(28px,4vw,52px) clamp(24px,4vw,52px);min-width:0;}
.dblock{padding-bottom:clamp(36px,4.6vw,64px);margin-bottom:clamp(36px,4.6vw,64px);border-bottom:1px solid var(--line);}
.dblock:last-child{border-bottom:none;margin-bottom:0;}
.dblock__crumb{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--t3);margin-bottom:11px;text-transform:uppercase;}
.dblock__crumb b{color:var(--accent);font-weight:500;}
.dblock__title{font-size:clamp(21px,2.6vw,29px);margin-bottom:12px;}
.dblock__lead{font-size:13.8px;line-height:1.92;color:var(--t2);max-width:78ch;margin-bottom:26px;}

/* ---------- 循环链路 ---------- */
.loop{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px;}
.loop__step{position:relative;padding:15px 14px;border-radius:11px;background:rgba(255,255,255,.035);border:1px solid var(--line);transition:background .4s var(--ease),transform .4s var(--ease),border-color .4s;}
.loop__step:hover{background:color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.03));border-color:color-mix(in srgb,var(--accent) 34%,transparent);transform:translateY(-3px);}
.loop__step:not(:last-child)::after{content:"";position:absolute;right:-7px;top:50%;width:5px;height:5px;border-right:1px solid var(--t3);border-top:1px solid var(--t3);transform:translateY(-50%) rotate(45deg);z-index:2;}
.loop__n{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;color:var(--accent);margin-bottom:7px;}
.loop__t{font-size:12.5px;font-weight:600;line-height:1.6;}
.loop__note{font-size:13px;color:var(--accent);padding:13px 16px;border-radius:10px;background:color-mix(in srgb,var(--accent) 9%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);}

/* ---------- 通用卡片网格 ---------- */
.cards{display:grid;gap:14px;}
.cards--2{grid-template-columns:repeat(2,1fr);}
.cards--3{grid-template-columns:repeat(3,1fr);}
.cards--4{grid-template-columns:repeat(4,1fr);}
.card{position:relative;padding:19px;border-radius:13px;background:linear-gradient(170deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.095);transition:transform .45s var(--ease),border-color .4s,box-shadow .45s;overflow:hidden;}
.card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 36%,var(--line));box-shadow:0 20px 44px -26px rgba(0,0,0,.9);}
.card__tag{display:inline-flex;align-items:center;height:21px;padding:0 9px;border-radius:6px;background:rgba(255,255,255,.06);font-size:10px;color:var(--t2);font-family:var(--mono);letter-spacing:.05em;margin-bottom:11px;}
.card__tag.acc{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);}
.card__glyph{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;margin-bottom:13px;background:color-mix(in srgb,var(--accent) 11%,rgba(255,255,255,.02));border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);}
.card__glyph svg{width:24px;height:24px;}
.card__title{font-size:16px;font-weight:700;margin-bottom:6px;line-height:1.4;}
.card__en{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--t3);text-transform:uppercase;margin-bottom:10px;}
.card__desc{font-size:12.5px;line-height:1.85;color:var(--t2);}
.card__num{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--accent);margin-bottom:9px;}
.card--hl{background:linear-gradient(170deg,color-mix(in srgb,var(--accent) 13%,rgba(255,255,255,.03)),rgba(255,255,255,.014));border-color:color-mix(in srgb,var(--accent) 34%,transparent);}

/* ---------- 表格 ---------- */
.table{border-radius:13px;border:1px solid var(--line);overflow:hidden;background:rgba(255,255,255,.014);}
.table__row{display:grid;gap:0;border-bottom:1px solid var(--line);transition:background .3s;}
.table__row:last-child{border-bottom:none;}
.table__row:hover{background:rgba(255,255,255,.032);}
.table__row--head{background:rgba(255,255,255,.04);}
.table__row--head:hover{background:rgba(255,255,255,.04);}
.table__cell{padding:13px 16px;font-size:12.6px;line-height:1.8;color:var(--t2);min-width:0;}
.table__cell--head{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);}
.table__cell b{color:var(--t1);font-weight:600;}
.table__cell .acc{color:var(--accent);font-weight:600;}
.table__cell .bad{color:var(--bad);font-weight:600;}
.table__cell .warn{color:var(--warn);font-weight:600;}
.table--skills .table__row{grid-template-columns:118px 210px minmax(0,1fr);}
.table--compare .table__row{grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);}

/* ---------- 时间轴 ---------- */
.tl{position:relative;}
.tl__row{display:grid;grid-template-columns:74px 132px minmax(0,1fr) 288px;gap:20px;align-items:start;padding:19px 0;border-bottom:1px solid var(--line);transition:background .3s,padding-left .35s var(--ease);}
.tl__row:last-child{border-bottom:none;}
.tl__row:hover{background:rgba(255,255,255,.022);padding-left:8px;}
.tl__lv{display:inline-flex;align-items:center;justify-content:center;height:27px;border-radius:7px;background:rgba(255,255,255,.055);border:1px solid var(--line);font-family:var(--mono);font-size:10.5px;color:var(--t3);}
.tl__name{font-size:16px;font-weight:700;line-height:1.35;}
.tl__en{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--t3);margin-top:4px;text-transform:uppercase;}
.tl__desc{font-size:12.6px;line-height:1.86;color:var(--t2);}
.tl__end{font-size:12.4px;line-height:1.7;color:var(--accent);font-weight:600;padding-left:14px;border-left:1px solid color-mix(in srgb,var(--accent) 30%,transparent);}

/* ---------- 台词 ---------- */
.quotes{display:grid;gap:12px;max-width:960px;}
.quote{padding:19px 21px;border-radius:12px;background:rgba(255,255,255,.028);border:1px solid var(--line);border-left:2px solid var(--accent);transition:background .4s,transform .4s var(--ease);}
.quote:hover{background:rgba(255,255,255,.05);transform:translateX(4px);}
.quote__who{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:9px;}
.quote__text{font-size:14px;line-height:1.9;color:var(--t1);}
.quote__src{font-size:10.5px;color:var(--t3);margin-top:10px;font-family:var(--mono);letter-spacing:.04em;}

/* ---------- 直播 / 弹幕 ---------- */
.live{display:grid;grid-template-columns:420px minmax(0,1fr);gap:24px;align-items:start;}
.live__screen{position:relative;height:150px;overflow:hidden;border-bottom:1px solid var(--line);background:
  radial-gradient(ellipse 62% 90% at 50% 118%,color-mix(in srgb,var(--accent) 46%,transparent) 0%,transparent 68%),
  radial-gradient(ellipse 90% 60% at 18% 6%,color-mix(in srgb,var(--accent-2) 26%,transparent) 0%,transparent 62%),
  #0d0a10;}
.live__screen::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,rgba(0,0,0,.36) 0 2px,transparent 2px 4px);opacity:.55;}
.live__screen::after{content:"";position:absolute;left:0;right:0;bottom:0;height:52px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--accent) 70%,transparent) 0 3px,transparent 3px 13px);opacity:.22;mask-image:linear-gradient(180deg,transparent,#000);-webkit-mask-image:linear-gradient(180deg,transparent,#000);}
.live__ghost{position:absolute;left:18px;bottom:12px;font-family:var(--mono);font-weight:800;font-size:40px;letter-spacing:.1em;color:#fff;opacity:.1;line-height:1;white-space:nowrap;}
.live__brk{position:absolute;width:16px;height:16px;border:1.5px solid color-mix(in srgb,var(--accent) 62%,transparent);}
.live__brk--tl{left:12px;top:12px;border-right:0;border-bottom:0;}
.live__brk--tr{right:12px;top:12px;border-left:0;border-bottom:0;}
.live__brk--bl{left:12px;bottom:12px;border-right:0;border-top:0;}
.live__brk--br{right:12px;bottom:12px;border-left:0;border-top:0;}
.live__rec{position:absolute;left:22px;top:20px;display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;color:#fff;}
.live__rec i{width:6px;height:6px;border-radius:50%;background:#ff4d6a;box-shadow:0 0 10px #ff4d6a;animation:pl2 1.3s ease-in-out infinite;}
.live__name{position:absolute;right:22px;top:18px;text-align:right;font-size:11px;color:rgba(255,255,255,.72);letter-spacing:.04em;}
.live__name b{display:block;font-size:15px;color:#fff;letter-spacing:.02em;}
.live__panel{border-radius:15px;border:1px solid var(--line);background:#0b0b12;overflow:hidden;position:relative;}
.live__bar{display:flex;align-items:center;gap:9px;height:42px;padding:0 15px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.03);}
.live__bar i{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pl2 1.6s ease-in-out infinite;}
.live__bar b{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--accent);font-weight:500;}
.live__bar span{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--t3);}
.dm{height:326px;overflow:hidden;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;mask-image:linear-gradient(180deg,transparent,#000 34%,#000 100%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 34%,#000 100%);}
.dm__line{display:flex;gap:9px;font-size:12.4px;line-height:1.6;animation:dmIn .5s var(--ease) both;flex:none;}
.dm__line--out{animation:dmOut .4s var(--ease) forwards;}
@keyframes dmIn{from{opacity:0;transform:translateX(-10px);}to{opacity:1;transform:none;}}
@keyframes dmOut{to{opacity:0;transform:translateY(-8px);}}
.dm__user{font-family:var(--mono);font-size:10.5px;color:var(--accent);flex:none;padding-top:2px;opacity:.85;white-space:nowrap;}
.dm__text{color:var(--t2);min-width:0;}
.dm__text.hl{color:var(--accent);font-weight:600;}
.dm__text.gift{color:var(--warn);font-weight:700;}
.live__input{display:flex;gap:9px;padding:11px 13px;border-top:1px solid var(--line);background:rgba(255,255,255,.025);}
.live__input input{flex:1;min-width:0;height:36px;padding:0 13px;border-radius:8px;background:rgba(255,255,255,.045);border:1px solid var(--line);color:var(--t1);font-family:var(--font);font-size:12.5px;outline:none;transition:border-color .3s,background .3s;}
.live__input input::placeholder{color:var(--t3);}
.live__input input:focus{border-color:color-mix(in srgb,var(--accent) 52%,transparent);background:rgba(255,255,255,.07);}
.btn-send,.btn-gift{height:36px;padding:0 15px;border-radius:8px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px;transition:transform .25s var(--ease),box-shadow .3s,filter .3s;white-space:nowrap;}
.btn-send{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#08080d;box-shadow:0 5px 18px -7px var(--accent);}
.btn-gift{background:rgba(255,201,120,.15);border:1px solid rgba(255,201,120,.4);color:var(--warn);}
.btn-send:hover,.btn-gift:hover{transform:translateY(-2px);filter:brightness(1.08);}
.btn-send:active,.btn-gift:active{transform:translateY(0) scale(.97);}
.float-gift{position:fixed;pointer-events:none;z-index:90;font-size:13px;font-weight:800;color:var(--warn);text-shadow:0 0 18px rgba(255,201,120,.7);animation:giftUp 1.6s var(--ease) forwards;}
@keyframes giftUp{0%{opacity:0;transform:translateY(0) scale(.7);}18%{opacity:1;transform:translateY(-14px) scale(1.06);}100%{opacity:0;transform:translateY(-120px) scale(1);}}

/* ---------- 首页总览 ---------- */
.members{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.member{position:relative;padding:24px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(170deg,rgba(255,255,255,.05),rgba(255,255,255,.012));overflow:hidden;transition:transform .5s var(--ease),border-color .4s,box-shadow .5s;}
.member:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 30px 60px -34px #000;}
.member__glow{position:absolute;right:-40px;top:-40px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);opacity:.16;filter:blur(30px);transition:opacity .5s;pointer-events:none;}
.member:hover .member__glow{opacity:.32;}
.member__top{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.member__av{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.03));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);flex:none;}
.member__av svg{width:26px;height:26px;}
.member__name{font-size:19px;font-weight:700;line-height:1.2;}
.member__en{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--t3);text-transform:uppercase;margin-top:3px;}
.member__role{font-size:12.5px;color:var(--accent);font-weight:600;margin-bottom:10px;}
.member__desc{font-size:12.5px;line-height:1.86;color:var(--t2);margin-bottom:16px;}
.member__meta{display:flex;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line);}
.member__meta span{font-family:var(--mono);font-size:10px;color:var(--t3);letter-spacing:.04em;}
.member__link{position:absolute;inset:0;z-index:2;}

/* 世界观条 */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.fact{padding:20px;border-radius:13px;border:1px solid var(--line);background:rgba(255,255,255,.022);transition:border-color .4s,background .4s;}
.fact:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:rgba(255,255,255,.04);}
.fact__k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);margin-bottom:9px;}
.fact__v{font-size:26px;font-weight:800;letter-spacing:-.01em;line-height:1.1;margin-bottom:7px;}
.fact__v em{font-style:normal;color:var(--accent);}
.fact__d{font-size:11.5px;color:var(--t3);line-height:1.7;}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 22px;border-radius:11px;font-size:13.5px;font-weight:700;letter-spacing:.02em;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#08080d;box-shadow:0 10px 28px -12px var(--accent);transition:transform .3s var(--ease),box-shadow .35s,filter .3s;cursor:pointer;border:none;position:relative;overflow:hidden;}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px var(--accent);filter:brightness(1.07);}
.btn:active{transform:translateY(0) scale(.98);}
.btn--ghost{background:rgba(255,255,255,.055);border:1px solid var(--line);color:var(--t1);box-shadow:none;}
.btn--ghost:hover{background:rgba(255,255,255,.1);box-shadow:none;}
.btn svg{width:15px;height:15px;}

/* 水波纹 */
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.4);transform:scale(0);animation:ri .62s var(--ease-io) forwards;pointer-events:none;}
@keyframes ri{to{transform:scale(2.6);opacity:0;}}

/* ---------- 页脚 / 回顶 ---------- */
.footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:26px clamp(18px,3.4vw,46px);border-top:1px solid var(--line);font-size:11.5px;color:var(--t3);background:rgba(6,6,10,.6);}
.footer__left{display:flex;align-items:center;gap:9px;}
.footer__mark{color:var(--accent);font-size:14px;}
.footer__right{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;letter-spacing:.04em;}
.footer__sep{opacity:.5;}
.totop{position:fixed;right:26px;bottom:26px;z-index:70;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(16,16,23,.9);border:1px solid var(--line);color:var(--t2);backdrop-filter:blur(14px);opacity:0;transform:translateY(14px) scale(.9);pointer-events:none;transition:all .4s var(--ease);}
.totop.is-on{opacity:1;transform:none;pointer-events:auto;}
.totop:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);}
.totop svg{width:18px;height:18px;}

/* ---------- 入场动画 ---------- */
@keyframes appIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
body.no-fx .bg-orb{animation:none !important;}
body.no-fx .bg-scan,
body.no-fx .bg-noise{display:none;}
body.no-fx .map:hover .map__art svg{transform:none;}
body.no-fx .rv{transition-duration:.001s;}

.rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms);}
.rv.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none;}
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;}
}

/* ---------- 响应式 ---------- */
@media (max-width:1180px){
  .hero__inner{grid-template-columns:1fr;}
  .hero__inner > .panel{max-width:520px;}
  .deep{grid-template-columns:228px minmax(0,1fr);}
  .tl__row{grid-template-columns:70px 120px minmax(0,1fr);}
  .tl__end{grid-column:3;padding-left:0;border-left:none;border-top:1px dashed var(--line);padding-top:10px;margin-top:2px;}
  .live{grid-template-columns:1fr;}
  .facts{grid-template-columns:repeat(2,1fr);}
  .members{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:900px){
  .topbar{gap:10px;padding:0 14px;}
  .stations{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;justify-content:flex-start;
    mask-image:linear-gradient(90deg,#000 0,#000 88%,transparent 100%);
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 88%,transparent 100%);}
  .stations::-webkit-scrollbar{display:none;}
  .station{padding:0 11px;height:36px;font-size:12.5px;gap:6px;}
  .station__ico svg{width:14px;height:14px;}
  .topbar__right{display:none;}
  .maps{grid-template-columns:1fr;}
  .cards--3,.cards--4{grid-template-columns:repeat(2,1fr);}
  .deep{grid-template-columns:1fr;}
  .toc{position:static;max-height:none;border-right:none;border-bottom:1px solid var(--line);padding-bottom:24px;}
  .toc__group{margin-bottom:10px;}
  .toc__items{display:flex;flex-wrap:wrap;gap:6px;}
  .toc__item{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.04);width:auto;}
  .toc__item::before{display:none;}
  .detail{padding-left:0;}
  .loop{grid-template-columns:repeat(2,1fr);}
  .loop__step::after{display:none;}
  .table--skills .table__row{grid-template-columns:90px 150px minmax(0,1fr);}
  .table--compare .table__row{grid-template-columns:1fr;}
  .table--compare .table__cell--head:nth-child(2){display:none;}
}
@media (max-width:560px){
  .brand__text{display:none;}
  .station{padding:0 9px;font-size:12px;gap:5px;}
}
@media (max-width:640px){
  .brand__text{display:none;}
  .hero__title{font-size:clamp(38px,11vw,56px);}
  .maps,.cards--2,.cards--3,.cards--4,.members,.facts{grid-template-columns:1fr;}
  .tl__row{grid-template-columns:1fr;gap:8px;}
  .tl__end{grid-column:1;}
  .table--skills .table__row{grid-template-columns:1fr;}
  .table__cell--head{display:none;}
  .live__panel{max-width:100%;}
  .dm{height:260px;}
}
