/* ===== /assets/site.css — 博奥体育主站共享层 ===== */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body,h1,h2,h3,h4,p,ul,ol,li,figure,blockquote,dl,dd{margin:0}
ul,ol{list-style:none;padding:0}
img,svg{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--lake);text-decoration:none;border-bottom:1px solid rgba(28,108,140,.28);transition:color .15s ease,border-color .15s ease,background-color .15s ease}
a:hover{color:var(--green);border-bottom-color:var(--green)}

:root{
  --paper:#F4EFE4;
  --ink:#221E1A;
  --green:#3F6B30;
  --green-soft:#7FA469;
  --lake:#1C6C8C;
  --lake-soft:#6FA3B8;
  --sand:#D6A03C;
  --legacy:#8C99A6;
  --clay:#C0522C;
  --grid:#D9CFBB;
  --card:#FFFCF5;
  --forest:#17251F;
  --ink-soft:#5C5349;
  --hair:1px solid var(--grid);
  --line-strong:1px solid var(--ink);
  --r:2px;
  --w:1220px;
  --pad:clamp(16px,4vw,40px);
  --fr-sans:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --fr-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --ease:.15s ease;
}

html{scroll-behavior:smooth}

body{
  font-family:var(--fr-sans);
  font-size:16.5px;
  line-height:1.75;
  color:var(--ink);
  background-color:var(--paper);
  background-image:
    linear-gradient(to right,rgba(217,207,187,.5) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(217,207,187,.5) 1px,transparent 1px);
  background-size:96px 96px;
  background-position:-1px -1px;
}

:focus-visible{outline:2px solid var(--clay);outline-offset:2px}

/* ---------- 基础排版 ---------- */
.bao-mono{font-family:var(--fr-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.bao-num{font-family:var(--fr-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--green)}
.bao-kicker{font-family:var(--fr-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);display:inline-block;padding-bottom:4px;border-bottom:1px solid var(--green-soft)}
.bao-h1{font-size:clamp(2.4rem,7vw,5rem);line-height:.98;font-weight:900;letter-spacing:-.02em}
.bao-h2{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.14;font-weight:800;letter-spacing:-.01em}
.bao-h3{font-size:1.12rem;line-height:1.4;font-weight:700}
.bao-lede{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.7;color:var(--ink-soft);max-width:62ch}
.bao-lede strong{color:var(--ink)}
.bao-tag{display:inline-block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--lake);border-bottom:1px solid var(--lake-soft);padding-bottom:2px}
.bao-rule{border:0;border-top:var(--hair);margin:clamp(20px,3vw,36px) 0}

/* ---------- 容器与区块 ---------- */
.bao-container{width:100%;max-width:var(--w);margin-inline:auto;padding-inline:var(--pad)}
.bao-main{display:block;padding-bottom:clamp(40px,6vw,88px)}
#main-content{scroll-margin-top:110px}
.bao-section{border-top:var(--hair);padding-block:clamp(34px,5vw,72px)}
.bao-section--tight{padding-block:clamp(22px,3vw,40px)}
.bao-section__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 20px;margin-bottom:clamp(16px,2.4vw,30px)}

/* ---------- 跳过链接 ---------- */
.bao-skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:var(--card);border:0;padding:10px 18px;font-size:13px;letter-spacing:.08em;border-radius:0 0 var(--r) 0}
.bao-skip:focus{left:0;color:var(--card)}

/* ---------- 按钮 ---------- */
.bao-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 14px;font-size:13px;letter-spacing:.06em;line-height:1;
  border:1px solid var(--ink);border-radius:var(--r);
  background:var(--card);color:var(--ink);
  transition:background-color var(--ease),color var(--ease),border-color var(--ease),transform var(--ease);
  white-space:nowrap;
}
.bao-btn:hover,.bao-btn:focus-visible{transform:translateX(2px)}
.bao-btn--primary{background:var(--green);border-color:var(--green);color:var(--card)}
.bao-btn--primary:hover,.bao-btn--primary:focus-visible{background:#35592A;border-color:#35592A;color:var(--card)}
.bao-btn--ghost{background:transparent;border-color:var(--ink)}
.bao-btn--ghost:hover{background:var(--grid)}
.bao-btn--legacy{background:rgba(140,153,166,.14);border-color:var(--legacy);color:var(--ink)}
.bao-btn--legacy::before{
  content:"";width:9px;height:9px;flex:0 0 9px;
  background-image:radial-gradient(var(--legacy) 1.2px,transparent 1.4px);
  background-size:4.5px 4.5px;
}
.bao-btn--legacy:hover{border-color:var(--ink);background:rgba(140,153,166,.26)}

/* ---------- 页头命令栏 ---------- */
.bao-header{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:var(--line-strong);box-shadow:0 1px 0 rgba(34,30,26,.06)}
.bao-header__ruler{height:8px;border-bottom:1px solid var(--grid);background-image:repeating-linear-gradient(to right,var(--grid) 0 1px,transparent 1px 24px);opacity:.85}
.bao-header__inner{
  width:100%;max-width:var(--w);margin-inline:auto;
  padding:10px var(--pad);
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:"brand nav actions";
  align-items:center;gap:10px clamp(12px,2vw,30px);
}
.bao-brand{grid-area:brand;display:inline-flex;align-items:center;gap:10px;border:0;color:var(--ink)}
.bao-brand__mark{
  width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;
  border:1px solid var(--green);border-radius:var(--r);
  font-family:var(--fr-mono);font-size:15px;font-weight:700;color:var(--green);
  background:rgba(63,107,48,.07);
}
.bao-brand__text{display:flex;flex-direction:column;line-height:1.2}
.bao-brand__name{font-weight:800;font-size:15px;letter-spacing:.02em}
.bao-brand__status{font-family:var(--fr-mono);font-size:10.5px;letter-spacing:.09em;color:var(--ink-soft)}
.bao-nav-toggle{
  grid-area:toggle;display:none;align-items:center;gap:8px;
  border:1px solid var(--ink);background:var(--card);color:var(--ink);
  border-radius:var(--r);padding:8px 11px;cursor:pointer;
  transition:background-color var(--ease),border-color var(--ease);
}
.bao-nav-toggle:hover{background:var(--grid)}
.bao-nav-toggle__bars{display:block;width:16px}
.bao-nav-toggle__bars i{display:block;height:1.5px;background:var(--ink);margin:3px 0;transition:transform var(--ease),opacity var(--ease)}
.bao-nav-toggle[aria-expanded="true"] .bao-nav-toggle__bars i:first-child{transform:translateY(4.5px) rotate(45deg)}
.bao-nav-toggle[aria-expanded="true"] .bao-nav-toggle__bars i:nth-child(2){opacity:0}
.bao-nav-toggle[aria-expanded="true"] .bao-nav-toggle__bars i:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.bao-nav-toggle__label{font-family:var(--fr-mono);font-size:11px;letter-spacing:.14em}
.bao-nav{grid-area:nav;min-width:0;display:flex;justify-content:center;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.bao-nav__list{display:flex;align-items:center;gap:2px}
.bao-nav__link{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 12px;font-size:13px;letter-spacing:.08em;color:var(--ink);
  border:0;border-radius:var(--r);white-space:nowrap;
  transition:background-color var(--ease),color var(--ease),transform var(--ease),box-shadow var(--ease);
}
.bao-nav__link:hover,.bao-nav__link:focus-visible{background:var(--grid);color:var(--ink);transform:translateX(2px)}
.bao-nav__num{font-family:var(--fr-mono);font-size:10px;color:var(--green-soft);letter-spacing:0}
.bao-nav__link[aria-current="page"]{
  color:var(--green);font-weight:700;
  background:rgba(63,107,48,.09);
  box-shadow:inset 0 -2px 0 0 var(--green);
}
.bao-nav__link[aria-current="page"] .bao-nav__num{color:var(--green)}
.bao-actions{grid-area:actions;display:flex;align-items:center;gap:8px;justify-self:end}

/* ---------- 页脚 ---------- */
.bao-footer{background:var(--forest);color:#DCD8CC;margin-top:clamp(40px,6vw,90px)}
.bao-footer__ruler{height:6px;background:var(--green);background-image:repeating-linear-gradient(to right,var(--sand) 0 2px,transparent 2px 34px)}
.bao-footer__inner{width:100%;max-width:var(--w);margin-inline:auto;padding:clamp(30px,4.5vw,60px) var(--pad) 22px}
.bao-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.35fr 1fr;gap:clamp(22px,3vw,42px);padding-bottom:clamp(22px,3vw,36px);border-bottom:1px solid rgba(220,216,204,.22)}
.bao-footer__col{min-width:0}
.bao-footer__brand{font-size:1.25rem;font-weight:800;letter-spacing:.02em;color:var(--card)}
.bao-footer__tagline{font-size:14px;line-height:1.7;color:#B9B6AA;margin-top:8px;max-width:34ch}
.bao-footer__stat{font-size:11.5px;letter-spacing:.14em;color:var(--green-soft);margin-top:14px;padding-top:10px;border-top:1px solid rgba(127,164,105,.35)}
.bao-footer__title{font-family:var(--fr-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid rgba(214,160,60,.35)}
.bao-footer__list{display:flex;flex-direction:column;gap:8px;font-size:14px}
.bao-footer__link{color:#DCD8CC;border:0;border-bottom:1px solid transparent;padding-bottom:1px;transition:color var(--ease),border-color var(--ease),transform var(--ease)}
.bao-footer__link:hover,.bao-footer__link:focus-visible{color:var(--sand);border-bottom-color:var(--sand);transform:translateX(2px)}
.bao-footer__list--plain{margin-top:14px;color:#A9A698;font-size:13px;line-height:1.65}
.bao-footer__list--plain .bao-mono{color:#C9C6B8;letter-spacing:.04em}
.bao-footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding-top:16px;font-size:12.5px;color:#9E9B8E}
.bao-footer__note{letter-spacing:.03em}

/* ---------- 面包屑 ---------- */
.bao-crumbs{font-size:12px;letter-spacing:.08em;color:var(--ink-soft);padding-block:14px 0}
.bao-crumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.bao-crumbs__list li+li::before{content:"/";margin-right:8px;color:var(--grid);font-family:var(--fr-mono)}
.bao-crumbs a{border-bottom-color:transparent}
.bao-crumbs a:hover{border-bottom-color:var(--lake)}

/* ---------- 编号章节 ---------- */
.bao-chapter{
  display:grid;grid-template-columns:96px minmax(0,1fr);gap:clamp(14px,3vw,40px);
  padding-block:clamp(26px,4vw,52px);border-top:var(--hair);
}
.bao-chapter__index{font-family:var(--fr-mono);font-size:clamp(26px,4vw,46px);font-weight:700;line-height:1;color:var(--grid);letter-spacing:.02em;transition:color .3s ease}
.bao-chapter.is-in .bao-chapter__index{color:var(--green)}
.bao-chapter__body{max-width:78ch}
.bao-chapter__title{font-size:clamp(1.3rem,2.2vw,1.9rem);font-weight:800;line-height:1.2;margin-bottom:12px}
.bao-chapter__body p+p{margin-top:12px}

/* ---------- 桌面网格 ---------- */
.bao-grid{display:grid;gap:clamp(14px,2.2vw,26px)}
.bao-grid--12{grid-template-columns:repeat(12,minmax(0,1fr))}
.bao-col-3{grid-column:span 3}
.bao-col-4{grid-column:span 4}
.bao-col-6{grid-column:span 6}
.bao-col-8{grid-column:span 8}
.bao-col-12{grid-column:span 12}

/* ---------- 卡片 ---------- */
.bao-card{
  background:var(--card);border:var(--hair);border-radius:var(--r);
  padding:clamp(16px,2.4vw,24px);
  box-shadow:0 1px 0 rgba(34,30,26,.05);
  transition:border-color var(--ease),box-shadow var(--ease);
}
.bao-card:hover{border-color:var(--ink);box-shadow:0 2px 0 rgba(34,30,26,.08)}
.bao-card__title{font-size:1.05rem;font-weight:700;line-height:1.35;margin-bottom:8px}
.bao-card__meta{font-family:var(--fr-mono);font-size:11.5px;letter-spacing:.1em;color:var(--lake);margin-bottom:10px}
.bao-card p{font-size:14.5px;color:var(--ink-soft)}

/* ---------- 胶囊标签与筛选 ---------- */
.bao-chiprow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.bao-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 13px;font-size:12px;letter-spacing:.12em;line-height:1.4;
  border:1px solid var(--grid);border-radius:999px;background:var(--card);color:var(--ink);
  cursor:pointer;border-bottom-width:1px;
  transition:background-color var(--ease),color var(--ease),border-color var(--ease),transform var(--ease);
}
.bao-chip:hover{border-color:var(--lake);color:var(--lake);transform:translateX(2px)}
.bao-chip[aria-pressed="true"],.bao-chip.is-active{background:var(--green);border-color:var(--green);color:var(--card)}
.bao-chip--legacy{background:rgba(140,153,166,.14);border-color:var(--legacy)}
.bao-chip--legacy[aria-pressed="true"]{background:var(--legacy);border-color:var(--legacy);color:var(--ink)}
.bao-filter-item[hidden]{display:none}

/* ---------- 横向时间轴 ---------- */
.bao-track{border-top:var(--line-strong);padding-top:16px;position:relative}
.bao-track__list{display:flex;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-bottom:8px}
.bao-track__item{flex:0 0 auto;min-width:186px;padding:0 16px;border-left:var(--hair);scroll-snap-align:start}
.bao-track__item:first-child{border-left:0;padding-left:0}
.bao-track__item h3{font-size:15px;font-weight:700;margin:6px 0 4px}
.bao-track__item p{font-size:13.5px;color:var(--ink-soft)}

/* ---------- 表格 ---------- */
.bao-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--card)}
.bao-table caption{text-align:left;font-size:12px;letter-spacing:.12em;color:var(--ink-soft);padding-bottom:10px}
.bao-table th,.bao-table td{border-bottom:var(--hair);padding:11px 12px;text-align:left;vertical-align:top}
.bao-table thead th{font-family:var(--fr-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);border-bottom:var(--line-strong)}
.bao-table tbody tr:hover{background:rgba(111,163,184,.1)}

/* ---------- 图例 ---------- */
.bao-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;letter-spacing:.08em;color:var(--ink-soft)}
.bao-legend__item{display:inline-flex;align-items:center;gap:7px}
.bao-legend__swatch{width:12px;height:12px;flex:0 0 12px;border:1px solid var(--ink);border-radius:1px}
.bao-legend__swatch--green{background:var(--green)}
.bao-legend__swatch--lake{background:var(--lake)}
.bao-legend__swatch--sand{background:var(--sand)}
.bao-legend__swatch--legacy{background:var(--legacy)}
.bao-legend__swatch--paper{background:var(--paper)}

/* ---------- 图片容器（页面阶段复用） ---------- */
.bao-media{position:relative;display:block;overflow:hidden;background:var(--card);border:var(--hair);border-radius:var(--r)}
.bao-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.03) brightness(1.01)}
.bao-media--16x9{aspect-ratio:16/9}
.bao-media--4x3{aspect-ratio:4/3}
.bao-media--1x1{aspect-ratio:1/1}
.bao-media__tag{
  position:absolute;top:0;left:0;z-index:2;
  font-family:var(--fr-mono);font-size:11px;letter-spacing:.12em;
  background:var(--paper);color:var(--ink);border-right:var(--hair);border-bottom:var(--hair);
  padding:5px 9px;
}
.bao-media__cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  background:rgba(23,37,31,.86);color:#DCD8CC;
  font-size:12.5px;line-height:1.5;padding:9px 12px;
}

/* ---------- 显现 / 进度 / 返回顶部 ---------- */
.bao-reveal{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease}
.bao-reveal.is-in{opacity:1;transform:none}

.bao-progress{
  position:fixed;top:0;left:0;z-index:80;
  width:100%;height:3px;background:var(--sand);
  transform:scaleX(0);transform-origin:0 50%;
  pointer-events:none;
}
.bao-top{
  position:fixed;right:clamp(14px,3vw,28px);bottom:clamp(14px,3vw,28px);z-index:70;
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;font-family:var(--fr-mono);font-size:11px;letter-spacing:.14em;
  background:var(--forest);color:var(--card);border:1px solid var(--forest);border-radius:var(--r);
  cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s,background-color var(--ease);
}
.bao-top.is-on{opacity:1;visibility:visible;transform:none}
.bao-top:hover{background:var(--green);border-color:var(--green)}

/* ---------- 平板 ---------- */
@media (max-width:1080px){
  .bao-nav__link{padding:9px 9px;font-size:12.5px}
  .bao-btn{padding:8px 11px;font-size:12.5px}
  .bao-footer__grid{grid-template-columns:1fr 1fr}
}

/* ---------- 移动端命令栏 ---------- */
@media (max-width:900px){
  .bao-header__inner{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"brand toggle" "nav nav" "actions actions";
    padding-bottom:10px;
  }
  .bao-nav-toggle{display:inline-flex;justify-self:end}
  .bao-nav{
    display:block;width:100%;justify-content:flex-start;
    max-height:0;overflow:hidden;opacity:0;visibility:hidden;
    border-top:1px solid transparent;
    transition:max-height .25s ease,opacity .2s ease,visibility .25s ease;
  }
  .bao-nav[data-open]{
    max-height:72vh;overflow-y:auto;opacity:1;visibility:visible;
    border-top-color:var(--grid);padding-block:6px;margin-top:4px;
  }
  .bao-nav__list{flex-direction:column;align-items:stretch;gap:0;min-width:100%}
  .bao-nav__link{width:100%;justify-content:flex-start;padding:13px 4px;font-size:14px;border-bottom:1px solid var(--grid);border-radius:0}
  .bao-nav__link:hover{transform:translateX(2px);background:var(--grid)}
  .bao-nav__link[aria-current="page"]{box-shadow:inset 3px 0 0 0 var(--green)}
  .bao-actions{justify-self:stretch;flex-wrap:wrap}
  .bao-grid--12{grid-template-columns:repeat(6,minmax(0,1fr))}
  .bao-col-3,.bao-col-4{grid-column:span 3}
  .bao-col-6,.bao-col-8{grid-column:span 6}
  .bao-chapter{grid-template-columns:1fr}
  .bao-chapter__index{font-size:22px;color:var(--green-soft)}
}

/* ---------- 手机 ---------- */
@media (max-width:600px){
  body{font-size:16px;background-size:64px 64px}
  .bao-brand__status{font-size:10px}
  .bao-btn{flex:1 1 auto;justify-content:center}
  .bao-grid--12{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bao-col-3,.bao-col-4,.bao-col-6,.bao-col-8{grid-column:span 2}
  .bao-footer__grid{grid-template-columns:1fr;gap:24px}
  .bao-footer__base{flex-direction:column;gap:6px}
  .bao-table{font-size:13px}
  .bao-table th,.bao-table td{padding:9px 8px}
}

/* ---------- 降低动效 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
  .bao-reveal{opacity:1;transform:none}
  .bao-top{transform:none}
  .bao-btn:hover,.bao-nav__link:hover,.bao-chip:hover,.bao-footer__link:hover{transform:none}
}
