:root{
  --tb-cream:#F6EFDF;
  --tb-ink:#1B1512;
  --tb-navy:#0B3D91;
  --tb-blue:#1F5FE0;
  --tb-orange:#F26A1B;
  --tb-lime:#C8F04A;
  --tb-panel:#0D1526;
  --tb-slate:#6D7A8C;
  --tb-line:#D8CDB8;
  --tb-alert:#C6402E;
  --tb-paper:#FFFDF7;
  --tb-font-display:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --tb-font-body:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --tb-font-mono:"IBM Plex Mono","Roboto Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --tb-shell:1280px;
  --tb-gutter:24px;
  --tb-radius:4px;
  --tb-shadow:0 12px 28px -20px rgba(27,21,18,.6);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:126px}
body,h1,h2,h3,h4,h5,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-size:inherit;font-weight:inherit}

body{
  min-height:100vh;
  background:var(--tb-cream);
  color:var(--tb-ink);
  font-family:var(--tb-font-body);
  font-size:16px;
  line-height:1.75;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--tb-orange);color:var(--tb-ink)}
:focus-visible{outline:3px solid var(--tb-blue);outline-offset:2px;border-radius:2px}

/* ---------- 布局容器 ---------- */
.tb-shell{
  width:100%;
  max-width:var(--tb-shell);
  margin-inline:auto;
  padding-inline:var(--tb-gutter);
}
.tb-section{padding-block:clamp(28px,5vw,56px)}

.tb-grid{display:grid;gap:20px;grid-template-columns:repeat(12,minmax(0,1fr))}
.tb-span-3{grid-column:span 3}
.tb-span-4{grid-column:span 4}
.tb-span-5{grid-column:span 5}
.tb-span-6{grid-column:span 6}
.tb-span-7{grid-column:span 7}
.tb-span-8{grid-column:span 8}
.tb-span-12{grid-column:span 12}

/* ---------- 排版 ---------- */
.tb-h1,.tb-prose h1{
  font-family:var(--tb-font-display);
  font-size:clamp(2rem,4vw,4.5rem);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.04;
  color:var(--tb-ink);
}
.tb-h2,.tb-prose h2{
  font-family:var(--tb-font-display);
  font-size:clamp(1.35rem,2.4vw,2.15rem);
  font-weight:800;
  letter-spacing:-.01em;
  line-height:1.18;
  margin:1.5em 0 .55em;
}
.tb-h3,.tb-prose h3{
  font-family:var(--tb-font-body);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--tb-slate);
  margin:1.8em 0 .5em;
}
.tb-prose{max-width:72ch;font-size:16.5px;line-height:1.75;color:var(--tb-ink)}
.tb-prose p{margin:0 0 1em}
.tb-prose a{color:var(--tb-blue);border-bottom:1px solid rgba(31,95,224,.35)}
.tb-prose a:hover{border-bottom-color:var(--tb-blue)}

.tb-label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--tb-slate);
}
.tb-label--orange{color:var(--tb-orange)}
.tb-label--lime{color:var(--tb-lime)}

.tb-num{font-family:var(--tb-font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}

.tb-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 9px;border-radius:2px;
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--tb-line);background:var(--tb-paper);color:var(--tb-ink);
  font-variant-numeric:tabular-nums;
}
.tb-badge--orange{background:var(--tb-orange);border-color:var(--tb-orange);color:var(--tb-ink)}
.tb-badge--lime{background:var(--tb-panel);border-color:rgba(200,240,74,.5);color:var(--tb-lime)}

/* ---------- 按钮 ---------- */
.tb-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 22px;border-radius:3px;
  border:1px solid transparent;
  font-family:var(--tb-font-body);font-size:14.5px;font-weight:700;letter-spacing:.02em;
  transition:transform .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease;
}
.tb-btn:hover{transform:translateY(-2px)}
.tb-btn--primary{background:var(--tb-orange);color:var(--tb-ink)}
.tb-btn--primary:hover{background:#ff7f33}
.tb-btn--solid{background:var(--tb-navy);color:var(--tb-cream)}
.tb-btn--solid:hover{background:#0a3072}
.tb-btn--ghost{background:transparent;border-color:var(--tb-ink);color:var(--tb-ink)}
.tb-btn--ghost:hover{background:var(--tb-ink);color:var(--tb-cream)}
.tb-btn--on-panel{background:var(--tb-lime);color:var(--tb-panel)}
.tb-btn--on-panel:hover{background:#d6fa62}

/* ---------- 卡片 / 档案块 ---------- */
.tb-card{
  position:relative;
  background:var(--tb-paper);
  border:1px solid var(--tb-line);
  border-radius:var(--tb-radius);
  padding:22px;
  box-shadow:var(--tb-shadow);
}
.tb-card--flat{background:transparent;box-shadow:none}
.tb-card--tab::before{
  content:"";position:absolute;top:-8px;left:16px;
  width:46px;height:8px;background:var(--tb-orange);
  border-radius:2px 2px 0 0;
}
.tb-card--panel{
  background:var(--tb-panel);
  border-color:rgba(246,239,223,.14);
  color:#E7E0D0;
  box-shadow:0 20px 44px -28px rgba(13,21,38,.95);
}
.tb-card--panel :focus-visible{outline-color:var(--tb-lime)}
.tb-card__title{font-family:var(--tb-font-display);font-weight:800;font-size:1.15rem;letter-spacing:-.01em;line-height:1.25}
.tb-card__meta{margin-top:10px;font-size:12px;letter-spacing:.06em;color:var(--tb-slate)}
.tb-card--panel .tb-card__meta{color:#9BA5B6}

/* ---------- 分隔刻度 ---------- */
.tb-rule{border:0;height:1px;background:var(--tb-line);margin:24px 0}
.tb-rule--tick{
  border:0;height:1px;margin:26px 0;
  background:repeating-linear-gradient(90deg,var(--tb-line) 0 8px,transparent 8px 16px);
}

/* ---------- 面包屑 ---------- */
.tb-breadcrumb{padding-block:14px}
.tb-breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;letter-spacing:.06em;color:var(--tb-slate)}
.tb-breadcrumb__item{display:inline-flex;align-items:center;gap:6px}
.tb-breadcrumb__item + .tb-breadcrumb__item::before{content:"/";color:var(--tb-line);margin-right:2px}
.tb-breadcrumb__link{border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}
.tb-breadcrumb__link:hover{color:var(--tb-blue);border-bottom-color:var(--tb-blue)}

/* ---------- 图片容器 ---------- */
.tb-media{
  position:relative;display:block;overflow:hidden;
  border:1px solid var(--tb-line);border-radius:var(--tb-radius);
  background:
    repeating-linear-gradient(135deg,rgba(216,205,184,.5) 0 1px,transparent 1px 12px),
    #EDE4D2;
}
.tb-media--16x9{aspect-ratio:16/9}
.tb-media--3x2{aspect-ratio:3/2}
.tb-media--4x3{aspect-ratio:4/3}
.tb-media--1x1{aspect-ratio:1/1}
.tb-media__img{width:100%;height:100%;object-fit:cover;display:block}
.tb-media__cap{
  position:absolute;left:0;right:0;bottom:0;
  padding:10px 12px;font-size:11px;letter-spacing:.08em;color:var(--tb-cream);
  background:linear-gradient(0deg,rgba(13,21,38,.88),rgba(13,21,38,0));
}

/* ---------- 跳过链接 ---------- */
.tb-skip{
  position:absolute;left:16px;top:8px;z-index:200;
  transform:translateY(-180%);
  padding:10px 16px;border-radius:3px;
  background:var(--tb-ink);color:var(--tb-cream);
  font-size:13px;font-weight:700;letter-spacing:.04em;
  transition:transform .18s ease;
}
.tb-skip:focus,.tb-skip:focus-visible{transform:translateY(0);outline-color:var(--tb-lime)}

/* ---------- 头部 ---------- */
.tb-header{position:sticky;top:0;z-index:80}

.tb-header__utility{background:var(--tb-navy);color:#E7EEFB;border-bottom:1px solid rgba(246,239,223,.16)}
.tb-header__utility-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:36px;font-size:11.5px;letter-spacing:.06em;
}
.tb-header__utility-label{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:700;color:#F6EFDF;white-space:nowrap;
}
.tb-header__utility-label::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--tb-lime);box-shadow:0 0 0 3px rgba(200,240,74,.18);
  flex:0 0 auto;
}
.tb-header__utility-text{
  color:rgba(246,239,223,.8);
  font-variant-numeric:tabular-nums;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
}

.tb-header__bar{
  background:var(--tb-cream);
  border-bottom:1px solid var(--tb-line);
  box-shadow:0 1px 0 rgba(27,21,18,.04);
}
.tb-header__bar-inner{
  position:relative;
  display:flex;align-items:center;gap:22px;
  min-height:74px;
}

.tb-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto;min-height:44px}
.tb-brand__mark{
  position:relative;overflow:hidden;flex:0 0 auto;
  display:grid;place-items:center;width:42px;height:42px;
  background:var(--tb-navy);color:var(--tb-cream);
  border-radius:3px;
  font-family:var(--tb-font-display);font-size:19px;font-weight:900;letter-spacing:-.02em;
}
.tb-brand__mark::after{
  content:"";position:absolute;right:-16px;top:-16px;
  width:26px;height:26px;background:var(--tb-orange);transform:rotate(45deg);
}
.tb-brand__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.tb-brand__name{
  font-family:var(--tb-font-display);font-size:19px;font-weight:900;
  letter-spacing:-.03em;line-height:1.1;color:var(--tb-ink);
}
.tb-brand__line{font-size:11.5px;line-height:1.2;letter-spacing:.04em;color:var(--tb-slate)}

.tb-nav-toggle{
  display:none;
  margin-left:auto;
  width:46px;height:46px;place-items:center;
  border:1px solid var(--tb-line);border-radius:3px;
  background:var(--tb-paper);color:var(--tb-ink);
  transition:border-color .15s ease,background-color .15s ease;
}
.tb-nav-toggle:hover{border-color:var(--tb-navy);background:#fff}
.tb-nav-toggle__bars{
  position:relative;display:block;width:20px;height:2px;
  background:currentColor;border-radius:1px;
  transition:background-color .18s ease;
}
.tb-nav-toggle__bars::before,
.tb-nav-toggle__bars::after{
  content:"";position:absolute;left:0;width:20px;height:2px;
  background:currentColor;border-radius:1px;
  transition:transform .18s ease;
}
.tb-nav-toggle__bars::before{top:-6px}
.tb-nav-toggle__bars::after{top:6px}
.tb-nav-toggle[aria-expanded="true"] .tb-nav-toggle__bars{background:transparent}
.tb-nav-toggle[aria-expanded="true"] .tb-nav-toggle__bars::before{transform:translateY(6px) rotate(45deg)}
.tb-nav-toggle[aria-expanded="true"] .tb-nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg)}

.tb-nav{display:flex;align-items:center;gap:20px;margin-left:auto;min-width:0}
.tb-nav__list{display:flex;align-items:center;gap:2px}
.tb-nav__item{flex:0 0 auto}
.tb-nav__link{
  position:relative;display:inline-flex;align-items:center;
  min-height:44px;padding:0 12px;border-radius:3px;
  font-size:14.5px;font-weight:500;color:var(--tb-ink);
  transition:color .15s ease,background-color .15s ease;
}
.tb-nav__link:hover{color:var(--tb-navy);background:rgba(11,61,145,.06)}
.tb-nav__link[aria-current="page"]{color:var(--tb-navy);font-weight:700}
.tb-nav__link[aria-current="page"]::after{
  content:"";position:absolute;left:12px;right:12px;bottom:8px;
  height:3px;background:var(--tb-orange);border-radius:2px;
}

.tb-leagues{
  display:flex;align-items:center;gap:4px;
  padding:4px;border:1px solid var(--tb-line);border-radius:4px;
  background:rgba(255,255,255,.55);
}
.tb-leagues__label{
  padding:0 5px;font-size:10.5px;font-weight:700;
  letter-spacing:.14em;color:var(--tb-slate);text-transform:uppercase;
}
.tb-league{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:28px;padding:0 9px;border-radius:2px;
  font-size:12px;font-weight:600;color:var(--tb-slate);
  transition:background-color .15s ease,color .15s ease;
}
.tb-league:hover{color:var(--tb-navy);background:rgba(11,61,145,.08)}
.tb-league[aria-pressed="true"]{background:var(--tb-navy);color:var(--tb-cream)}

/* ---------- 页脚 ---------- */
.tb-footer{
  position:relative;
  background:var(--tb-panel);
  color:#DCD5C4;
  padding:54px 0 26px;
  margin-top:clamp(36px,6vw,72px);
}
.tb-footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,
    var(--tb-navy) 0 34%,
    var(--tb-orange) 34% 52%,
    var(--tb-lime) 52% 62%,
    rgba(246,239,223,.16) 62% 100%);
}
.tb-footer__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:36px}
.tb-footer__brand{
  font-family:var(--tb-font-display);
  font-size:clamp(1.02rem,1.6vw,1.3rem);
  font-weight:900;letter-spacing:-.02em;line-height:1.35;
  color:#F6EFDF;max-width:26ch;
}
.tb-footer__note{margin-top:14px;font-size:12.5px;line-height:1.8;color:#9BA5B6;max-width:40ch}
.tb-footer__nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tb-footer__col{min-width:0}
.tb-footer__title{
  font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tb-lime);margin-bottom:12px;
}
.tb-footer__links{display:flex;flex-direction:column;gap:6px}
.tb-footer__link{
  display:inline-block;padding:4px 0;
  font-size:14px;color:#DCD5C4;
  border-bottom:1px solid transparent;
  transition:color .15s ease,border-color .15s ease;
}
.tb-footer__link:hover{color:#fff;border-bottom-color:var(--tb-orange)}
.tb-footer__meta{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 26px;
  padding-top:24px;border-top:1px solid rgba(246,239,223,.14);
  font-size:12.5px;color:#9BA5B6;
}
.tb-footer__contact{color:#DCD5C4;font-variant-numeric:tabular-nums;word-break:break-word}
.tb-footer__address{max-width:36ch}
.tb-footer__icp{font-variant-numeric:tabular-nums}
.tb-footer__copy{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.tb-footer :focus-visible{outline-color:var(--tb-lime)}

/* ---------- 滚动显现 ---------- */
.tb-reveal{opacity:1;transform:none}
.tb-js .tb-reveal{
  opacity:0;transform:translateY(12px);
  transition:opacity .24s ease,transform .24s ease;
}
.tb-js .tb-reveal.is-visible{opacity:1;transform:none}

/* ---------- 平板 ---------- */
@media (max-width:1180px){
  .tb-leagues__label{display:none}
  .tb-nav{gap:14px}
  .tb-nav__link{padding:0 9px;font-size:14px}
}

/* ---------- 移动抽屉 ---------- */
@media (max-width:1080px){
  .tb-nav-toggle{display:inline-grid}
  .tb-nav{
    position:absolute;top:100%;left:0;right:0;
    display:none;flex-direction:column;align-items:stretch;gap:16px;
    margin:0;padding:16px;
    background:var(--tb-cream);
    border:1px solid var(--tb-line);border-top:0;
    box-shadow:0 26px 42px -30px rgba(27,21,18,.75);
    max-height:calc(100vh - 140px);overflow-y:auto;
  }
  .tb-nav[data-open]{display:flex}
  .tb-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .tb-nav__link{
    width:100%;justify-content:flex-start;
    min-height:48px;padding:0 10px;border-radius:0;
    border-bottom:1px solid var(--tb-line);
  }
  .tb-nav__item:last-child .tb-nav__link{border-bottom:0}
  .tb-nav__link[aria-current="page"]{background:rgba(11,61,145,.07)}
  .tb-nav__link[aria-current="page"]::after{left:10px;right:auto;width:22px;bottom:10px}
  .tb-leagues{flex-wrap:wrap;gap:6px;padding:8px;background:rgba(255,255,255,.65)}
  .tb-leagues__label{display:block;width:100%;padding:0 0 2px}
  .tb-league{min-height:36px;padding:0 12px}
  .tb-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .tb-span-3,.tb-span-4,.tb-span-5,.tb-span-6,.tb-span-7,.tb-span-8{grid-column:span 12}
}

/* ---------- 手机 ---------- */
@media (max-width:820px){
  .tb-footer__inner{gap:30px}
  .tb-footer__nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .tb-footer__copy{margin-left:0}
}
@media (max-width:600px){
  :root{--tb-gutter:16px}
  html{scroll-padding-top:112px}
  .tb-header__bar-inner{min-height:64px;gap:12px}
  .tb-brand__mark{width:38px;height:38px;font-size:17px}
  .tb-brand__name{font-size:17px}
  .tb-brand__line{font-size:10.5px}
  .tb-header__utility-inner{min-height:32px;justify-content:flex-start}
  .tb-header__utility-text{font-size:11px}
  .tb-footer{padding-top:42px}
  .tb-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:26px}
  .tb-card{padding:18px}
  .tb-btn{width:100%}
}
@media (max-width:480px){
  .tb-header__utility-label{display:none}
  .tb-brand__line{display:none}
  .tb-footer__brand{max-width:none}
}

/* ---------- 无障碍：减少动效 ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .tb-js .tb-reveal{opacity:1;transform:none;transition:none}
  .tb-btn:hover{transform:none}
  .tb-skip{transition:none}
}
