/* =========================================================
   利来赛事 · 共享样式 /assets/site.css
   暖纸底 + 草皮绿结构 + 记分牌节点，半场中线为视觉隐喻
   ========================================================= */

/* ---------- 1. 设计变量 ---------- */
:root{
  --turf:#1E7A45;
  --turf-deep:#14532D;
  --line-white:#F7F4EC;
  --paper:#EFE8DA;
  --midline:#D8CFBD;
  --ink:#101418;
  --red:#D93025;
  --away:#16375F;
  --yellow:#F2B233;
  --mute:#6E7780;

  --sans: system-ui, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", "Roboto Mono", Menlo, monospace;

  --r-panel:20px;
  --r-pill:999px;
  --maxw:1240px;
  --gut:clamp(16px,4vw,40px);
  --header-space:118px;
  --edge:1px solid var(--midline);
  --shadow:0 10px 28px rgba(16,20,24,.09);
  --t:160ms;
}

@media (max-width:980px){ :root{ --header-space:104px; } }
@media (max-width:560px){ :root{ --header-space:96px; } }

/* ---------- 2. 重置 ---------- */
*,*::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,hr{ margin:0; padding:0; }
ul,ol{ list-style:none; }
img,svg,video{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
table{ border-collapse:collapse; width:100%; }
hr{ border:0; }
@media (prefers-reduced-motion: no-preference){
  html{ scroll-behavior:smooth; }
}

/* ---------- 3. 中文排版与正文基础 ---------- */
body{
  padding-top:var(--header-space);
  background:var(--line-white);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.75;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{ font-weight:800; line-height:1.18; letter-spacing:-.02em; }
h1{ font-size:clamp(30px,4.4vw,50px); }
h2{ font-size:clamp(23px,3vw,34px); }
h3{ font-size:clamp(19px,2.1vw,24px); }
h4{ font-size:17px; }
strong,b{ font-weight:800; }
::selection{ background:var(--turf); color:var(--line-white); }

.prose{ display:grid; gap:18px; }
.prose p{ max-width:68ch; }
.prose h2,.prose h3{ margin-top:8px; }
.prose ul{ display:grid; gap:8px; max-width:68ch; }
.prose li{ padding-left:18px; position:relative; }
.prose li::before{ content:""; position:absolute; left:0; top:.72em; width:8px; height:2px; background:var(--turf); }

/* ---------- 4. 焦点与无障碍 ---------- */
:focus-visible{ outline:3px solid var(--turf); outline-offset:3px; border-radius:6px; }
.panel-turf :focus-visible,
.panel-ink :focus-visible,
.section-turf :focus-visible,
.site-footer :focus-visible{ outline-color:var(--yellow); }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.skip-link{
  position:fixed; top:10px; left:10px; z-index:200;
  display:inline-block; padding:10px 18px;
  background:var(--turf-deep); color:var(--line-white);
  border-radius:var(--r-pill); font-size:13px; font-weight:700; letter-spacing:.06em;
  transform:translateY(-180%);
  transition:transform var(--t) ease-out;
}
.skip-link:focus{ transform:translateY(0); }

/* ---------- 5. 通用文本工具 ---------- */
.mono{ font-family:var(--mono); font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1; }
.num{
  font-family:var(--mono); font-variant-numeric:tabular-nums;
  font-weight:700; letter-spacing:-.01em; line-height:1.05;
}
.num-lg{ font-size:clamp(30px,4vw,46px); }
.muted{ color:var(--mute); }
.label{
  font-size:12px; font-weight:600; letter-spacing:.08em; color:var(--mute);
  line-height:1.5;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--turf);
}
.eyebrow::before{ content:""; width:18px; height:2px; background:currentColor; }
.lede{ font-size:clamp(17px,1.6vw,20px); line-height:1.7; max-width:62ch; }

.tag{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 11px; border-radius:var(--r-pill);
  border:1px solid var(--midline); background:var(--line-white);
  font-size:12px; font-weight:600; letter-spacing:.08em; color:var(--mute);
  white-space:nowrap;
}
.tag-red{ border-color:var(--red); color:var(--red); }
.tag-turf{ border-color:var(--turf); color:var(--turf-deep); background:#E4EFE7; }
.tag-yellow{ background:var(--yellow); border-color:var(--yellow); color:var(--ink); }

.midline-rule{
  height:1px; border:0;
  background:linear-gradient(90deg,transparent,var(--midline) 10%,var(--midline) 90%,transparent);
}

/* ---------- 6. 布局容器与栅格 ---------- */
.container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }
.container-narrow{ width:100%; max-width:860px; margin-inline:auto; padding-inline:var(--gut); }

.section{ padding-block:clamp(40px,6vw,88px); }
.section-paper{ background:var(--paper); }
.section-turf{ background:var(--turf-deep); color:var(--line-white); }
.section-turf .lede,
.section-turf .footer-summary{ color:rgba(247,244,236,.82); }
.section-turf .mobile-note{ color:rgba(247,244,236,.66); }

.section-head{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:16px 28px; margin-bottom:clamp(20px,3vw,34px);
}

.grid{ display:grid; gap:clamp(14px,2vw,24px); }
.grid-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid-12{ grid-template-columns:repeat(12,minmax(0,1fr)); }
.col-4{ grid-column:span 4; }
.col-5{ grid-column:span 5; }
.col-7{ grid-column:span 7; }
.col-8{ grid-column:span 8; }

@media (max-width:1000px){
  .grid-3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px){
  .grid-2,.grid-3,.grid-12{ grid-template-columns:minmax(0,1fr); }
  .col-4,.col-5,.col-7,.col-8{ grid-column:1 / -1; }
}

/* ---------- 7. 堆叠面板 ---------- */
.panel{
  background:var(--paper);
  border:var(--edge);
  border-radius:var(--r-panel);
  padding:clamp(18px,2.4vw,28px);
}
.panel-white{ background:var(--line-white); }
.panel-turf{ background:var(--turf-deep); color:var(--line-white); border-color:var(--turf-deep); }
.panel-ink{ background:var(--ink); color:var(--line-white); border-color:var(--ink); }
.panel-head{
  display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between;
  gap:10px 18px; padding-bottom:12px; margin-bottom:16px;
  border-bottom:1px solid var(--midline);
}
.panel-turf .panel-head,
.panel-ink .panel-head{ border-color:rgba(247,244,236,.22); }
.panel-title{ font-size:clamp(18px,2vw,22px); font-weight:800; letter-spacing:-.02em; }
.panel-meta{ font-size:12px; letter-spacing:.08em; font-weight:600; color:var(--mute); }
.panel-turf .panel-meta,
.panel-ink .panel-meta{ color:rgba(247,244,236,.66); }

.section-turf .panel:not(.panel-turf):not(.panel-ink){
  background:rgba(247,244,236,.07);
  border-color:rgba(247,244,236,.2);
  color:var(--line-white);
}
.section-turf .panel-head{ border-color:rgba(247,244,236,.22); }
.section-turf .panel-meta,
.section-turf .label{ color:rgba(247,244,236,.66); }

.stack{ display:grid; gap:clamp(14px,2.2vw,26px); }
.stack-organic > *:nth-child(even){ margin-inline-start:clamp(0px,3.5vw,56px); }
@media (max-width:760px){
  .stack-organic > *:nth-child(even){ margin-inline-start:0; }
}

/* ---------- 8. 层叠目录 ---------- */
.stack-index{ display:grid; gap:2px; align-content:start; }
.stack-index-link{
  display:flex; align-items:baseline; gap:10px;
  padding:8px 12px; border-radius:12px;
  border-inline-start:2px solid transparent;
  font-size:13.5px; font-weight:600; letter-spacing:.03em; color:var(--mute);
  transition:color var(--t) ease-out, background var(--t) ease-out, border-color var(--t) ease-out;
}
.stack-index-link:hover{ color:var(--ink); background:var(--paper); }
.stack-index-link[aria-current="true"]{
  color:var(--turf-deep); border-inline-start-color:var(--turf); background:var(--paper);
}
@media (min-width:901px){
  .stack-index{ position:sticky; top:calc(var(--header-space) + 4px); }
}
@media (max-width:900px){
  .stack-index{
    grid-auto-flow:column; grid-auto-columns:max-content;
    overflow-x:auto; gap:6px; padding-bottom:6px;
  }
}

/* ---------- 9. 主客对照与数据组件 ---------- */
.split{ display:grid; gap:clamp(14px,2vw,24px); grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:820px){ .split{ grid-template-columns:minmax(0,1fr); } }

.side-home,.side-away{
  background:var(--paper); border:var(--edge); border-radius:var(--r-panel);
  padding:clamp(16px,2vw,24px);
}
.side-home{ border-top:4px solid var(--turf); }
.side-away{ border-top:4px solid var(--away); }
.side-label{
  display:inline-block; margin-bottom:12px;
  font-size:12px; font-weight:700; letter-spacing:.08em;
}
.side-home .side-label{ color:var(--turf-deep); }
.side-away .side-label{ color:var(--away); }

.score-bar{
  display:flex; flex-wrap:wrap; align-items:center; gap:clamp(8px,1.6vw,18px);
  padding:12px 18px; border-radius:var(--r-pill);
  background:var(--turf-deep); color:var(--line-white);
}
.score-side{ display:flex; align-items:baseline; gap:10px; }
.score-name{ font-size:12px; font-weight:600; letter-spacing:.08em; color:rgba(247,244,236,.78); }
.score-figure{
  font-family:var(--mono); font-variant-numeric:tabular-nums;
  font-size:clamp(22px,3vw,32px); font-weight:700; line-height:1.05;
}
.score-mid{ font-size:12px; letter-spacing:.08em; color:rgba(247,244,236,.6); }

.stat-list{ display:grid; gap:10px; }
.stat-row{
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:12px; align-items:baseline;
  padding-bottom:8px; border-bottom:1px solid var(--midline);
}
.panel-turf .stat-row,
.section-turf .stat-row,
.panel-ink .stat-row{ border-color:rgba(247,244,236,.18); }
.stat-label{ font-size:13px; font-weight:600; letter-spacing:.06em; color:var(--mute); }
.panel-turf .stat-label,
.section-turf .stat-label,
.panel-ink .stat-label{ color:rgba(247,244,236,.7); }
.stat-value{ font-family:var(--mono); font-variant-numeric:tabular-nums; font-weight:700; font-size:20px; }
.stat-value .stat-unit{ font-family:var(--sans); font-size:12px; letter-spacing:.08em; color:var(--mute); margin-left:4px; }

.bar{ height:8px; border-radius:var(--r-pill); background:var(--midline); overflow:hidden; }
.bar > span{ display:block; height:100%; background:var(--turf); border-radius:inherit; }
.bar-away > span{ background:var(--away); }
.bar-key > span{ background:var(--yellow); }

/* ---------- 10. 按钮 ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:10px 18px; border-radius:var(--r-pill);
  border:1px solid var(--ink); background:transparent; color:var(--ink);
  font-size:14px; font-weight:700; letter-spacing:.02em; line-height:1.2;
  transition:background var(--t) ease-out, color var(--t) ease-out, border-color var(--t) ease-out;
}
.btn-primary{ background:var(--turf); border-color:var(--turf); color:var(--line-white); }
.btn-primary:hover{ background:var(--turf-deep); border-color:var(--turf-deep); }
.btn-ghost{ background:transparent; border-color:var(--turf); color:var(--turf-deep); }
.btn-ghost:hover{ background:var(--turf); border-color:var(--turf); color:var(--line-white); }
.btn-quiet{ background:var(--paper); border-color:var(--midline); color:var(--ink); }
.btn-quiet:hover{ border-color:var(--ink); }
.btn-on-dark{ border-color:rgba(247,244,236,.5); color:var(--line-white); }
.btn-on-dark:hover{ background:var(--line-white); border-color:var(--line-white); color:var(--turf-deep); }
.btn-block{ display:flex; width:100%; }

/* ---------- 11. 复制控件 ---------- */
.copy-btn{
  font-size:11px; font-weight:600; letter-spacing:.08em;
  padding:3px 10px; border-radius:var(--r-pill);
  border:1px solid var(--midline); color:var(--mute);
  transition:color var(--t) ease-out, border-color var(--t) ease-out;
}
.copy-btn:hover{ color:var(--ink); border-color:var(--ink); }
.copy-status{ min-height:1.4em; font-size:12px; letter-spacing:.06em; color:var(--mute); }
.copy-status[data-state="ok"]{ color:var(--turf); }
.copy-status[data-state="fail"]{ color:var(--red); }

/* ---------- 12. 面包屑 ---------- */
.crumbs{ padding-top:clamp(18px,2.4vw,28px); }
.crumbs-list{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  font-size:12px; font-weight:600; letter-spacing:.08em; color:var(--mute);
}
.crumbs-item{ display:flex; align-items:center; gap:8px; }
.crumbs-item + .crumbs-item::before{ content:"/"; color:var(--midline); }
.crumbs-item a:hover{ color:var(--ink); }

/* ---------- 13. 图片容器（页面阶段放图） ---------- */
.media{
  position:relative; overflow:hidden;
  border:var(--edge); border-radius:var(--r-panel); background:var(--paper);
}
.media-16x9{ aspect-ratio:16 / 9; }
.media-3x2{ aspect-ratio:3 / 2; }
.media-4x3{ aspect-ratio:4 / 3; }
.media-1x1{ aspect-ratio:1 / 1; }
.media > img{ width:100%; height:100%; object-fit:cover; }
.media-caption{
  font-size:12px; letter-spacing:.06em; color:var(--mute);
  padding:8px 2px 0;
}
.media-grain::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(0deg, rgba(16,20,24,.07) 0 1px, transparent 1px 3px);
  mix-blend-mode:multiply;
}
.media-placeholder{
  background:linear-gradient(180deg,var(--turf) 0%,var(--turf-deep) 100%);
}
.media-placeholder::before{
  content:""; position:absolute; left:50%; top:0; bottom:0; width:1px;
  background:rgba(247,244,236,.42);
}
.media-placeholder::after{
  content:""; position:absolute; left:50%; top:50%;
  width:clamp(56px,16%,96px); aspect-ratio:1; transform:translate(-50%,-50%);
  border:1px solid rgba(247,244,236,.5); border-radius:50%;
}
.figure{ display:grid; gap:10px; }
.figure figcaption{ font-size:12px; letter-spacing:.06em; color:var(--mute); }

/* ---------- 14. 头部：悬浮胶囊 → 比分条 ---------- */
.site-header{ position:fixed; top:0; left:0; right:0; z-index:120; }

.scroll-progress{
  position:absolute; top:0; left:0; right:0; height:3px;
  background:rgba(20,83,45,.12);
}
.scroll-progress-bar{
  display:block; height:100%; width:100%;
  background:var(--turf);
  transform:scaleX(0); transform-origin:left center;
}

.header-shell{ padding:12px clamp(12px,3vw,32px) 0; }
.header-capsule{
  position:relative;
  max-width:var(--maxw); margin-inline:auto;
  display:flex; align-items:center; gap:clamp(10px,1.4vw,20px);
  padding:9px 10px 9px 16px;
  background:rgba(247,244,236,.94);
  border:var(--edge); border-radius:var(--r-pill);
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
  transition:padding var(--t) ease-out, box-shadow var(--t) ease-out, background var(--t) ease-out;
}
.site-header[data-scrolled="true"] .header-capsule{
  padding-top:6px; padding-bottom:6px;
  background:rgba(247,244,236,.98);
  box-shadow:0 6px 18px rgba(16,20,24,.13);
}

.brand{ display:flex; align-items:center; gap:10px; flex:0 0 auto; min-width:0; }
.brand-mark{
  position:relative; flex:0 0 auto;
  width:26px; height:26px; border-radius:50%; background:var(--turf);
}
.brand-mark::before{
  content:""; position:absolute; inset:5px;
  border:1.5px solid var(--line-white); border-radius:50%;
}
.brand-mark::after{
  content:""; position:absolute; left:50%; top:1px; bottom:1px; width:1.5px;
  margin-left:-0.75px; background:var(--line-white);
}
.brand-text{ display:grid; line-height:1.12; }
.brand-name{ font-size:15px; font-weight:800; letter-spacing:-.01em; }
.brand-sub{ font-size:11px; font-weight:600; letter-spacing:.12em; color:var(--turf); }

.brand-tagline{
  flex:0 0 auto; padding-left:16px; border-left:1px solid var(--midline);
  font-size:12px; letter-spacing:.06em; color:var(--mute); white-space:nowrap;
}
.site-header[data-scrolled="true"] .brand-tagline{ display:none; }
@media (max-width:1180px){ .brand-tagline{ display:none; } }

.primary-nav{ flex:1 1 auto; display:flex; justify-content:center; min-width:0; }
.nav-list{ display:flex; align-items:center; gap:2px; }
.nav-link{
  display:inline-block; padding:8px 13px; border-radius:var(--r-pill);
  font-size:13.5px; font-weight:600; letter-spacing:.04em; color:var(--ink);
  white-space:nowrap;
  transition:background var(--t) ease-out, color var(--t) ease-out;
}
.nav-link:hover{ background:var(--paper); color:var(--turf-deep); }
.nav-link[aria-current="page"]{ background:var(--turf); color:var(--line-white); }

.header-actions{ display:flex; align-items:center; gap:8px; flex:0 0 auto; margin-left:auto; }

.chip-update{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 13px 6px 11px; border-radius:var(--r-pill);
  background:var(--paper); border:var(--edge);
  font-size:12px; font-weight:600; letter-spacing:.06em; color:var(--ink);
  transition:border-color var(--t) ease-out, background var(--t) ease-out;
}
.chip-update:hover{ border-color:var(--turf); }
.chip-key{ color:var(--mute); }
.chip-value{
  font-family:var(--mono); font-variant-numeric:tabular-nums;
  letter-spacing:0; min-width:7.5ch; white-space:nowrap;
}
.chip-dot{
  flex:0 0 auto; width:7px; height:7px; border-radius:50%;
  background:var(--turf); box-shadow:0 0 0 3px rgba(30,122,69,.16);
}

.nav-toggle{
  display:none; align-items:center; gap:8px;
  padding:8px 14px; border-radius:var(--r-pill);
  background:var(--paper); border:var(--edge);
  font-size:13px; font-weight:700; letter-spacing:.06em;
}
.nav-toggle-bars{ display:grid; gap:4px; width:16px; }
.nav-toggle-bars span{
  display:block; height:2px; border-radius:2px; background:var(--ink);
  transition:transform var(--t) ease-out, opacity var(--t) ease-out;
}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:first-child{ transform:translateY(3px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:last-child{ transform:translateY(-3px) rotate(-45deg); }

.nav-foot{ display:none; }

@media (max-width:1120px){
  .nav-link{ padding:8px 10px; font-size:13px; }
}
@media (max-width:980px){
  .header-cta{ display:none; }
  .nav-toggle{ display:inline-flex; }

  .primary-nav{
    position:absolute; top:calc(100% + 10px); left:0; right:0;
    display:block; padding:10px;
    background:var(--line-white);
    border:var(--edge); border-radius:var(--r-panel);
    box-shadow:var(--shadow);
    opacity:0; visibility:hidden; transform:translateY(-8px);
    transition:opacity var(--t) ease-out, transform var(--t) ease-out, visibility var(--t) linear;
  }
  .primary-nav[data-open="true"]{ opacity:1; visibility:visible; transform:translateY(0); }

  .nav-list{ display:grid; gap:2px; }
  .nav-link{
    display:block; padding:12px 14px; border-radius:14px;
    font-size:15px; letter-spacing:.02em;
  }
  .nav-foot{
    display:grid; gap:10px; margin-top:10px; padding-top:12px;
    border-top:1px solid var(--midline);
  }
  .nav-foot-note{
    display:flex; align-items:center; gap:8px;
    font-size:12px; font-weight:600; letter-spacing:.08em; color:var(--mute);
  }
}
@media (max-width:700px){
  .chip-key{ display:none; }
  .chip-update{ padding:6px 12px 6px 10px; }
}
@media (max-width:560px){
  .header-capsule{ padding:8px 8px 8px 12px; gap:8px; }
  .brand-sub{ display:none; }
  .nav-toggle-text{ display:none; }
  .nav-toggle{ padding:9px 12px; }
}

/* ---------- 15. 页脚 ---------- */
.site-footer{
  margin-top:clamp(48px,7vw,96px);
  background:var(--turf-deep); color:var(--line-white);
}
.footer-inner{
  max-width:var(--maxw); margin-inline:auto;
  padding:clamp(36px,5vw,64px) var(--gut) 28px;
  display:grid; gap:clamp(24px,3.2vw,40px);
}
.footer-top{
  display:grid; gap:16px 40px;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:start;
  padding-bottom:clamp(20px,3vw,32px);
  border-bottom:1px solid rgba(247,244,236,.18);
}
.footer-brand{ display:flex; align-items:center; gap:12px; }
.footer-brand .brand-mark{ background:var(--line-white); }
.footer-brand .brand-mark::before{ border-color:var(--turf-deep); }
.footer-brand .brand-mark::after{ background:var(--turf-deep); }
.footer-brand-name{ font-size:17px; font-weight:800; letter-spacing:-.01em; line-height:1.3; }
.footer-brand-line{ font-size:12px; font-weight:600; letter-spacing:.1em; color:rgba(247,244,236,.66); }
.footer-summary{ font-size:14.5px; line-height:1.72; color:rgba(247,244,236,.8); max-width:48ch; }

.footer-grid{
  display:grid; gap:clamp(20px,3vw,36px);
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.footer-col-title{
  font-size:12px; font-weight:700; letter-spacing:.12em;
  color:var(--yellow); margin-bottom:12px;
}
.footer-links{ display:grid; gap:9px; }
.footer-links a{
  font-size:14px; color:rgba(247,244,236,.86);
  border-bottom:1px solid transparent; padding-bottom:1px;
  transition:color var(--t) ease-out, border-color var(--t) ease-out;
}
.footer-links a:hover{ color:var(--line-white); border-bottom-color:var(--yellow); }
.footer-note{ margin-top:14px; font-size:12px; line-height:1.7; color:rgba(247,244,236,.6); max-width:34ch; }

.footer-contact{ display:grid; gap:7px; margin-top:16px; }
.contact-row{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:8px;
  font-size:13.5px; color:rgba(247,244,236,.88);
}
.site-footer .label{ color:rgba(247,244,236,.55); }
.contact-value{ word-break:break-all; }
.site-footer .copy-btn{ border-color:rgba(247,244,236,.3); color:rgba(247,244,236,.72); }
.site-footer .copy-btn:hover{ border-color:var(--line-white); color:var(--line-white); }
.site-footer .copy-status{ color:rgba(247,244,236,.6); }
.site-footer .copy-status[data-state="ok"]{ color:var(--yellow); }
.site-footer .copy-status[data-state="fail"]{ color:#F0A79C; }

.footer-meta{
  display:grid; gap:12px;
  padding-top:clamp(18px,2.6vw,26px);
  border-top:1px solid rgba(247,244,236,.18);
}
.footer-update{
  display:flex; align-items:center; gap:9px;
  font-size:12px; font-weight:600; letter-spacing:.08em; color:rgba(247,244,236,.74);
}
.footer-update .chip-dot{ background:var(--yellow); box-shadow:0 0 0 3px rgba(242,178,51,.18); }
.footer-source{ font-size:12px; line-height:1.75; color:rgba(247,244,236,.62); max-width:76ch; }
.footer-legal{
  display:flex; flex-wrap:wrap; gap:6px 24px; justify-content:space-between;
  font-size:12px; font-weight:600; letter-spacing:.06em; color:rgba(247,244,236,.6);
}

@media (max-width:900px){
  .footer-top{ grid-template-columns:minmax(0,1fr); }
  .footer-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px){
  .footer-grid{ grid-template-columns:minmax(0,1fr); }
  .footer-legal{ justify-content:flex-start; }
}

/* ---------- 16. 动效降级 ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  html{ scroll-behavior:auto; }
}
