/* =========================================================
   有球体育全站 · 共享样式 /assets/site.css
   赛场深绿 + 夜灯暖白 · 非对称编辑部外壳
   ========================================================= */

/* ---------- 1. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
hr{border:0}
table{border-collapse:collapse}

/* ---------- 2. 变量 ---------- */
:root{
  --yq-green:#0B2B23;
  --yq-green-deep:#081E19;
  --yq-paper:#F6F1E4;
  --yq-ink:#101A17;
  --yq-line:#24463C;
  --yq-epl:#5B21B6;
  --yq-laliga:#C2410C;
  --yq-seriea:#1E3A8A;
  --yq-bundesliga:#B3121C;
  --yq-ligue1:#1D6FE0;
  --yq-window:#E8A33D;
  --yq-muted:#8A9A94;

  --yq-paper-line:rgba(16,26,23,.14);
  --yq-paper-soft:rgba(255,255,255,.55);
  --yq-on-green:rgba(246,241,228,.78);
  --yq-on-green-soft:rgba(246,241,228,.14);
  --yq-ink-soft:rgba(16,26,23,.78);

  --yq-shadow:0 1px 0 rgba(16,26,23,.04),0 10px 24px rgba(16,26,23,.06);
  --yq-shadow-lift:0 2px 0 rgba(16,26,23,.05),0 16px 32px rgba(16,26,23,.12);

  --yq-shell:1240px;
  --yq-gutter:clamp(16px,4vw,40px);
  --yq-radius:14px;
  --yq-pill:999px;

  --yq-font-sans:"PingFang SC","Hiragino Sans GB","Source Han Sans SC","Noto Sans CJK SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --yq-font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
}

/* ---------- 3. 中文排版与页面基底 ---------- */
body{
  font-family:var(--yq-font-sans);
  font-size:17px;
  line-height:1.75;
  color:var(--yq-ink);
  background:var(--yq-paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
::selection{background:var(--yq-green);color:var(--yq-paper)}
:focus-visible{outline:2px solid var(--yq-window);outline-offset:3px;border-radius:8px}
.yq-prose{max-width:36em}
.yq-prose p + p{margin-top:1.1em}
.yq-prose strong{font-weight:800}
h1,h2,h3{line-height:1.2}

/* ---------- 4. 布局容器与网格 ---------- */
.yq-container{width:min(var(--yq-shell),calc(100% - var(--yq-gutter) * 2));margin-inline:auto}
.yq-grid{display:grid;gap:clamp(20px,3vw,36px)}
.yq-grid--editorial{grid-template-columns:minmax(0,3fr) minmax(0,9fr)}
.yq-grid--half{grid-template-columns:repeat(2,minmax(0,1fr))}
.yq-rail{align-self:start;display:grid;gap:18px}
.yq-col-main{min-width:0}
@media (max-width:920px){
  .yq-grid--editorial,.yq-grid--half{grid-template-columns:1fr}
}

/* ---------- 5. 标题与文本层级 ---------- */
.yq-section{padding:clamp(38px,6vw,76px) 0 0}
.yq-section__head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  padding-bottom:14px;margin-bottom:26px;border-bottom:1px solid var(--yq-paper-line);
}
.yq-kicker{
  margin:0 0 8px;font-size:12.5px;font-weight:800;letter-spacing:.16em;
  color:var(--yq-muted);text-transform:uppercase;
}
.yq-title{margin:0;font-weight:800;letter-spacing:-.02em;line-height:1.1;font-size:clamp(26px,3.4vw,42px)}
.yq-title--xl{font-size:clamp(38px,7vw,92px);line-height:1.02;letter-spacing:-.035em}
.yq-lede{margin:16px 0 0;font-size:clamp(17px,1.4vw,19px);line-height:1.72;color:var(--yq-ink-soft);max-width:36em}
.yq-rule{height:1px;background:var(--yq-paper-line);margin:clamp(26px,4vw,46px) 0}
.yq-note{margin:0;font-size:13.5px;line-height:1.7;color:var(--yq-muted)}
.yq-link{
  color:var(--yq-seriea);text-decoration:none;
  border-bottom:1px solid rgba(30,58,138,.35);transition:border-color .16s ease,color .16s ease;
}
.yq-link:hover{color:var(--yq-ligue1);border-bottom-color:var(--yq-ligue1)}

/* ---------- 6. 按钮 ---------- */
.yq-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;border-radius:var(--yq-pill);
  font-size:14.5px;font-weight:800;letter-spacing:.01em;
  text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease;
}
.yq-btn:hover{transform:translateY(-2px)}
.yq-btn--primary{background:var(--yq-green);color:var(--yq-paper);border-color:rgba(16,26,23,.2)}
.yq-btn--primary:hover{background:var(--yq-green-deep)}
.yq-btn--ghost{background:transparent;color:var(--yq-ink);border-color:var(--yq-paper-line)}
.yq-btn--ghost:hover{border-color:var(--yq-ink)}
.yq-btn--window{background:rgba(232,163,61,.14);color:var(--yq-window);border-color:rgba(232,163,61,.55)}
.yq-btn--window:hover{background:rgba(232,163,61,.26)}

/* ---------- 7. 卡片与数据带 ---------- */
.yq-card{
  background:var(--yq-paper-soft);border:1px solid var(--yq-paper-line);
  border-radius:var(--yq-radius);padding:clamp(16px,2vw,24px);
  box-shadow:var(--yq-shadow);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.yq-card:hover{transform:translateY(-2px);border-color:rgba(16,26,23,.3);box-shadow:var(--yq-shadow-lift)}
.yq-card__meta{margin:0 0 8px;font-size:12.5px;font-weight:800;letter-spacing:.08em;color:var(--yq-muted)}
.yq-card__title{margin:0;font-size:clamp(18px,1.6vw,22px);font-weight:800;letter-spacing:-.01em;line-height:1.28}

.yq-band{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(146px,1fr));
  gap:1px;background:var(--yq-paper-line);
  border:1px solid var(--yq-paper-line);border-radius:var(--yq-radius);
  overflow:hidden;margin:clamp(22px,4vw,42px) 0;
}
.yq-band__item{background:var(--yq-paper);padding:16px 18px;display:grid;gap:8px;align-content:start}
.yq-band__label{font-size:12.5px;font-weight:800;letter-spacing:.08em;color:var(--yq-muted)}
.yq-num{
  font-family:var(--yq-font-mono);
  font-variant-numeric:tabular-nums lining-nums;
  font-weight:700;letter-spacing:-.02em;line-height:1;
  font-size:clamp(24px,3vw,34px);
}

/* ---------- 8. 标签、状态与表格 ---------- */
.yq-tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 9px;border-radius:var(--yq-pill);
  font-size:12px;font-weight:800;line-height:1.5;
  border:1px solid currentColor;background:transparent;
}
.yq-tag--epl{color:var(--yq-epl)}
.yq-tag--laliga{color:var(--yq-laliga)}
.yq-tag--seriea{color:var(--yq-seriea)}
.yq-tag--bundesliga{color:var(--yq-bundesliga)}
.yq-tag--ligue1{color:var(--yq-ligue1)}
.yq-tag--window{color:#B9791B}

.yq-status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--yq-ink)}
.yq-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.yq-status--live{color:#B9791B}
.yq-status--done{color:var(--yq-ligue1)}
.yq-status--archive{color:var(--yq-muted)}

.yq-table-wrap{overflow-x:auto;border:1px solid var(--yq-paper-line);border-radius:var(--yq-radius);background:var(--yq-paper-soft)}
.yq-table{width:100%;min-width:520px;font-size:14.5px}
.yq-table th{
  text-align:left;padding:12px;font-size:12.5px;font-weight:800;letter-spacing:.08em;
  color:var(--yq-muted);border-bottom:1px solid var(--yq-line);white-space:nowrap;
}
.yq-table td{padding:12px;border-bottom:1px solid var(--yq-paper-line);vertical-align:middle}
.yq-table tr:last-child td{border-bottom:0}
.yq-table .yq-num{font-size:17px}

/* ---------- 9. 图片容器（页面阶段放图） ---------- */
.yq-media{
  position:relative;display:block;overflow:hidden;
  aspect-ratio:4/3;border-radius:var(--yq-radius);
  border:1px solid var(--yq-paper-line);
  background:linear-gradient(140deg,var(--yq-green) 0%,var(--yq-line) 58%,#0E3027 100%);
  box-shadow:var(--yq-shadow);
}
.yq-media > img{width:100%;height:100%;object-fit:cover}
.yq-media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(115deg,rgba(246,241,228,.07) 0 1px,transparent 1px 26px);
}
.yq-media--wide{aspect-ratio:16/6}
.yq-media--tall{aspect-ratio:3/4}
.yq-media__caption{margin:10px 0 0;font-size:12.5px;line-height:1.65;color:var(--yq-muted)}

/* ---------- 10. 面包屑 ---------- */
.yq-breadcrumb{margin:20px 0 0;font-size:13px;color:var(--yq-muted)}
.yq-breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px}
.yq-breadcrumb li::after{content:"/";margin-left:6px;color:var(--yq-paper-line)}
.yq-breadcrumb li:last-child::after{content:""}
.yq-breadcrumb a{text-decoration:none;border-bottom:1px solid transparent;transition:color .16s ease,border-color .16s ease}
.yq-breadcrumb a:hover{color:var(--yq-ink);border-bottom-color:currentColor}

/* ---------- 11. 显现动效 ---------- */
.yq-reveal{opacity:0;transform:translate3d(-8px,0,0)}
.yq-reveal.is-visible{
  opacity:1;transform:none;
  transition:opacity .24s ease,transform .24s ease;
}

/* ---------- 12. 页头：悬浮胶囊指挥台 ---------- */
.yq-skip{
  position:fixed;left:50%;top:10px;z-index:90;
  transform:translate(-50%,-180%);
  padding:10px 18px;border-radius:var(--yq-pill);
  background:var(--yq-paper);color:var(--yq-green);
  font-size:14px;font-weight:800;text-decoration:none;
  box-shadow:var(--yq-shadow-lift);transition:transform .18s ease;
}
.yq-skip:focus{transform:translate(-50%,0)}

.yq-header{
  position:sticky;top:0;z-index:60;
  padding:12px var(--yq-gutter) 14px;
  background:linear-gradient(180deg,rgba(11,43,35,.97) 0%,rgba(11,43,35,.88) 62%,rgba(11,43,35,0) 100%);
  pointer-events:none;
}
.yq-header .yq-capsule,
.yq-header .yq-progress{pointer-events:auto}

.yq-progress{position:absolute;left:0;right:0;top:0;height:2px;background:rgba(246,241,228,.12)}
.yq-progress__bar{display:block;height:100%;width:0;background:var(--yq-window);transition:width .12s linear}

.yq-capsule{
  position:relative;
  width:min(var(--yq-shell),100%);margin-inline:auto;
  display:flex;align-items:center;gap:clamp(6px,1.4vw,18px);
  padding:8px 10px 8px 14px;
  background:var(--yq-green);color:var(--yq-paper);
  border:1px solid var(--yq-on-green-soft);border-radius:var(--yq-pill);
  box-shadow:0 12px 30px rgba(8,30,25,.28);
  transition:background-color .2s ease,box-shadow .2s ease;
}
.yq-header[data-scrolled] .yq-capsule{background:var(--yq-green-deep);box-shadow:0 18px 38px rgba(8,30,25,.42)}

.yq-brand{display:flex;align-items:center;gap:10px;flex:none;padding:6px 8px;border-radius:var(--yq-pill);text-decoration:none}
.yq-brand__pulse{
  width:10px;height:10px;border-radius:50%;flex:none;
  background:var(--yq-window);
  animation:yq-pulse 1.6s ease-out infinite;
}
@keyframes yq-pulse{
  0%{box-shadow:0 0 0 0 rgba(232,163,61,.55)}
  70%{box-shadow:0 0 0 9px rgba(232,163,61,0)}
  100%{box-shadow:0 0 0 0 rgba(232,163,61,0)}
}
.yq-brand__name{font-size:16.5px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.yq-brand__meta{font-size:12.5px;color:var(--yq-muted);white-space:nowrap}

.yq-nav{margin-inline:auto;min-width:0}
.yq-nav__list{display:flex;align-items:center;gap:2px}
.yq-nav__link{
  position:relative;display:block;padding:9px 12px;border-radius:var(--yq-pill);
  font-size:15px;font-weight:700;white-space:nowrap;text-decoration:none;
  color:var(--yq-on-green);
  transition:color .16s ease,background-color .16s ease;
}
.yq-nav__link:hover{color:var(--yq-paper);background:rgba(246,241,228,.08)}
.yq-nav__link[aria-current="page"]{color:var(--yq-paper)}
.yq-nav__link[aria-current="page"]::after{
  content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;
  border-radius:2px;background:var(--yq-window);
}

.yq-side{display:flex;align-items:center;gap:10px;flex:none}
.yq-leagues{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--yq-on-green)}
.yq-leagues__item{
  display:flex;align-items:center;gap:5px;
  padding:4px 8px;border-radius:var(--yq-pill);
  border:1px solid var(--yq-on-green-soft);white-space:nowrap;
}
.yq-dot{width:7px;height:7px;border-radius:50%;flex:none}
.yq-dot--epl{background:var(--yq-epl)}
.yq-dot--laliga{background:var(--yq-laliga)}
.yq-dot--seriea{background:var(--yq-seriea)}
.yq-dot--bundesliga{background:var(--yq-bundesliga)}
.yq-dot--ligue1{background:var(--yq-ligue1)}

.yq-nav-toggle{
  display:none;align-items:center;gap:7px;
  padding:8px 14px;border-radius:var(--yq-pill);
  background:rgba(246,241,228,.08);border:1px solid var(--yq-on-green-soft);
  color:var(--yq-paper);font-size:14px;font-weight:800;cursor:pointer;
}
.yq-nav-toggle__bar{width:14px;height:2px;border-radius:2px;background:currentColor;flex:none}
.yq-nav-toggle__label{line-height:1}

@media (max-width:1140px){
  .yq-brand__meta{display:none}
  .yq-leagues{display:none}
}
@media (max-width:1080px){
  .yq-brand__meta{display:none}
  .yq-leagues{display:none}
  .yq-nav-toggle{display:inline-flex;margin-left:auto}
  .yq-nav{
    position:absolute;left:0;right:0;top:calc(100% + 8px);
    display:none;margin:0;padding:10px;
    background:var(--yq-green-deep);color:var(--yq-paper);
    border:1px solid var(--yq-on-green-soft);border-radius:18px;
    box-shadow:0 22px 44px rgba(8,30,25,.45);
  }
  .yq-header[data-open] .yq-nav{display:block}
  .yq-nav__list{flex-direction:column;align-items:stretch;gap:2px}
  .yq-nav__link{padding:12px 14px;border-radius:12px;font-size:15.5px}
  .yq-nav__link[aria-current="page"]{background:rgba(246,241,228,.1)}
  .yq-nav__link[aria-current="page"]::after{display:none}
}
@media (max-width:760px){
  .yq-side .yq-btn--window{display:none}
  .yq-capsule{padding:7px 8px 7px 12px;gap:8px}
}

/* ---------- 13. 页脚 ---------- */
.yq-footer{
  margin-top:clamp(52px,9vw,110px);
  background:var(--yq-green);color:var(--yq-paper);
  border-top:1px solid var(--yq-on-green-soft);
}
.yq-footer__inner{
  width:min(var(--yq-shell),calc(100% - var(--yq-gutter) * 2));
  margin-inline:auto;padding:clamp(40px,6vw,72px) 0 26px;
}
.yq-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:clamp(24px,4vw,54px)}
.yq-footer__block{min-width:0}
.yq-footer__brand{margin:0 0 10px;font-size:20px;font-weight:800;letter-spacing:-.01em}
.yq-footer__lede{margin:0 0 12px;max-width:24em;font-size:14.5px;line-height:1.72;color:var(--yq-on-green)}
.yq-footer__seal{margin:0;font-size:13px;line-height:1.7;color:var(--yq-muted)}
.yq-footer__title{margin:0 0 14px;font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--yq-muted)}
.yq-footer__list{display:grid;gap:9px}
.yq-footer__list a{
  font-size:15px;color:var(--yq-on-green);text-decoration:none;
  border-bottom:1px solid transparent;transition:color .16s ease,border-color .16s ease;
}
.yq-footer__list a:hover{color:var(--yq-paper);border-bottom-color:var(--yq-window)}
.yq-footer__list--contact{gap:12px}
.yq-footer__list--contact li{display:grid;gap:3px}
.yq-footer__key{font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--yq-muted)}
.yq-footer__val{font-size:14.5px;line-height:1.6;color:var(--yq-paper)}
.yq-footer__val--mono{font-family:var(--yq-font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.yq-footer__note{margin:14px 0 0;font-size:12.5px;line-height:1.7;color:var(--yq-muted)}
.yq-footer__base{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 22px;
  margin-top:clamp(30px,5vw,54px);padding-top:18px;
  border-top:1px solid var(--yq-on-green-soft);
  font-size:13px;color:var(--yq-muted);
}
.yq-footer__base p{margin:0}
.yq-footer__icp{font-family:var(--yq-font-mono);font-variant-numeric:tabular-nums}
.yq-footer__domain{font-family:var(--yq-font-mono)}

@media (max-width:1000px){
  .yq-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .yq-footer__grid{grid-template-columns:1fr;gap:30px}
  .yq-footer__base{flex-direction:column;align-items:flex-start}
}

/* ---------- 14. 减少动效 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .yq-reveal{opacity:1;transform:none}
  .yq-btn:hover,.yq-card:hover{transform:none}
  .yq-brand__pulse{animation:none;box-shadow:0 0 0 4px rgba(232,163,61,.22)}
}
