/* ============================================================
   奇异果体育中文站 · 共享站点样式 /assets/site.css
   果肉翠绿 × 籽粒黑 × 暖金：切角、点阵、栅格线的连续画布
   ============================================================ */

:root{
  --kg-lime:#57C22E;
  --kg-lime-deep:#2C7A2A;
  --kg-rind:#123E1C;
  --kg-seed:#0E1310;
  --kg-gold:#F5B426;
  --kg-white:#FFFFFF;
  --kg-mist:#F2F8EC;
  --kg-moss:#7A8A74;
  --kg-teal:#0F8F6B;
  --kg-amber:#FF8A3D;
  --kg-porcelain:#E3E8E0;
  --kg-night:#1A2119;

  --shell:1240px;
  --gutter:clamp(16px,4vw,40px);
  --header-h:72px;

  --font-display:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --font-body:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --font-num:"JetBrains Mono","Roboto Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--kg-white);
  color:var(--kg-seed);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
@media (min-width:960px){body{font-size:17px}}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5,p,figure,blockquote{margin:0}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--kg-gold);outline-offset:3px}

/* ---------- 中文排版 ---------- */
h1,.h1{font-family:var(--font-display);font-weight:900;font-size:clamp(30px,6vw,68px);line-height:1.06;letter-spacing:-.02em}
h2,.h2{font-family:var(--font-display);font-weight:800;font-size:clamp(22px,3.2vw,34px);line-height:1.2;letter-spacing:-.015em}
h3,.h3{font-family:var(--font-display);font-weight:800;font-size:clamp(18px,2vw,22px);line-height:1.35;letter-spacing:-.01em}
h4,.h4{font-weight:700;font-size:17px;line-height:1.45}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:500;letter-spacing:.18em;
  color:var(--kg-lime-deep);
}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--kg-lime);flex:none}
.section--rind .eyebrow,.section--night .eyebrow{color:var(--kg-lime)}

.prose{max-width:68ch}
.prose p+p{margin-top:1em}
.prose h2{margin-top:2.2em;margin-bottom:.6em}
.prose h3{margin-top:1.8em;margin-bottom:.5em}
.prose ul{margin-top:1em;display:grid;gap:8px}
.prose ul li{position:relative;padding-left:20px}
.prose ul li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;background:var(--kg-lime);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.prose a{color:var(--kg-lime-deep);border-bottom:1px solid var(--kg-lime)}

/* ---------- 容器与区块 ---------- */
.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(48px,8vw,104px)}
.section--lead{padding-top:calc(var(--header-h) + clamp(28px,5vw,64px))}
.section--mist{background:var(--kg-mist)}
.section--rind{background:var(--kg-rind);color:var(--kg-white)}
.section--night{background:var(--kg-night);color:var(--kg-white)}

.grid{display:grid;gap:clamp(20px,3vw,36px)}
@media (min-width:900px){
  .grid--halves{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--split{grid-template-columns:minmax(0,62fr) minmax(0,34fr);gap:clamp(28px,4vw,56px)}
}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:11px 22px;
  font-weight:700;font-size:15px;line-height:1.2;letter-spacing:.01em;
  border:1px solid transparent;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
  transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px currentColor}
.btn--lime{background:var(--kg-lime);color:var(--kg-seed)}
.btn--lime:hover{background:#4CAF26}
.btn--gold{background:var(--kg-gold);color:var(--kg-seed)}
.btn--gold:hover{background:#E3A414}
.btn--ghost{background:transparent;border-color:rgba(255,255,255,.42);color:var(--kg-white)}
.btn--ghost:hover{background:rgba(87,194,46,.2);border-color:var(--kg-lime)}
.btn--quiet{background:transparent;border-color:var(--kg-porcelain);color:var(--kg-seed)}
.btn--quiet:hover{border-color:var(--kg-lime);color:var(--kg-lime-deep)}

/* ---------- 通用件 ---------- */
.tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 10px;font-size:12px;font-weight:700;letter-spacing:.06em;
  background:var(--kg-white);color:var(--kg-lime-deep);
  border:1px solid var(--kg-porcelain);
}
.metric{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.03em;line-height:1}
.metric--xl{font-size:clamp(44px,8vw,88px)}
.metric--lg{font-size:clamp(30px,4vw,48px)}
.metric--sm{font-size:20px}

.rule{height:1px;background:var(--kg-porcelain);border:0;margin:0}
.rule--lime{background:linear-gradient(90deg,var(--kg-lime),rgba(87,194,46,0))}

.panel{background:var(--kg-white);border:1px solid var(--kg-porcelain);padding:clamp(20px,3vw,32px)}
.panel--cut{
  border:0;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);
  box-shadow:inset 0 0 0 1px var(--kg-porcelain);
}
.section--rind .panel--cut,.section--night .panel--cut{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}

/* ---------- 面包屑 ---------- */
.breadcrumb{font-size:13px;color:var(--kg-moss)}
.breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.breadcrumb__list li{display:inline-flex;align-items:center}
.breadcrumb__list li+li::before{content:"⁄";margin-inline:8px;color:var(--kg-porcelain)}
.breadcrumb a{border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}
.breadcrumb a:hover{color:var(--kg-lime-deep);border-bottom-color:var(--kg-lime)}

/* ---------- 图片容器 ---------- */
.figure{display:block;margin:0}
.figure__frame{
  position:relative;overflow:hidden;
  background-color:var(--kg-mist);
  background-image:radial-gradient(circle,rgba(87,194,46,.34) 1.5px,transparent 1.6px);
  background-size:18px 18px;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);
}
.figure__frame img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9;background:var(--kg-porcelain)}
.figure--wide .figure__frame img{aspect-ratio:21/9}
.figure--portrait .figure__frame img{aspect-ratio:4/5}
.figure__caption{display:flex;gap:10px;margin-top:10px;font-size:13px;line-height:1.6;color:var(--kg-moss)}
.figure__caption::before{content:"";flex:none;width:14px;height:1px;background:var(--kg-lime);margin-top:.8em}

/* ---------- 跳过链接 ---------- */
.skip-link{
  position:fixed;left:12px;top:-72px;z-index:100;
  padding:10px 16px;background:var(--kg-gold);color:var(--kg-seed);
  font-weight:700;font-size:14px;
  transition:top .16s ease;
}
.skip-link:focus{top:12px}

/* ---------- 头部 ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:80;
  color:var(--kg-white);
  background:linear-gradient(180deg,rgba(14,19,16,.82),rgba(14,19,16,.34) 62%,rgba(14,19,16,0));
  transition:background-color .22s ease,box-shadow .22s ease;
}
.site-header[data-scrolled]{
  background:var(--kg-night);
  box-shadow:0 1px 0 rgba(87,194,46,.45),0 20px 44px -34px rgba(0,0,0,.95);
}
.header-shell{
  max-width:var(--shell);margin-inline:auto;
  min-height:var(--header-h);
  padding:10px var(--gutter);
  display:flex;align-items:center;gap:clamp(10px,2vw,28px);
}

.brand{display:inline-flex;align-items:center;gap:12px;flex:none}
.brand__mark{
  width:38px;height:38px;flex:none;
  background-color:var(--kg-lime);
  background-image:radial-gradient(circle,var(--kg-seed) 1.5px,transparent 1.6px);
  background-size:8px 8px;background-position:2px 2px;
  clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%);
  transition:background-color .2s ease;
}
.brand:hover .brand__mark{background-color:var(--kg-gold)}
.brand__text{display:flex;flex-direction:column;gap:1px;line-height:1.12}
.brand__name{font-weight:900;font-size:17px;letter-spacing:-.01em}
.brand__sub{font-size:10.5px;font-weight:500;letter-spacing:.16em;color:rgba(255,255,255,.62)}

.primary-nav{margin-inline-start:auto}
.primary-nav__list{display:flex;align-items:center;gap:2px}
.primary-nav__link{
  position:relative;
  display:inline-flex;align-items:center;height:40px;padding:0 12px;
  font-size:14.5px;font-weight:500;color:rgba(255,255,255,.78);
  transition:color .18s ease,background-color .18s ease;
}
.primary-nav__link::after{
  content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;
  background:var(--kg-lime);transform:scaleX(0);transform-origin:left;
  transition:transform .18s ease;
}
.primary-nav__link:hover{color:var(--kg-white)}
.primary-nav__link:hover::after{transform:scaleX(1)}
.primary-nav__link[aria-current="page"]{color:var(--kg-white);background:rgba(87,194,46,.16)}
.primary-nav__link[aria-current="page"]::after{transform:scaleX(1)}
.primary-nav__mobile{display:none}
.primary-nav__note{margin-top:8px;font-size:12px;letter-spacing:.02em;color:rgba(255,255,255,.55)}

.header-tools{display:flex;align-items:center;gap:10px;flex:none}
.tool-btn{
  display:inline-flex;align-items:center;gap:8px;
  min-height:44px;padding:8px 14px;
  font-size:13.5px;font-weight:600;letter-spacing:.02em;
  color:var(--kg-white);
  border:1px solid rgba(255,255,255,.26);
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.tool-btn:hover{background:rgba(87,194,46,.22);border-color:var(--kg-lime)}
.tool-btn[aria-expanded="true"]{background:var(--kg-lime);border-color:var(--kg-lime);color:var(--kg-seed)}
.tool-btn__dot{width:8px;height:8px;flex:none;background:currentColor;transform:rotate(45deg)}
.tool-btn__bars{
  display:none;width:16px;height:12px;flex:none;
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
  background-size:100% 2px;background-position:0 0,0 5px,0 10px;background-repeat:no-repeat;
}
.nav-toggle{display:none}

/* 联赛筛选抽屉 */
.league-drawer{
  background:var(--kg-night);
  border-top:1px solid rgba(87,194,46,.35);
  box-shadow:0 30px 60px -40px rgba(0,0,0,.9);
}
.league-drawer[hidden]{display:none}
.league-drawer__inner{
  max-width:var(--shell);margin-inline:auto;
  padding:20px var(--gutter) 24px;
  display:grid;gap:16px 28px;grid-template-columns:1fr;
}
.league-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.league-group__label{font-size:11px;font-weight:600;letter-spacing:.18em;color:rgba(255,255,255,.55)}
.chip-row{display:flex;flex-wrap:wrap;gap:6px}
.chip{
  min-height:38px;padding:7px 15px;
  font-size:13.5px;font-weight:600;
  color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.18);
  transition:background-color .18s ease,color .18s ease,border-color .18s ease;
}
.chip:hover{background:rgba(87,194,46,.22);color:var(--kg-white)}
.chip[aria-pressed="true"]{background:var(--kg-lime);border-color:var(--kg-lime);color:var(--kg-seed)}
.chip:focus-visible{outline:2px solid var(--kg-gold);outline-offset:2px}
.league-drawer__status{
  font-family:var(--font-num);font-size:13px;font-weight:600;
  color:var(--kg-gold);letter-spacing:.02em;
}
.league-drawer__foot{display:flex;justify-content:flex-start}
.league-drawer__foot .btn{width:100%;justify-content:center}

/* 滚动进度 */
.scroll-meter{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.12);overflow:hidden}
.scroll-meter__bar{
  display:block;width:100%;height:100%;
  background:linear-gradient(90deg,var(--kg-lime),var(--kg-gold));
  transform:scaleX(0);transform-origin:left;
  transition:transform .1s linear;
}

/* ---------- 页脚 ---------- */
.site-footer{position:relative;background:var(--kg-rind);color:rgba(255,255,255,.78);overflow:hidden}
.site-footer::before{
  content:"";position:absolute;top:-60px;right:-70px;
  width:min(540px,72vw);height:340px;
  background-image:radial-gradient(circle,rgba(87,194,46,.5) 2px,transparent 2.2px);
  background-size:26px 26px;
  transform:rotate(-12deg);
  opacity:.26;pointer-events:none;
}
.footer-shell{position:relative;max-width:var(--shell);margin-inline:auto;padding:clamp(44px,7vw,80px) var(--gutter) 26px}
.footer-grid{display:grid;grid-template-columns:1fr;gap:clamp(26px,4vw,44px)}
.footer-brand__name{font-family:var(--font-display);font-weight:900;font-size:20px;color:var(--kg-white);letter-spacing:-.01em}
.footer-brand__line{margin-top:10px;max-width:30ch;font-size:14px;line-height:1.7;color:rgba(255,255,255,.7)}
.footer-brand__meta{margin-top:14px;font-family:var(--font-num);font-size:12px;letter-spacing:.06em;color:var(--kg-lime)}
.footer-col__title{font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--kg-gold);margin-bottom:16px;line-height:1.4}
.footer-col__list{display:grid;gap:6px}
.footer-col__list a{
  display:inline-block;padding:3px 0;font-size:14.5px;color:rgba(255,255,255,.74);
  border-bottom:1px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
.footer-col__list a:hover{color:var(--kg-white);border-bottom-color:var(--kg-lime)}
.footer-contact{
  margin-top:clamp(30px,5vw,54px);padding-top:22px;
  border-top:1px solid rgba(255,255,255,.14);
  display:flex;flex-wrap:wrap;gap:10px 32px;
}
.footer-contact__item{display:inline-flex;align-items:baseline;gap:8px;font-size:13.5px;color:rgba(255,255,255,.72)}
.footer-contact__label{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--kg-lime)}
.footer-legal{
  margin-top:22px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.14);
  display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
  font-size:12.5px;color:rgba(255,255,255,.52);
}
.footer-legal [data-year]{font-family:var(--font-num)}

/* ---------- 平板 / 移动 ---------- */
@media (min-width:640px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .league-drawer__foot .btn{width:auto}
}
@media (min-width:900px){
  .footer-grid{grid-template-columns:1.5fr repeat(3,minmax(0,1fr))}
  .league-drawer__inner{grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px 28px}
  .league-drawer__foot{justify-content:flex-end}
}

@media (max-width:899px){
  .nav-toggle{display:inline-flex}
  .tool-btn__bars{display:block}
  .header-tools{margin-inline-start:auto}
  .brand__sub{display:none}

  .primary-nav{
    position:absolute;top:100%;left:0;right:0;
    margin:0;padding:14px var(--gutter) 26px;
    background:var(--kg-rind);
    border-top:1px solid rgba(87,194,46,.3);
    max-height:calc(100vh - var(--header-h));
    overflow-y:auto;
    visibility:hidden;opacity:0;transform:translateY(-10px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
  }
  .primary-nav[data-open]{visibility:visible;opacity:1;transform:none}
  .primary-nav__list{flex-direction:column;align-items:stretch;gap:2px}
  .primary-nav__link{
    height:auto;padding:14px 12px;font-size:16px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .primary-nav__link::after{display:none}
  .primary-nav__link[aria-current="page"]{
    background:rgba(87,194,46,.14);
    box-shadow:inset 3px 0 0 var(--kg-lime);
  }
  .primary-nav__mobile{display:block;margin-top:20px}
  .primary-nav__mobile .btn{width:100%}
  .chip{min-height:44px}
}
@media (max-width:639px){
  .header-cta{display:none}
  .tool-btn{padding:8px 12px;font-size:13px}
}
@media (max-width:519px){
  .tool-btn__label{display:none}
  .brand__mark{width:34px;height:34px}
}

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