/* ==========================================================================
   天行体育台 · 共享样式 /assets/site.css
   框架式导航 + 珠宝色分区 + 玻璃索引层 + 实色数据层
   ========================================================================== */

:root{
  --tx-ink:#0A1211;
  --tx-field:#10241E;
  --tx-lift:#183029;
  --tx-teal:#0E2B33;
  --tx-wine:#3B1320;
  --tx-indigo:#1D1741;
  --tx-lime:#B6FF3C;
  --tx-orange:#FF7A18;
  --tx-mute:#8FA49B;
  --tx-text:#EAF3EE;
  --tx-soft:#CFE0D8;
  --tx-glass:rgba(234,243,238,.07);
  --tx-line:rgba(234,243,238,.12);
  --tx-rail:72px;
  --tx-bar:52px;
  --tx-wrap-w:1320px;
  --tx-display:"HelveticaNeue-CondensedBold","Arial Narrow","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --tx-serif:Georgia,"Songti SC","Noto Serif CJK SC","SimSun",serif;
  --tx-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
  --tx-body:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  --tx-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--tx-ink)}
body,h1,h2,h3,h4,h5,p,ul,ol,dl,dd,figure,blockquote,pre{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0}
img,svg,picture{max-width:100%;display:block}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--tx-lime);outline-offset:2px}
::selection{background:var(--tx-lime);color:#08110D}

/* ---------- 基础排版 ---------- */
body{
  min-height:100vh;
  padding-top:var(--tx-bar);
  background:var(--tx-ink);
  color:var(--tx-text);
  font-family:var(--tx-body);
  font-size:16px;
  line-height:1.75;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
@media (min-width:900px){ body{padding-left:var(--tx-rail)} }
#main-content{scroll-margin-top:calc(var(--tx-bar) + 16px)}

.tx-h1{font-family:var(--tx-display);font-weight:800;font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-.01em}
.tx-h2{font-family:var(--tx-display);font-weight:800;font-size:clamp(26px,3.4vw,40px);line-height:1.1;letter-spacing:-.01em}
.tx-h3{font-family:var(--tx-display);font-weight:700;font-size:clamp(21px,2.3vw,28px);line-height:1.2;letter-spacing:-.01em}
.tx-h4{font-family:var(--tx-display);font-weight:700;font-size:20px;line-height:1.3}
.tx-lead{font-family:var(--tx-serif);font-size:clamp(18px,2vw,20px);line-height:1.6;color:var(--tx-soft)}
.tx-mono,.tx-clock,.tx-nav__idx,.tx-tag,.tx-eyebrow,.tx-breadcrumb,.tx-legend,
.tx-footer__k,.tx-footer__icp,.tx-footer__hint,.tx-btn{font-variant-numeric:tabular-nums}

/* ---------- 容器与分区 ---------- */
.tx-wrap{width:100%;max-width:var(--tx-wrap-w);margin-inline:auto;padding-inline:20px}
@media (min-width:900px){ .tx-wrap{padding-inline:32px} }

.tx-section{position:relative;padding-block:56px;border-top:1px solid var(--tx-line)}
@media (min-width:900px){ .tx-section{padding-block:80px} }
.tx-section--field{background:var(--tx-field)}
.tx-section--lift{background:var(--tx-lift)}
.tx-section--teal{background:var(--tx-teal)}
.tx-section--wine{background:var(--tx-wine)}
.tx-section--indigo{background:var(--tx-indigo)}
.tx-section--lime-edge{box-shadow:inset 3px 0 0 0 var(--tx-lime)}

.tx-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.tx-span-3{grid-column:span 3}
.tx-span-4{grid-column:span 4}
.tx-span-6{grid-column:span 6}
.tx-span-8{grid-column:span 8}
.tx-span-12{grid-column:span 12}
@media (max-width:899px){
  .tx-grid{gap:16px}
  .tx-span-3,.tx-span-4{grid-column:span 6}
  .tx-span-6,.tx-span-8{grid-column:span 12}
}
@media (max-width:599px){
  .tx-span-3,.tx-span-4,.tx-span-6,.tx-span-8{grid-column:span 12}
}

/* ---------- 通用组件 ---------- */
.tx-rule{height:1px;background:var(--tx-line);border:0}
.tx-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--tx-mono);font-size:12px;letter-spacing:.18em;
  color:var(--tx-lime);text-transform:uppercase;
}
.tx-eyebrow::before{content:"";width:22px;height:1px;background:var(--tx-lime)}

.tx-glass{
  background:var(--tx-glass);
  border:1px solid var(--tx-line);
  border-radius:2px;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.tx-panel{
  background:var(--tx-lift);
  border:1px solid var(--tx-line);
  border-radius:2px;
  padding:22px;
}

.tx-tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 9px;border-radius:2px;
  border:1px solid var(--tx-line);
  font-family:var(--tx-mono);font-size:12px;letter-spacing:.06em;
  color:var(--tx-mute);background:transparent;
}
.tx-tag--live{color:var(--tx-orange);border-color:rgba(255,122,24,.45);background:rgba(255,122,24,.10)}
.tx-tag--done{color:var(--tx-lime);border-color:rgba(182,255,60,.40);background:rgba(182,255,60,.08)}
.tx-tag--scheduled{color:#9CD8E8;border-color:rgba(156,216,232,.30);background:rgba(156,216,232,.07)}

.tx-legend{display:flex;flex-wrap:wrap;gap:10px 18px;font-family:var(--tx-mono);font-size:12px;color:var(--tx-mute);letter-spacing:.04em}
.tx-legend__item{display:inline-flex;align-items:center;gap:7px}
.tx-legend__swatch{width:10px;height:10px;border-radius:1px;background:var(--tx-lime)}
.tx-legend__swatch--orange{background:var(--tx-orange)}
.tx-legend__swatch--mute{background:var(--tx-mute)}

.tx-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 20px;border-radius:2px;
  border:1px solid var(--tx-line);background:var(--tx-glass);color:var(--tx-text);
  font-family:var(--tx-mono);font-size:13px;letter-spacing:.06em;
  cursor:pointer;
  transition:background .2s var(--tx-ease),border-color .2s var(--tx-ease),color .2s var(--tx-ease);
}
.tx-btn:hover{border-color:rgba(182,255,60,.55)}
.tx-btn--lime{background:var(--tx-lime);border-color:var(--tx-lime);color:#08110D;font-weight:700}
.tx-btn--lime:hover{background:#CDFF79;border-color:#CDFF79;color:#08110D}
.tx-btn--orange{background:var(--tx-orange);border-color:var(--tx-orange);color:#160A02;font-weight:700}
.tx-btn--orange:hover{background:#FF9645;border-color:#FF9645}
.tx-btn--ghost{background:transparent}
.tx-btn[aria-pressed="true"]{background:var(--tx-orange);border-color:var(--tx-orange);color:#160A02;font-weight:700}

.tx-prose{max-width:68ch;font-size:16px;line-height:1.75;color:var(--tx-soft)}
.tx-prose h2{font-family:var(--tx-display);font-weight:800;font-size:28px;line-height:1.2;color:var(--tx-text);margin:1.6em 0 .6em;letter-spacing:-.01em}
.tx-prose h3{font-family:var(--tx-display);font-weight:700;font-size:20px;color:var(--tx-text);margin:1.4em 0 .5em}
.tx-prose p{margin-bottom:1.1em}
.tx-prose strong{color:var(--tx-text)}
.tx-prose ul{list-style:none;margin-bottom:1.1em}
.tx-prose li{position:relative;padding-left:18px;margin-bottom:.5em}
.tx-prose li::before{content:"";position:absolute;left:0;top:.68em;width:8px;height:1px;background:var(--tx-lime)}
.tx-prose a{color:var(--tx-lime);border-bottom:1px solid rgba(182,255,60,.35)}

.tx-breadcrumb{padding-block:18px;font-family:var(--tx-mono);font-size:12px;color:var(--tx-mute);letter-spacing:.05em}
.tx-breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tx-breadcrumb li{display:flex;align-items:center;gap:8px}
.tx-breadcrumb li+li::before{content:"/";color:var(--tx-line)}
.tx-breadcrumb a:hover{color:var(--tx-lime)}
.tx-breadcrumb [aria-current="page"]{color:var(--tx-text)}

.tx-media{
  position:relative;overflow:hidden;border-radius:2px;
  border:1px solid var(--tx-line);
  background:linear-gradient(135deg,#142A23 0%,#0A1211 60%,#0E2B33 100%);
}
.tx-media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,18,17,0) 42%,rgba(10,18,17,.78) 100%);
}
.tx-media img,.tx-media video{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86) contrast(1.04)}
.tx-media--hero{aspect-ratio:21/9}
.tx-media--wide{aspect-ratio:16/9}
.tx-media--board{aspect-ratio:4/3}
.tx-media--square{aspect-ratio:1/1}
.tx-media--tall{aspect-ratio:3/4}
@media (max-width:899px){ .tx-media--hero{aspect-ratio:16/9} }
@media (max-width:599px){
  .tx-media--hero{aspect-ratio:4/3}
  .tx-media--tall{aspect-ratio:4/5}
}

/* ---------- 滚动显现协议 ---------- */
.tx-js [data-reveal]{
  opacity:0;transform:translateY(14px);
  transition:opacity .34s var(--tx-ease),transform .34s var(--tx-ease);
}
.tx-js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- 页头：状态条 + 框架式索引条 ---------- */
.tx-header{position:relative;z-index:80}
.tx-skip{
  position:fixed;top:8px;left:50%;z-index:120;
  transform:translate(-50%,-160%);
  padding:10px 18px;border-radius:2px;
  background:var(--tx-lime);color:#08110D;
  font-family:var(--tx-mono);font-size:13px;letter-spacing:.04em;
  transition:transform .2s var(--tx-ease);
}
.tx-skip:focus{transform:translate(-50%,0)}

.tx-statusbar{
  position:fixed;top:0;left:0;right:0;z-index:90;
  height:var(--tx-bar);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:14px;padding:0 16px;
  background:linear-gradient(90deg,rgba(16,36,30,.94),rgba(10,18,17,.94));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--tx-line);
  font-family:var(--tx-mono);font-size:12px;letter-spacing:.05em;color:var(--tx-mute);
}
.tx-statusbar__group{display:flex;align-items:center;gap:10px;min-width:0}
.tx-statusbar__group--lead{justify-content:flex-start}
.tx-statusbar__group--live{justify-content:center}
.tx-statusbar__group--tail{justify-content:flex-end}

.tx-clock{font-size:12px;color:var(--tx-text);letter-spacing:.06em;white-space:nowrap}
.tx-chip{
  display:inline-flex;align-items:center;
  padding:2px 8px;border-radius:2px;
  border:1px solid var(--tx-line);background:var(--tx-glass);
  color:var(--tx-mute);font-size:11px;letter-spacing:.08em;white-space:nowrap;
}
.tx-pulse{
  width:7px;height:7px;border-radius:50%;background:var(--tx-orange);
  box-shadow:0 0 0 0 rgba(255,122,24,.55);
  animation:tx-pulse 2s infinite;
  flex:0 0 auto;
}
@keyframes tx-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,122,24,.55)}
  70%{box-shadow:0 0 0 9px rgba(255,122,24,0)}
  100%{box-shadow:0 0 0 0 rgba(255,122,24,0)}
}
.tx-live{font-size:12px;color:var(--tx-mute);white-space:nowrap}

.tx-quicklink{
  display:inline-flex;align-items:center;
  padding:5px 12px;border-radius:2px;
  border:1px solid var(--tx-line);background:var(--tx-glass);
  color:var(--tx-mute);font-size:12px;letter-spacing:.06em;
  transition:color .2s var(--tx-ease),border-color .2s var(--tx-ease),background .2s var(--tx-ease);
}
.tx-quicklink:hover{color:var(--tx-text);border-color:rgba(182,255,60,.5)}
.tx-quicklink--solid{background:var(--tx-lime);border-color:var(--tx-lime);color:#08110D;font-weight:700}
.tx-quicklink--solid:hover{background:#CDFF79;border-color:#CDFF79;color:#08110D}

.tx-progress{
  position:absolute;left:0;bottom:-1px;height:2px;width:100%;
  transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--tx-lime) 0%,var(--tx-orange) 100%);
  pointer-events:none;
}

.tx-navtoggle{
  display:inline-flex;align-items:center;gap:8px;
  padding:5px 10px;border-radius:2px;
  border:1px solid var(--tx-line);background:var(--tx-glass);
  color:var(--tx-text);font-size:12px;letter-spacing:.06em;cursor:pointer;
}
.tx-navtoggle__text{font-size:12px}
.tx-navtoggle__bars{position:relative;display:block;width:14px;height:2px;background:var(--tx-lime);flex:0 0 auto}
.tx-navtoggle__bars::before,
.tx-navtoggle__bars::after{
  content:"";position:absolute;left:0;width:14px;height:2px;background:var(--tx-lime);
  transition:transform .2s var(--tx-ease);
}
.tx-navtoggle__bars::before{top:-5px}
.tx-navtoggle__bars::after{top:5px}
.tx-header[data-open] .tx-navtoggle__bars{background:transparent}
.tx-header[data-open] .tx-navtoggle__bars::before{transform:translateY(5px) rotate(45deg)}
.tx-header[data-open] .tx-navtoggle__bars::after{transform:translateY(-5px) rotate(-45deg)}

.tx-rail{
  position:fixed;left:0;top:var(--tx-bar);bottom:0;width:var(--tx-rail);z-index:85;
  display:flex;flex-direction:column;
  padding:14px 0 10px;
  background:linear-gradient(180deg,#0E1F1A 0%,#0A1211 100%);
  border-right:1px solid var(--tx-line);
}
.tx-brand{
  display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:0 6px 14px;border-bottom:1px solid var(--tx-line);
  color:var(--tx-text);
}
.tx-brand__mark{display:block;width:2px;height:22px;background:var(--tx-lime)}
.tx-brand__name{
  writing-mode:vertical-rl;
  font-family:var(--tx-display);font-weight:800;font-size:15px;
  letter-spacing:.18em;line-height:1.1;
}
.tx-brand__sub{
  writing-mode:vertical-rl;
  font-family:var(--tx-mono);font-size:10px;letter-spacing:.16em;color:var(--tx-mute);
}
.tx-nav{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 0 0;scrollbar-width:thin}
.tx-nav__list{display:flex;flex-direction:column;gap:2px}
.tx-nav__item{display:block}
.tx-nav__link{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:12px 4px;
  color:var(--tx-mute);font-size:12px;line-height:1.3;text-align:center;
  border-left:2px solid transparent;
  transition:color .2s var(--tx-ease),background .2s var(--tx-ease),border-color .2s var(--tx-ease);
}
.tx-nav__link:hover{color:var(--tx-text);background:var(--tx-glass)}
.tx-nav__link:focus-visible{outline-offset:-2px}
.tx-nav__link[aria-current="page"]{
  color:var(--tx-text);
  background:rgba(182,255,60,.08);
  border-left-color:var(--tx-lime);
}
.tx-nav__idx{font-family:var(--tx-mono);font-size:10px;letter-spacing:.08em;color:var(--tx-mute)}
.tx-nav__link[aria-current="page"] .tx-nav__idx{color:var(--tx-lime)}
.tx-nav__label{font-weight:500;letter-spacing:.02em}

@media (min-width:900px){ .tx-navtoggle{display:none} }

/* 移动端：索引条收为底部六格面板 */
@media (max-width:899px){
  .tx-statusbar{grid-template-columns:auto auto 1fr;gap:10px;padding:0 12px;font-size:11px}
  .tx-statusbar__group{padding:0}
  .tx-statusbar__group--live{justify-content:flex-start}
  .tx-chip{display:none}
  .tx-clock{font-size:11px}
  .tx-live{font-size:11px}
  .tx-quicklink{padding:4px 9px;font-size:11px}

  .tx-rail{
    top:auto;left:0;right:0;bottom:0;width:auto;height:auto;
    max-height:74vh;overflow-y:auto;
    padding:16px 14px 20px;
    background:linear-gradient(180deg,#10241E 0%,#0A1211 100%);
    border-right:0;border-top:1px solid rgba(182,255,60,.35);
    box-shadow:0 -18px 42px rgba(0,0,0,.55);
    transform:translateY(105%);
    transition:transform .28s var(--tx-ease);
  }
  .tx-header[data-open] .tx-rail{transform:translateY(0)}

  .tx-brand{flex-direction:row;align-items:center;gap:10px;padding:0 0 12px}
  .tx-brand__mark{width:24px;height:2px}
  .tx-brand__name{writing-mode:horizontal-tb;font-size:16px;letter-spacing:.1em}
  .tx-brand__sub{display:none}

  .tx-nav{padding:0;overflow:visible}
  .tx-nav__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
  .tx-nav__link{
    flex-direction:row;justify-content:flex-start;gap:8px;
    padding:12px 10px;text-align:left;
    border-left:0;border-top:2px solid transparent;
    background:var(--tx-glass);
  }
  .tx-nav__link[aria-current="page"]{border-left-color:transparent;border-top-color:var(--tx-lime)}
  .tx-nav__label{font-size:12px}
}

/* ---------- 页脚 ---------- */
.tx-footer{
  position:relative;
  background:var(--tx-field);
  border-top:1px solid var(--tx-line);
  color:var(--tx-text);
}
.tx-footer::before{
  content:"";position:absolute;top:0;left:0;height:2px;width:100%;
  background:linear-gradient(90deg,var(--tx-lime) 0 16%,var(--tx-orange) 16% 28%,rgba(234,243,238,0) 28%);
}
.tx-footer__inner{padding-block:54px 24px}
@media (max-width:899px){ .tx-footer__inner{padding-block:40px 20px} }

.tx-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:40px 32px}
@media (max-width:1023px){ .tx-footer__grid{grid-template-columns:1fr 1fr;gap:36px 28px} }
@media (max-width:599px){ .tx-footer__grid{grid-template-columns:1fr;gap:30px} }

.tx-footer__col{min-width:0}
.tx-footer__col--brand{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.tx-footer__mark{display:block;width:34px;height:3px;background:var(--tx-lime);margin-bottom:14px}
.tx-footer__brand{font-family:var(--tx-display);font-weight:800;font-size:22px;letter-spacing:.06em;color:var(--tx-text)}
.tx-footer__line{margin-top:8px;font-size:14px;color:var(--tx-mute);max-width:30ch;line-height:1.7}
.tx-footer__col--brand .tx-btn{margin-top:18px}
.tx-footer__hint{margin-top:10px;font-family:var(--tx-mono);font-size:12px;letter-spacing:.04em;color:var(--tx-mute)}

.tx-footer__title{
  font-family:var(--tx-display);font-weight:800;font-size:14px;letter-spacing:.14em;
  color:var(--tx-text);margin-bottom:14px;padding-bottom:10px;
  border-bottom:1px solid var(--tx-line);
}
.tx-footer__list{display:grid;gap:9px}
.tx-footer__link{
  display:inline-block;font-size:14px;color:var(--tx-mute);
  transition:color .2s var(--tx-ease),padding-left .2s var(--tx-ease);
}
.tx-footer__link:hover{color:var(--tx-lime);padding-left:4px}

.tx-footer__contact{display:grid;gap:12px}
.tx-footer__contact li{display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;align-items:baseline}
.tx-footer__k{font-family:var(--tx-mono);font-size:12px;letter-spacing:.06em;color:var(--tx-mute)}
.tx-footer__v{font-size:14px;color:var(--tx-text);word-break:break-word;line-height:1.6}
.tx-footer__note{margin-top:16px;font-size:13px;color:var(--tx-mute)}
.tx-footer__note a{color:var(--tx-mute);border-bottom:1px solid var(--tx-line);padding-bottom:1px}
.tx-footer__note a:hover{color:var(--tx-lime);border-color:var(--tx-lime)}

.tx-footer__bottom{
  margin-top:44px;padding-top:18px;border-top:1px solid var(--tx-line);
  display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;
}
@media (max-width:899px){ .tx-footer__bottom{margin-top:32px} }
.tx-footer__legal{font-size:13px;color:var(--tx-mute)}
.tx-footer__icp{font-family:var(--tx-mono);font-size:13px;letter-spacing:.04em;color:var(--tx-mute)}

/* ---------- 无障碍与动效偏好 ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .tx-pulse{animation:none;box-shadow:0 0 0 3px rgba(255,122,24,.18)}
  .tx-js [data-reveal]{opacity:1;transform:none}
}
