/* ===== 华体育会 / shared site.css ===== */
:root{
  --green-950:#0A1F1C;
  --green-900:#0B2622;
  --green-800:#12342E;
  --gold:#D4A017;
  --gold-bright:#E8B52A;
  --red:#E63946;
  --white:#F5F5F5;
  --silver:#B0BEC5;
  --gray-800:#263238;
  --cyan:#00BFA5;
  --gray-line:#E0E0E0;
  --body-font:'Source Sans Pro','Helvetica Neue',sans-serif;
  --title-font:'Noto Sans SC','Microsoft YaHei',sans-serif;
  --data-font:'Roboto Mono',monospace;
  --header-h:68px;
  --container-w:1280px;
  --space:16px;
  --radius:0px;
  --shadow:0 4px 20px rgba(0,0,0,.25);
  --focus-ring:2px solid var(--gold-bright);
}
*,
*::before,
*::after{
  box-sizing:border-box;
  margin:0;
  padding:0;
}
html{
  scroll-behavior:smooth;
  font-size:16px;
}
body{
  font-family:var(--body-font);
  font-size:16px;
  line-height:1.6;
  color:var(--white);
  background:var(--green-950);
  -webkit-font-smoothing:antialiased;
}
body.menu-open{
  overflow:hidden;
}
img{max-width:100%;display:block;}
a{
  color:var(--cyan);
  text-decoration:none;
  transition:color .2s ease;
}
a:hover{
  color:var(--gold-bright);
}
ul,ol{list-style:none;}
button{font-family:inherit;background:none;border:none;cursor:pointer;}
:focus-visible{
  outline:var(--focus-ring);
  outline-offset:2px;
}
::selection{
  background:var(--gold);
  color:var(--green-950);
}

/* 通用容器 */
.content-container{
  width:calc(100% - 32px);
  max-width:var(--container-w);
  margin:0 auto;
}

/* 屏幕阅读器 */
.site-skip-link{
  position:fixed;
  top:-60px;
  left:16px;
  background:var(--gold);
  color:var(--green-950);
  padding:10px 20px;
  z-index:2000;
  font-weight:700;
  border-radius:0;
  transition:top .2s;
}
.site-skip-link:focus{
  top:12px;
  color:var(--green-950);
}

/* ===== 头部 ===== */
.site-header{
  background:rgba(10,31,28,.92);
  border-bottom:2px solid var(--gold);
  position:relative;
  z-index:1000;
  position:sticky;
  top:0;
  backdrop-filter:blur(6px);
}
.site-header__top{
  background:var(--green-900);
  border-bottom:1px solid rgba(224,224,224,.08);
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:6px 24px;
  font-size:12px;
  color:var(--silver);
}
.site-header__cockpit-label{
  font-family:var(--data-font);
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--silver);
}
.site-header__hotline{
  color:var(--gold);
  font-weight:600;
  letter-spacing:.5px;
}
.site-header__hotline:hover{color:var(--gold-bright);}
.site-header__main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:calc(100% - 32px);
  max-width:var(--container-w);
  margin:0 auto;
  min-height:64px;
  padding:10px 0;
}
.site-logo{
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
}
.site-logo__mark{
  font-family:var(--title-font);
  font-weight:900;
  font-size:24px;
  color:var(--gold);
  border:2px solid var(--gold);
  padding:2px 10px;
  letter-spacing:2px;
}
.site-logo__divider{
  width:2px;
  height:32px;
  background:var(--gray-line);
  opacity:.4;
}
.site-logo__text{
  display:flex;
  flex-direction:column;
  line-height:1.2;
}
.site-logo__text strong{
  font-family:var(--title-font);
  font-size:20px;
  font-weight:900;
  color:var(--white);
  letter-spacing:1px;
}
.site-logo__text small{
  font-size:11px;
  color:var(--silver);
  letter-spacing:1.6px;
  text-transform:uppercase;
}
.site-nav-toggle{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:8px;
  border:1px solid rgba(255,255,255,.2);
  background:transparent;
  width:44px;
  height:44px;
}
.site-nav-toggle__line{
  display:block;
  width:22px;
  height:2px;
  background:var(--gold);
  transition:transform .2s ease,opacity .2s ease;
}
.site-nav-toggle__label{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--silver);
}
.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__line:nth-child(1){
  transform:translateY(8px) rotate(45deg);
}
.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__line:nth-child(2){
  opacity:0;
}
.site-nav-toggle[aria-expanded="true"] .site-nav-toggle__line:nth-child(3){
  transform:translateY(-8px) rotate(-45deg);
}
.site-nav{
  position:fixed;
  top:126px;
  left:0;
  right:0;
  background:rgba(10,31,28,.98);
  border-bottom:2px solid var(--gold);
  transform:translateY(-16px);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
  z-index:999;
  max-height:calc(100vh - 140px);
  overflow-y:auto;
}
.site-nav[data-open]{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.site-nav__list{
  display:flex;
  flex-direction:column;
  padding:12px 0;
}
.site-nav__item{
  border-bottom:1px solid rgba(255,255,255,.06);
}
.site-nav__link{
  display:block;
  padding:14px 24px;
  font-family:var(--title-font);
  font-weight:700;
  font-size:16px;
  color:var(--white);
  letter-spacing:.5px;
  transition:background .2s,color .2s;
}
.site-nav__link:hover{
  background:rgba(212,160,23,.1);
  color:var(--gold);
}
.site-nav__link[aria-current="page"]{
  color:var(--gold);
  border-left:4px solid var(--gold);
  background:rgba(212,160,23,.06);
}
.site-header__ruler{
  display:flex;
  gap:8px;
  padding:4px 24px;
  background:var(--green-950);
}
.site-header__ruler i{
  flex:1;
  height:2px;
  background:var(--green-800);
}
.site-header__ruler i:nth-child(2),
.site-header__ruler i:nth-child(5){
  background:var(--gold);
}

/* ===== 页脚 ===== */
.site-footer{
  background:var(--green-950);
  border-top:3px solid var(--gold);
  margin-top:60px;
}
.site-footer__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
  padding:40px 0 20px;
}
.site-footer__logo{
  font-family:var(--title-font);
  font-size:28px;
  font-weight:900;
  color:var(--gold);
  letter-spacing:2px;
}
.site-footer__tagline{
  margin-top:10px;
  color:var(--silver);
  font-size:15px;
  max-width:30ch;
}
.site-footer__trust{
  margin-top:12px;
  font-size:13px;
  border-left:3px solid var(--cyan);
  padding-left:12px;
  color:var(--white);
  background:rgba(0,191,165,.08);
}
.site-footer__heading{
  font-family:var(--title-font);
  font-weight:700;
  font-size:15px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:14px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(224,224,224,.1);
}
.site-footer__links li{
  margin-bottom:8px;
}
.site-footer__links a{
  color:var(--white);
  font-size:14px;
}
.site-footer__links a:hover{
  color:var(--gold);
  padding-left:4px;
  transition:padding-left .2s;
}
.site-footer__contact-list li{
  font-size:14px;
  color:var(--silver);
  margin-bottom:8px;
}
.site-footer__contact-list a{
  color:var(--cyan);
}
.site-footer__contact-list a:hover{
  color:var(--gold-bright);
}
.site-footer__meta{
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:16px;
}
.site-footer__icp{
  font-size:13px;
  color:var(--silver);
  margin-top:12px;
}
.site-footer__copyright{
  font-size:13px;
  color:var(--silver);
  margin-top:4px;
}
.site-footer__ruler{
  display:flex;
  gap:8px;
  padding:6px 24px;
  background:var(--green-900);
}
.site-footer__ruler i{
  flex:1;
  height:2px;
  background:var(--green-800);
}
.site-footer__ruler i:nth-child(3){
  background:var(--gold);
}

/* ===== 首屏框景 ===== */
.hero-frame{
  border:2px solid var(--gold);
  background:
    linear-gradient(135deg,rgba(212,160,23,.08) 0%,transparent 40%),
    linear-gradient(315deg,rgba(230,57,70,.05) 0%,transparent 30%),
    var(--green-900);
  padding:32px 24px;
  margin:32px auto;
  position:relative;
}
.hero-frame::before{
  content:attr(data-label);
  position:absolute;
  top:-12px;
  left:24px;
  background:var(--gold);
  color:var(--green-950);
  font-family:var(--data-font);
  font-size:12px;
  font-weight:700;
  padding:2px 12px;
  letter-spacing:2px;
}
.hero-frame__ruler{
  display:flex;
  gap:8px;
  margin-top:24px;
}
.hero-frame__ruler i{
  flex:1;
  height:3px;
  background:var(--green-800);
}
.hero-frame__ruler i:nth-child(1),
.hero-frame__ruler i:nth-child(3){
  background:var(--gold);
}
.hero-frame__title{
  font-family:var(--title-font);
  font-weight:900;
  font-size:clamp(32px,6vw,64px);
  line-height:1.15;
  letter-spacing:2px;
  color:var(--white);
  max-width:12ch;
}
.hero-frame__title .accent{
  color:var(--gold);
}
.hero-frame__meta{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:24px;
  font-family:var(--data-font);
  font-size:13px;
  color:var(--silver);
}

/* ===== 状态面板 ===== */
.data-card{
  background:var(--green-900);
  border:1px solid rgba(255,255,255,.08);
  border-top:3px solid var(--gold);
  padding:20px;
  transition:background .2s,border-color .2s,transform .2s;
}
.data-card:hover{
  background:var(--green-800);
  border-top-color:var(--gold-bright);
}
.data-card__header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}
.data-card__status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-family:var(--data-font);
  text-transform:uppercase;
  letter-spacing:.5px;
}
.data-card__status::before{
  content:'';
  width:8px;
  height:8px;
  background:var(--silver);
  border-radius:50%;
}
.data-card__status.is-live::before{
  background:var(--red);
  animation:twinkle 1.2s infinite alternate;
}
.data-card__status.is-updated::before{
  background:var(--gold);
}
.data-card__status.is-ended::before{
  background:var(--silver);
}
.data-card__title{
  font-family:var(--title-font);
  font-weight:900;
  font-size:18px;
  color:var(--white);
  line-height:1.4;
}
.data-card__metric{
  font-family:var(--data-font);
  font-size:36px;
  font-weight:700;
  color:var(--gold);
  line-height:1.2;
  margin-top:8px;
}
.data-card__metric small{
  font-size:13px;
  color:var(--silver);
  font-weight:400;
  margin-left:4px;
}
.data-card__meta{
  font-size:13px;
  color:var(--silver);
  margin-top:12px;
  border-top:1px dashed rgba(255,255,255,.1);
  padding-top:10px;
}
.data-card__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:16px;
  font-weight:700;
  color:var(--gold);
  font-size:14px;
}
.data-card__link::after{
  content:'→';
  transition:transform .2s;
}
.data-card__link:hover::after{
  transform:translateX(4px);
}
@keyframes twinkle{
  0%{opacity:1;}
  100%{opacity:.3;}
}

/* ===== 网格 ===== */
.dashboard-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.dashboard-grid__item{
  min-width:0;
}

/* ===== 面包屑 ===== */
.breadcrumb{
  margin:24px 0;
  font-size:13px;
}
.breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.breadcrumb__item{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--silver);
}
.breadcrumb__item:not(:last-child)::after{
  content:'/';
  color:var(--gold);
  font-weight:700;
}
.breadcrumb__link{
  color:var(--silver);
}
.breadcrumb__link:hover{
  color:var(--gold);
}
.breadcrumb__current{
  color:var(--gold);
  font-weight:600;
}

/* ===== 通用正文排版 ===== */
.prose{
  max-width:760px;
  color:var(--white);
}
.prose p{
  margin-bottom:1em;
}
.prose h2{
  font-family:var(--title-font);
  font-weight:900;
  font-size:28px;
  margin:2rem 0 .75rem;
  color:var(--gold);
  border-left:4px solid var(--gold);
  padding-left:16px;
}
.prose h3{
  font-family:var(--title-font);
  font-weight:700;
  font-size:22px;
  margin:1.5rem 0 .5rem;
  color:var(--white);
}
.prose a{
  color:var(--cyan);
  text-decoration:underline;
  text-underline-offset:4px;
}
.prose ul{
  margin:1rem 0;
  padding-left:1.2rem;
  list-style:square;
}
.prose ul li{
  margin-bottom:.5rem;
  color:var(--white);
}
.prose blockquote{
  margin:2rem 0;
  border-left:4px solid var(--gold);
  background:rgba(212,160,23,.08);
  padding:16px 24px;
  font-style:italic;
  color:var(--silver);
}

/* ===== 斜切区块 ===== */
.edge-section{
  padding:56px 0;
  position:relative;
  clip-path:polygon(0 0,100% 2%,100% 98%,0 100%);
}
.edge-section--dark{
  background:var(--green-900);
}
.edge-section--gold-tint{
  background:linear-gradient(135deg,rgba(212,160,23,.15) 0%,var(--green-950) 80%);
}

/* ===== 图片容器 ===== */
.c-image-frame{
  background:var(--gray-800);
  border:1px solid rgba(255,255,255,.1);
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9;
}
.c-image-frame::after{
  content:attr(data-caption);
  display:block;
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  background:linear-gradient(to top,rgba(10,20,18,.85),transparent);
  padding:20px 14px 10px;
  font-size:12px;
  color:var(--silver);
  font-family:var(--data-font);
}
.c-image-frame__img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ===== 状态标签 ===== */
.status-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:600;
  padding:4px 12px;
  border:1px solid var(--gray-line);
  color:var(--silver);
  background:transparent;
}
.status-chip::before{
  content:'';
  width:6px;
  height:6px;
  border-radius:50%;
  background:currentColor;
}
.status-chip--live{
  color:var(--red);
  border-color:var(--red);
  animation:twinkle 1.4s infinite alternate;
}
.status-chip--gold{
  color:var(--gold);
  border-color:var(--gold);
}
.status-chip--end{
  color:var(--silver);
}

/* ===== 文本链接 ===== */
.link-arrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--gold);
  font-weight:700;
  transition:gap .2s;
}
.link-arrow::after{
  content:'↗';
  font-size:1.2em;
}
.link-arrow:hover{
  gap:12px;
  color:var(--gold-bright);
}

/* ===== 滚动进度 ===== */
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0%;
  background:var(--gold);
  z-index:2000;
  transition:width .1s ease;
  pointer-events:none;
}

/* ===== 响应式 ===== */
@media(min-width:640px){
  .dashboard-grid{
    grid-template-columns:repeat(2,1fr);
    gap:20px;
  }
  .site-footer__grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(min-width:1024px){
  .site-nav-toggle{
    display:none;
  }
  .site-nav{
    position:static;
    transform:none;
    opacity:1;
    pointer-events:auto;
    background:transparent;
    border-bottom:none;
    max-height:none;
    overflow:visible;
  }
  .site-nav__list{
    flex-direction:row;
    gap:4px;
    padding:0;
  }
  .site-nav__item{
    border-bottom:none;
  }
  .site-nav__link{
    padding:10px 16px;
    font-size:15px;
    border-bottom:3px solid transparent;
  }
  .site-nav__link:hover{
    background:transparent;
    border-bottom-color:var(--gold);
    color:var(--gold);
  }
  .site-nav__link[aria-current="page"]{
    color:var(--gold);
    border-left:none;
    border-bottom:3px solid var(--gold);
    background:transparent;
  }
  .dashboard-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .site-footer__grid{
    grid-template-columns:2fr 1fr 1.5fr 1fr;
    gap:32px;
  }
  .edge-section{
    padding:72px 0;
  }
}

@media(max-width:639px){
  .site-header__main{
    max-width:none;
    width:100%;
    padding:8px 12px;
  }
  .site-header__top{
    padding:4px 12px;
    font-size:11px;
  }
  .site-logo__divider{
    display:none;
  }
  .site-logo__text small{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    transition-duration:.01ms !important;
  }
  html{
    scroll-behavior:auto;
  }
  .site-nav{
    transition:none;
  }
  .site-nav-toggle__line{
    transition:none;
  }
  .data-card__status::before{
    animation:none;
  }
  .status-chip--live{
    animation:none;
  }
}
