/* ============================================================
   星空体育 · galaxy-arena-xk.com.cn
   共享外壳样式：reset / tokens / 中文排版 / header / footer / 基础组件
   文件位置：/assets/site.css
   ============================================================ */

/* ---------- 1. 设计令牌 ---------- */
:root{
  --void-black:#05070E;
  --deep-navy:#0B1226;
  --panel-slate:#141C33;
  --grid-line:#22304F;
  --nebula-purple:#7A4DFF;
  --ion-cyan:#22E0D6;
  --ember-orange:#FF7A3D;
  --starlight:#E8EEFF;
  --mist:#9AA9CC;
  --signal-rose:#FF4D6D;

  --line-soft:rgba(34,48,79,.55);
  --line:rgba(34,48,79,.92);
  --panel-glass:rgba(20,28,51,.66);
  --purple-text:#B49BFF;

  --font-display:"HarmonyOS Sans SC","Source Han Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:var(--font-display);
  --font-mono:"JetBrains Mono","SFMono-Regular",ui-monospace,Menlo,Consolas,"Courier New",monospace;

  --gx-max:1360px;
  --gx-gutter:24px;
  --gx-header-h:72px;
  --gx-ease:cubic-bezier(.22,.61,.36,1);

  --cut-xs:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));
  --cut-sm:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
  --cut-lg:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));
  --cut-tr:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  background-color:var(--void-black);
  background-image:
    radial-gradient(1.4px 1.4px at 24px 32px,rgba(232,238,255,.55),transparent 60%),
    radial-gradient(1.2px 1.2px at 148px 96px,rgba(232,238,255,.35),transparent 60%),
    radial-gradient(1.6px 1.6px at 212px 168px,rgba(34,224,214,.45),transparent 60%),
    radial-gradient(1.2px 1.2px at 78px 210px,rgba(180,155,255,.45),transparent 60%),
    linear-gradient(rgba(34,48,79,.30) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,48,79,.30) 1px,transparent 1px),
    radial-gradient(1100px 640px at 88% -10%,rgba(122,77,255,.24),transparent 62%),
    radial-gradient(860px 560px at 2% 14%,rgba(34,224,214,.11),transparent 66%),
    radial-gradient(1000px 760px at 60% 118%,rgba(122,77,255,.15),transparent 70%);
  background-size:260px 240px,260px 240px,260px 240px,260px 240px,96px 96px,96px 96px,auto,auto,auto;
  background-attachment:fixed,fixed,fixed,fixed,fixed,fixed,fixed,fixed,fixed;
}
body{
  margin:0;
  background:transparent;
  color:var(--starlight);
  font-family:var(--font-body);
  font-size:16px;
  font-weight:400;
  line-height:1.75;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p,figure{margin:0}
::selection{background:rgba(34,224,214,.28);color:#fff}

:focus-visible{outline:2px solid var(--ion-cyan);outline-offset:2px;border-radius:1px}
#main-content:focus{outline:none}

/* ---------- 3. 中文排版与排印工具 ---------- */
.gx-display{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(34px,6vw,64px);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--starlight);
}
.gx-h2{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(24px,3.2vw,32px);
  line-height:1.22;
  letter-spacing:-.02em;
  color:var(--starlight);
}
.gx-h3{font-size:clamp(18px,2vw,22px);font-weight:800;line-height:1.35;letter-spacing:-.01em;color:var(--starlight)}
.gx-lead{font-size:17px;line-height:1.8;color:#C4D0E8;max-width:40ch}
.gx-text{color:#C4D0E8;font-size:16px;line-height:1.75;max-width:40ch}
.gx-muted{color:var(--mist);font-size:14px;line-height:1.7}
.gx-mono{font-family:var(--font-mono);letter-spacing:.04em;font-size:.88em}
.gx-num{font-family:var(--font-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;text-align:right}
.gx-eyebrow{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ion-cyan);
}

/* ---------- 4. 容器与区块节奏 ---------- */
.gx-main{position:relative;z-index:1;display:block;padding:8px 0 88px}
.gx-shell{
  width:100%;
  max-width:var(--gx-max);
  margin-inline:auto;
  padding-inline:var(--gx-gutter);
}
.gx-section{position:relative;padding:clamp(40px,5.5vw,72px) 0}
.gx-section:first-child{padding-top:clamp(24px,3vw,40px)}
.gx-section + .gx-section{border-top:1px solid var(--line-soft)}
.gx-section__head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px 28px;
  margin-bottom:28px;
}
.gx-section__title{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(22px,2.8vw,30px);line-height:1.24;letter-spacing:-.02em}
.gx-section__note{margin:0;color:var(--mist);font-size:14px;max-width:46ch}
.gx-divider{
  height:1px;
  border:0;
  margin:clamp(28px,3.4vw,44px) 0;
  background:linear-gradient(90deg,rgba(122,77,255,.75),rgba(34,224,214,.35) 45%,transparent);
}

.gx-grid{display:grid;gap:24px}
.gx-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gx-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gx-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gx-grid--sidebar{grid-template-columns:minmax(0,2fr) minmax(240px,1fr);align-items:start}
.gx-stack > * + *{margin-top:20px}
.gx-stack--tight > * + *{margin-top:10px}

/* ---------- 5. 面板 / 卡片 / 标签 / 状态 ---------- */
.gx-panel{
  position:relative;
  background:linear-gradient(158deg,rgba(20,28,51,.94),rgba(11,18,38,.88));
  border:1px solid var(--line);
  box-shadow:0 20px 44px rgba(3,5,12,.6);
}
.gx-panel--cut{clip-path:var(--cut-lg);border:0;box-shadow:none}
.gx-panel--glass{
  background:var(--panel-glass);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  border-color:rgba(34,224,214,.22);
  box-shadow:0 22px 52px rgba(3,5,12,.55),inset 0 1px 0 rgba(232,238,255,.07);
}
.gx-panel__head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line-soft)}
.gx-panel__title{margin:0;font-size:15px;font-weight:800;letter-spacing:.02em;color:var(--starlight)}
.gx-panel__body{padding:20px}

.gx-card{
  position:relative;
  display:block;
  padding:22px;
  background:linear-gradient(155deg,rgba(20,28,51,.92),rgba(11,18,38,.82));
  border:1px solid var(--line);
  clip-path:var(--cut-lg);
  transition:transform .2s var(--gx-ease),border-color .2s var(--gx-ease),filter .2s var(--gx-ease),background .2s var(--gx-ease);
}
.gx-card::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:2px;
  background:linear-gradient(180deg,var(--ion-cyan),rgba(122,77,255,0));
  opacity:.5;
  transition:opacity .2s var(--gx-ease);
}
a.gx-card:hover,a.gx-card:focus-visible{
  transform:translateY(-4px);
  border-color:rgba(34,224,214,.5);
  background:linear-gradient(155deg,rgba(24,34,60,.96),rgba(11,18,38,.88));
  filter:drop-shadow(0 24px 34px rgba(3,5,12,.78));
}
a.gx-card:hover::before,a.gx-card:focus-visible::before{opacity:1}
.gx-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.gx-card__title{margin:0 0 8px;font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--starlight)}
.gx-card__body{margin:0;color:var(--mist);font-size:15px;line-height:1.75}
.gx-card__meta{margin:14px 0 0;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--mist)}

.gx-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 9px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--mist);
  border:1px solid currentColor;
  clip-path:var(--cut-xs);
  white-space:nowrap;
}
.gx-tag--purple{color:var(--purple-text)}
.gx-tag--cyan{color:var(--ion-cyan)}
.gx-tag--ember{color:var(--ember-orange)}
.gx-tag--rose{color:var(--signal-rose)}

.gx-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:4px 10px;
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.08em;
  color:var(--mist);
  background:rgba(5,7,14,.6);
  border:1px solid var(--line);
  clip-path:var(--cut-xs);
}
.gx-status__dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(154,169,204,.16)}
.gx-status--live{color:var(--ion-cyan)}
.gx-status--ready{color:var(--purple-text)}
.gx-status--pending{color:var(--signal-rose)}
.gx-status--live .gx-status__dot{animation:gx-pulse 1.9s ease-in-out infinite}
@keyframes gx-pulse{
  0%,100%{box-shadow:0 0 0 3px rgba(34,224,214,.18)}
  50%{box-shadow:0 0 0 7px rgba(34,224,214,.04)}
}

.gx-kv{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0;font-family:var(--font-mono);font-size:13px;letter-spacing:.04em}
.gx-kv__k{color:var(--mist)}
.gx-kv__v{color:var(--ion-cyan);font-variant-numeric:tabular-nums}

/* ---------- 6. 轨道式时间轴 ---------- */
.gx-rail{margin:0;padding:0 0 0 22px;list-style:none;border-left:1px solid var(--line)}
.gx-rail__item{position:relative;padding:0 0 26px}
.gx-rail__item:last-child{padding-bottom:0}
.gx-rail__item::before{
  content:"";
  position:absolute;
  left:-27px;top:7px;
  width:9px;height:9px;
  background:var(--void-black);
  border:1px solid var(--ion-cyan);
  transform:rotate(45deg);
}
.gx-rail__time{display:block;margin-bottom:4px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--ion-cyan)}
.gx-rail__body{color:var(--mist);font-size:15px;line-height:1.7}

/* ---------- 7. 按钮 ---------- */
.gx-actions{display:flex;align-items:center;gap:10px}
.gx-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 18px;
  font-size:13.5px;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
  clip-path:var(--cut-sm);
  transition:background .18s var(--gx-ease),color .18s var(--gx-ease),box-shadow .18s var(--gx-ease),filter .18s var(--gx-ease);
}
.gx-btn--ember{
  background:linear-gradient(135deg,var(--ember-orange),#FFA061);
  color:#180A02;
}
.gx-btn--ember:hover{filter:brightness(1.09)}
.gx-btn--ghost{
  background:rgba(20,28,51,.7);
  color:var(--starlight);
  box-shadow:inset 0 0 0 1px rgba(34,224,214,.35);
}
.gx-btn--ghost:hover{background:rgba(34,224,214,.1);box-shadow:inset 0 0 0 1px var(--ion-cyan);color:#fff}
.gx-btn--quiet{
  background:transparent;
  color:var(--mist);
  box-shadow:inset 0 0 0 1px var(--line);
}
.gx-btn--quiet:hover{color:var(--starlight);box-shadow:inset 0 0 0 1px rgba(34,224,214,.6)}
.gx-btn:focus-visible{outline:2px solid var(--ion-cyan);outline-offset:3px;box-shadow:inset 0 0 0 2px var(--ion-cyan)}

/* ---------- 8. 面包屑 ---------- */
.gx-breadcrumb{margin:24px 0 0;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--mist)}
.gx-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.gx-breadcrumb__item{display:inline-flex;align-items:center;gap:8px}
.gx-breadcrumb__item + .gx-breadcrumb__item::before{content:"/";color:rgba(154,169,204,.5)}
.gx-breadcrumb a{color:var(--mist)}
.gx-breadcrumb a:hover{color:var(--ion-cyan)}
.gx-breadcrumb [aria-current="page"]{color:var(--starlight)}

/* ---------- 9. 图片容器基座 ---------- */
.gx-media{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(150deg,#0E1730,#141C33 60%,#0B1226);
  clip-path:var(--cut-lg);
  border:0;
}
.gx-media::after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 0 1px rgba(34,48,79,.9);
  pointer-events:none;
  z-index:3;
}
.gx-media__img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.gx-media--wide{aspect-ratio:21/9}
.gx-media--standard{aspect-ratio:16/9}
.gx-media--square{aspect-ratio:1/1}
.gx-media--tall{aspect-ratio:3/4}
.gx-media__glow{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(120% 95% at 82% 0%,rgba(122,77,255,.38),transparent 62%),
    linear-gradient(0deg,rgba(5,7,14,.82),transparent 58%);
}
.gx-media__ph{
  position:absolute;
  inset:0;
  z-index:1;
  background-image:
    linear-gradient(rgba(34,48,79,.55) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,48,79,.55) 1px,transparent 1px);
  background-size:48px 48px;
  opacity:.55;
}
.gx-media__caption{
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:4;
  padding:16px 18px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.05em;
  color:var(--mist);
  background:linear-gradient(0deg,rgba(5,7,14,.9),transparent);
}

/* ---------- 10. 显现 / 返回顶部 ---------- */
.gx-reveal{transition:opacity .5s var(--gx-ease),transform .5s var(--gx-ease)}
.gx-reveal--pending{opacity:0;transform:translateY(12px)}
.gx-reveal[data-visible="true"]{opacity:1;transform:none}

.gx-backtop{
  position:fixed;
  right:20px;
  bottom:22px;
  z-index:70;
  display:inline-flex;
  align-items:center;
  padding:10px 15px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--starlight);
  background:rgba(20,28,51,.92);
  box-shadow:inset 0 0 0 1px rgba(34,224,214,.45),0 16px 30px rgba(3,5,12,.7);
  clip-path:var(--cut-sm);
  visibility:hidden;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .2s var(--gx-ease),transform .2s var(--gx-ease),visibility .2s var(--gx-ease);
}
.gx-backtop[data-visible="true"]{visibility:visible;opacity:1;transform:none}
.gx-backtop:hover{color:var(--ion-cyan);box-shadow:inset 0 0 0 1px var(--ion-cyan),0 16px 30px rgba(3,5,12,.7)}

/* ---------- 11. 头部 ---------- */
.gx-header{
  position:sticky;
  top:0;
  z-index:90;
  background:linear-gradient(180deg,rgba(11,18,38,.95),rgba(5,7,14,.9));
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.gx-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(122,77,255,.75) 28%,rgba(34,224,214,.75) 72%,transparent);
  opacity:.55;
  pointer-events:none;
}
.gx-header__inner{
  display:flex;
  align-items:center;
  gap:20px;
  width:100%;
  max-width:var(--gx-max);
  margin-inline:auto;
  padding-inline:var(--gx-gutter);
  min-height:var(--gx-header-h);
}
.gx-header__rail{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  flex:0 0 auto;
  padding:10px 22px 10px 0;
}
.gx-header__rail::after{
  content:"";
  position:absolute;
  right:0;top:14px;bottom:14px;
  width:1px;
  background:linear-gradient(180deg,transparent,var(--grid-line),transparent);
  transition:opacity .2s var(--gx-ease);
}
.gx-header[data-compact="true"] .gx-header__rail{padding-right:14px}
.gx-header[data-compact="true"] .gx-header__rail::after{opacity:.35}

.gx-brand{display:inline-flex;align-items:center;gap:12px;min-width:0}
.gx-brand__mark{
  position:relative;
  flex:0 0 34px;
  width:34px;
  height:34px;
  background:conic-gradient(from 205deg,var(--ion-cyan),var(--nebula-purple) 58%,var(--ion-cyan));
  clip-path:polygon(0 0,100% 0,100% 62%,62% 100%,0 100%);
  transition:width .2s var(--gx-ease),height .2s var(--gx-ease),flex-basis .2s var(--gx-ease);
}
.gx-brand__mark::after{
  content:"";
  position:absolute;
  inset:6px;
  background:radial-gradient(circle at 60% 40%,#0C1327 0%,#05070E 70%);
  clip-path:polygon(0 0,100% 0,100% 60%,60% 100%,0 100%);
}
.gx-header[data-compact="true"] .gx-brand__mark{flex-basis:28px;width:28px;height:28px}
.gx-brand__text{display:flex;flex-direction:column;line-height:1.16;min-width:0}
.gx-brand__name{font-family:var(--font-display);font-size:20px;font-weight:900;letter-spacing:-.02em;color:var(--starlight)}
.gx-brand__line{
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mist);
  transition:opacity .2s var(--gx-ease);
}
.gx-header[data-compact="true"] .gx-brand__line{opacity:0}
.gx-version{
  padding:4px 8px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--mist);
  border:1px solid var(--line);
  clip-path:var(--cut-xs);
  transition:opacity .2s var(--gx-ease);
}
.gx-header[data-compact="true"] .gx-version{opacity:0;pointer-events:none}

.gx-nav{display:flex;align-items:center;gap:20px;margin-left:auto;flex:1 1 auto;justify-content:flex-end}
.gx-nav__list{display:flex;align-items:center;gap:2px}
.gx-nav__link{
  position:relative;
  display:block;
  padding:10px 14px;
  font-size:14.5px;
  font-weight:500;
  color:var(--mist);
  transition:color .18s var(--gx-ease),background .18s var(--gx-ease);
}
.gx-nav__link::after{
  content:"";
  position:absolute;
  left:14px;right:14px;bottom:4px;
  height:2px;
  background:linear-gradient(90deg,var(--ion-cyan),var(--nebula-purple));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s var(--gx-ease);
}
.gx-nav__link:hover{color:var(--starlight)}
.gx-nav__link:hover::after{transform:scaleX(1)}
.gx-nav__link[aria-current="page"]{color:#fff;background:rgba(20,28,51,.9)}
.gx-nav__link[aria-current="page"]::after{transform:scaleX(1)}
.gx-nav__link:focus-visible{outline:2px solid var(--ion-cyan);outline-offset:-2px}

.gx-nav__toggle{
  display:none;
  align-items:center;
  gap:10px;
  margin-left:auto;
  padding:10px 14px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.12em;
  color:var(--starlight);
  background:rgba(20,28,51,.75);
  border:1px solid var(--line);
  clip-path:var(--cut-sm);
}
.gx-nav__toggle-label{line-height:1}
.gx-nav__toggle-bars{display:inline-flex;flex-direction:column;justify-content:space-between;width:18px;height:12px}
.gx-nav__toggle-bars i{display:block;height:2px;background:var(--ion-cyan);transition:transform .2s var(--gx-ease),opacity .2s var(--gx-ease)}
.gx-nav__toggle[aria-expanded="true"] .gx-nav__toggle-bars i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.gx-nav__toggle[aria-expanded="true"] .gx-nav__toggle-bars i:nth-child(2){opacity:0}
.gx-nav__toggle[aria-expanded="true"] .gx-nav__toggle-bars i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.gx-nav__toggle:focus-visible{outline:2px solid var(--ion-cyan);outline-offset:3px;box-shadow:inset 0 0 0 2px var(--ion-cyan)}

.gx-progress{
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:2px;
  background:rgba(34,48,79,.55);
  pointer-events:none;
}
.gx-progress__bar{
  display:block;
  height:100%;
  width:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,var(--nebula-purple),var(--ion-cyan));
}

/* ---------- 12. 页脚 ---------- */
.gx-footer{
  position:relative;
  z-index:1;
  margin-top:clamp(48px,7vw,96px);
  overflow:hidden;
  background:linear-gradient(180deg,rgba(11,18,38,.5),var(--deep-navy) 42%,#070B16);
  border-top:1px solid var(--line);
}
.gx-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(34,48,79,.32) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,48,79,.32) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 72%);
  mask-image:linear-gradient(180deg,#000,transparent 72%);
  opacity:.7;
}
.gx-footer__glow{
  position:absolute;
  top:-180px;right:-90px;
  width:540px;height:540px;
  pointer-events:none;
  background:radial-gradient(circle,rgba(122,77,255,.30),transparent 66%);
}
.gx-footer__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(260px,1.15fr) 2fr;
  gap:44px 56px;
  width:100%;
  max-width:var(--gx-max);
  margin-inline:auto;
  padding:clamp(44px,6vw,72px) var(--gx-gutter) 36px;
}
.gx-footer__brand{min-width:0}
.gx-footer__note{margin:20px 0 0;max-width:34ch;color:var(--mist);font-size:14px;line-height:1.75}
.gx-footer__facts{margin:18px 0 0;display:grid;gap:8px}
.gx-footer__facts li{
  position:relative;
  padding-left:16px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.04em;
  color:rgba(154,169,204,.9);
}
.gx-footer__facts li::before{
  content:"";
  position:absolute;
  left:0;top:8px;
  width:6px;height:6px;
  background:var(--ion-cyan);
  transform:rotate(45deg);
}
.gx-footer__nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.gx-footer__title{
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-size:12px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ion-cyan);
}
.gx-footer__links{display:grid;gap:2px}
.gx-footer__link{
  display:inline-block;
  padding:5px 0;
  font-size:14.5px;
  color:var(--mist);
  transition:color .18s var(--gx-ease),transform .18s var(--gx-ease);
}
.gx-footer__link:hover{color:var(--starlight);transform:translateX(3px)}
.gx-footer__contact{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px 28px;
  padding-top:28px;
  border-top:1px dashed rgba(34,48,79,.9);
}
.gx-footer__contact-item{display:grid;gap:4px;min-width:0}
.gx-footer__contact-k{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--nebula-purple)}
.gx-footer__contact-v{font-family:var(--font-mono);font-size:13.5px;letter-spacing:.03em;color:var(--starlight);word-break:break-word}
.gx-footer__contact-note{grid-column:1 / -1;margin:0;color:var(--mist);font-size:13px}
.gx-footer__base{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 24px;
  width:100%;
  max-width:var(--gx-max);
  margin-inline:auto;
  padding:18px var(--gx-gutter) 34px;
  border-top:1px solid rgba(34,48,79,.65);
}
.gx-footer__legal,
.gx-footer__copy{
  margin:0;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--mist);
}
.gx-footer__legal{color:rgba(154,169,204,.85)}

/* ---------- 13. 响应式：平板 ---------- */
@media (max-width:1199px){
  :root{--gx-header-h:64px}
  .gx-header__rail::after{display:none}
  .gx-header__rail{padding-right:10px}
  .gx-version{display:none}
  .gx-nav__toggle{display:inline-flex}
  .gx-nav{
    position:fixed;
    top:var(--gx-header-h);
    left:0;right:0;
    z-index:89;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    margin:0;
    padding:10px var(--gx-gutter) 24px;
    max-height:calc(100vh - var(--gx-header-h));
    overflow-y:auto;
    background:linear-gradient(180deg,rgba(11,18,38,.99),rgba(5,7,14,.99));
    border-bottom:1px solid var(--line);
    box-shadow:0 28px 54px rgba(2,4,10,.75);
    visibility:hidden;
    opacity:0;
    transform:translateY(-10px);
    transition:opacity .22s var(--gx-ease),transform .22s var(--gx-ease),visibility .22s var(--gx-ease);
  }
  .gx-nav[data-open="true"]{visibility:visible;opacity:1;transform:none}
  .gx-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .gx-nav__item{border-bottom:1px solid var(--line-soft)}
  .gx-nav__link{padding:15px 14px 15px 18px;font-size:16px;color:var(--starlight)}
  .gx-nav__link::after{
    left:0;right:auto;bottom:auto;
    top:50%;
    width:3px;height:16px;
    margin-top:-8px;
    transform:scaleY(0);
    transform-origin:top center;
  }
  .gx-nav__link:hover::after,
  .gx-nav__link[aria-current="page"]::after{transform:scaleY(1)}
  .gx-nav__link[aria-current="page"]{background:rgba(20,28,51,.85)}
  .gx-actions{flex-direction:column;align-items:stretch;margin-top:20px}
  .gx-actions .gx-btn{width:100%}
  .gx-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gx-grid--sidebar{grid-template-columns:1fr}
  .gx-footer__inner{grid-template-columns:1fr;gap:36px}
  .gx-footer__contact{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- 14. 响应式：手机 ---------- */
@media (max-width:767px){
  :root{--gx-gutter:16px}
  body{font-size:15.5px}
  .gx-brand__name{font-size:18px}
  .gx-brand__line{letter-spacing:.18em}
  .gx-grid{gap:18px}
  .gx-grid--2,.gx-grid--3,.gx-grid--4{grid-template-columns:1fr}
  .gx-card{padding:18px}
  .gx-panel__body{padding:16px}
  .gx-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gx-footer__contact{grid-template-columns:1fr}
  .gx-backtop{right:12px;bottom:14px;padding:9px 12px;font-size:11px}
  .gx-section__head{align-items:flex-start}
}

/* ---------- 15. 降低动效 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .gx-reveal,
  .gx-reveal--pending{opacity:1 !important;transform:none !important}
  a.gx-card:hover,a.gx-card:focus-visible{transform:none}
  .gx-backtop{transform:none}
  .gx-status--live .gx-status__dot{animation:none}
}
