/* =========================================================
   BWIN必赢赛事 · 数据看台 — 共享样式 /assets/site.css
   1 重置 · 2 变量 · 3 基础排版 · 4 布局骨架 · 5 通用组件
   6 头部 · 7 页脚 · 8 工具类 · 9 响应式与偏好
   ========================================================= */

/* 1. 重置 */
*,*::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,figcaption,blockquote,dl,dd{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;cursor:pointer}
table{border-collapse:collapse;width:100%}
summary{list-style:none}
summary::-webkit-details-marker{display:none}

/* 2. 变量 */
:root{
  --night:#0B1E2D;          /* 夜场蓝 · 主背景 */
  --ink-green:#10312B;      /* 深墨绿 · 滑轨与页脚 */
  --paper:#F2E9D8;          /* 暖纸色 · 资料卡 */
  --paper-deep:#D8C9AC;     /* 纸色深阶 · 描边与分隔 */
  --cyan:#35E0C8;           /* 荧光青 · 数据高亮 */
  --gold:#E8B04B;           /* 暖金 · 关键数字 */
  --brick:#B8432F;          /* 砖红 · 越位与判罚 */
  --ink:#101418;            /* 墨黑 · 纸上正文 */
  --stand:#8FA3AD;          /* 看台灰 · 次级文字 */
  --turf:#1F4A46;           /* 草皮青灰 · 斑马纹 */
  --text:#E9E2D2;
  --muted:#9FB2BC;
  --line-dark:rgba(216,201,172,.28);
  --line-paper:rgba(16,20,24,.16);
  --font-display:"Arial Narrow","Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --font-body:system-ui,-apple-system,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-num:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --maxw:1320px;
  --gap:clamp(1rem,2vw,1.6rem);
  --shadow-paper:6px 6px 0 rgba(11,30,45,.45),10px 10px 0 rgba(216,201,172,.12);
}

/* 3. 基础排版 */
body{
  min-height:100vh;
  font-family:var(--font-body);
  font-size:16.5px;
  line-height:1.8;
  color:var(--text);
  background-color:var(--night);
  background-image:
    linear-gradient(rgba(143,163,173,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(143,163,173,.06) 1px,transparent 1px);
  background-size:48px 48px,48px 48px;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(120% 80% at 86% -12%,rgba(53,224,200,.15),transparent 62%),
    radial-gradient(90% 70% at -8% 112%,rgba(232,176,75,.10),transparent 60%);
}
h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:800;line-height:1.2;letter-spacing:-.01em;color:inherit}
h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:900;letter-spacing:-.03em}
h2{font-size:1.75rem}
h3{font-size:1.25rem}
h4{font-size:1.05rem}
p{text-wrap:pretty}
.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}
.prose{max-width:72ch;color:var(--text)}
.prose>*+*{margin-top:1em}
.prose ul li{position:relative;padding-left:1.25rem}
.prose ul li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:2px;background:var(--cyan)}
.prose a{color:var(--cyan);border-bottom:1px solid rgba(53,224,200,.45)}
.prose a:hover{border-bottom-color:var(--cyan)}
.prose strong{color:#FFFDF6}
.prose code{font-family:var(--font-num);font-size:.9em;color:#9BF4E6;background:rgba(53,224,200,.12);border-radius:4px;padding:.05em .35em}
#main-content{padding-top:clamp(6rem,10vw,8.5rem)}

/* 4. 布局骨架 */
.shell{width:min(100% - 2.2rem,var(--maxw));margin-inline:auto}
.section{padding-block:clamp(2.4rem,5vw,4.5rem)}
.section--tight{padding-block:clamp(1.4rem,3vw,2.5rem)}
.grid{display:grid;gap:var(--gap)}
.grid--3-9{grid-template-columns:minmax(0,3fr) minmax(0,9fr)}
.grid--4-8{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--cards{grid-template-columns:repeat(auto-fill,minmax(258px,1fr))}
.stack>*+*{margin-top:1rem}
.rule{height:1px;border:0;background:var(--line-dark);margin-block:clamp(1.6rem,4vw,2.6rem)}

/* 5. 通用组件 */
/* 5.1 按钮 */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.7rem 1.15rem;border-radius:999px;
  font-size:.94rem;font-weight:600;line-height:1.2;
  color:var(--paper);background:rgba(255,255,255,.04);
  border:1px solid var(--line-dark);
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}
.btn:hover{transform:translateY(-1px);border-color:var(--cyan);color:var(--cyan)}
.btn--primary{background:var(--cyan);border-color:var(--cyan);color:var(--night);font-weight:800}
.btn--primary:hover{background:#5CF0DA;color:var(--night);border-color:#5CF0DA}
.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:800}
.btn--gold:hover{background:#F3C163;color:var(--ink);border-color:#F3C163}
.btn--paper{background:var(--paper);border-color:var(--paper-deep);color:var(--ink);box-shadow:var(--shadow-paper)}
.btn--paper:hover{background:#FBF5E8;color:var(--ink);border-color:var(--paper-deep)}
.btn--quiet{background:transparent;border-color:transparent;color:var(--muted);padding-inline:.6rem}
.btn--quiet:hover{color:var(--cyan);border-color:transparent}

/* 5.2 标签与字段名 */
.label{
  display:inline-block;
  font-family:var(--font-num);font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--stand);
}
.tag{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.18rem .55rem;border-radius:6px;
  font-size:12px;letter-spacing:.06em;line-height:1.6;
  background:var(--paper-deep);color:var(--ink);
  border:1px solid rgba(16,20,24,.18);
}
.tag--cyan{background:rgba(53,224,200,.14);color:#8DF3E4;border-color:rgba(53,224,200,.5)}
.tag--gold{background:rgba(232,176,75,.16);color:var(--gold);border-color:rgba(232,176,75,.5)}
.tag--brick{background:var(--brick);color:#FFF1EC;border-color:rgba(184,67,47,.8)}
.tag--ghost{background:transparent;color:var(--muted);border-color:var(--line-dark)}
.tag--round{font-family:var(--font-num);font-weight:700;letter-spacing:.04em}

/* 5.3 纸张资料卡 */
.card{
  position:relative;
  padding:1.15rem 1.25rem;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--paper-deep);
  border-radius:4px;
  box-shadow:var(--shadow-paper);
}
.card--dark{
  color:var(--text);
  background:linear-gradient(180deg,rgba(16,49,43,.96),rgba(11,30,45,.96));
  border-color:var(--line-dark);
  box-shadow:6px 6px 0 rgba(0,0,0,.38);
}
.card--flat{box-shadow:none}
.card__head{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:.6rem 1rem;padding-bottom:.6rem;margin-bottom:.85rem;
  border-bottom:1px dashed var(--line-paper);
}
.card--dark .card__head{border-bottom-color:var(--line-dark)}
.card__title{font-size:1.05rem;font-weight:800}
.card__meta{font-family:var(--font-num);font-size:12px;letter-spacing:.06em;color:#6F6552}
.card--dark .card__meta{color:var(--muted)}
.card__note{font-size:.9rem;line-height:1.7;color:#5C5445}
.card--dark .card__note{color:var(--muted)}
.card .label{color:#6F6552}
.card--dark .label{color:var(--stand)}

/* 5.4 统计数字 */
.stat{display:flex;flex-direction:column;gap:.15rem}
.stat__value{
  font-family:var(--font-num);font-variant-numeric:tabular-nums;
  font-size:clamp(1.6rem,3vw,2.3rem);font-weight:700;line-height:1.05;
  color:var(--cyan);letter-spacing:-.02em;
}
.stat__value--gold{color:var(--gold)}
.stat__value--brick{color:var(--brick)}
.card .stat__value{color:#0F5F55}
.card .stat__value--gold{color:#9A6D12}
.card .stat__value--brick{color:var(--brick)}
.stat__unit{font-size:.88rem;color:var(--muted);margin-left:.3rem}
.card .stat__unit{color:#6F6552}
.stat__label{font-family:var(--font-num);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.card .stat__label{color:#6F6552}

/* 5.5 数据表 */
.data-table{font-size:.92rem;border:1px solid var(--line-dark)}
.data-table caption{
  caption-side:top;text-align:left;padding-bottom:.5rem;
  font-family:var(--font-num);font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--stand);
}
.data-table th,.data-table td{padding:.6rem .7rem;text-align:left;border-bottom:1px solid var(--line-dark);vertical-align:middle}
.data-table thead th{
  font-family:var(--font-num);font-size:12px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--stand);
}
.data-table .num,.data-table td.num,.data-table th.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right}
.data-table tbody tr:nth-child(even){background:rgba(31,74,70,.42)}
.data-table tbody tr:hover{background:rgba(53,224,200,.10)}
.card .data-table{border-color:var(--line-paper);color:var(--ink)}
.card .data-table th,.card .data-table td{border-bottom-color:var(--line-paper)}
.card .data-table thead th{color:#6F6552}
.card .data-table tbody tr:nth-child(even){background:rgba(16,20,24,.055)}
.card .data-table tbody tr:hover{background:rgba(16,49,43,.12)}

/* 5.6 时间轴 */
.timeline{position:relative;padding-left:1.4rem}
.timeline::before{content:"";position:absolute;left:4px;top:.5rem;bottom:.5rem;width:2px;background:linear-gradient(180deg,var(--cyan),rgba(53,224,200,.05))}
.timeline__item{position:relative;padding:.45rem 0}
.timeline__item::before{
  content:"";position:absolute;left:-1.4rem;top:1.05rem;
  width:10px;height:10px;border-radius:50%;
  background:var(--night);border:2px solid var(--cyan);
}
.timeline__item[data-state="done"]::before{background:var(--cyan)}
.timeline__item[data-state="warn"]::before{border-color:var(--brick);background:var(--brick)}
.timeline__round{font-family:var(--font-num);font-size:.82rem;letter-spacing:.12em;color:var(--gold)}

/* 5.7 折叠详情 */
.detail{
  border:1px solid var(--line-dark);border-radius:10px;
  background:rgba(16,49,43,.45);
  overflow:hidden;
}
.detail+.detail{margin-top:.5rem}
.detail>summary{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.78rem 1rem;font-weight:700;cursor:pointer;
}
.detail>summary::after{content:"+";font-family:var(--font-num);color:var(--cyan);font-size:1.05rem}
.detail[open]>summary::after{content:"−"}
.detail>summary:hover{background:rgba(53,224,200,.08)}
.detail__body{padding:.2rem 1rem 1rem;border-top:1px dashed var(--line-dark)}
.card .detail{background:rgba(16,20,24,.05);border-color:var(--line-paper)}
.card .detail>summary::after{color:#0F5F55}

/* 5.8 标签页（主客场切换） */
.tabs{
  display:inline-flex;gap:.35rem;padding:.3rem;
  max-width:100%;overflow-x:auto;
  border:1px solid var(--line-dark);border-radius:999px;
  background:rgba(11,30,45,.6);
}
.tab{
  padding:.42rem .9rem;border-radius:999px;white-space:nowrap;
  font-size:.86rem;color:var(--muted);
  transition:background .18s ease,color .18s ease;
}
.tab:hover{color:var(--paper)}
.tab[aria-selected="true"]{background:var(--cyan);color:var(--night);font-weight:700}
[role="tabpanel"][hidden]{display:none}

/* 5.9 章节滑轨 */
.chapter-rail{display:flex;flex-direction:column;gap:.55rem;position:sticky;top:120px}
.chapter-link{
  font-family:var(--font-num);font-size:12px;letter-spacing:.14em;
  color:var(--stand);padding-left:.6rem;
  border-left:2px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
.chapter-link:hover{color:var(--paper)}
.chapter-link[aria-current="true"]{color:var(--cyan);border-left-color:var(--cyan)}

/* 5.10 面包屑与页头 */
.breadcrumbs{font-size:.8rem;color:var(--muted)}
.breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}
.breadcrumbs__item{display:flex;align-items:center;gap:.45rem}
.breadcrumbs__sep{color:var(--stand);opacity:.6}
.breadcrumbs__link{color:var(--paper-deep)}
.breadcrumbs__link:hover{color:var(--cyan)}
.breadcrumbs__current{color:var(--cyan);font-weight:600}
.page-head{position:relative;padding-block:clamp(1.6rem,4vw,2.6rem) clamp(1rem,2vw,1.4rem);border-bottom:1px solid var(--line-dark)}
.page-head__eyebrow{font-family:var(--font-num);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.page-head__title{margin-top:.5rem}
.page-head__lead{max-width:62ch;margin-top:.8rem;color:var(--muted)}
.page-head__watermark{
  position:absolute;right:0;top:-.2rem;
  font-family:var(--font-num);font-size:clamp(3rem,9vw,7rem);line-height:1;
  color:rgba(216,201,172,.08);pointer-events:none;user-select:none;
}

/* 5.11 图片容器 */
.figure{
  position:relative;display:block;overflow:hidden;
  background:var(--ink-green);
  border:1px solid var(--line-dark);
  border-radius:3px;
}
.figure__media{
  width:100%;aspect-ratio:16/9;object-fit:cover;
  filter:saturate(.72) contrast(1.05) brightness(.94);
}
.figure__mesh{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(53,224,200,.14) 1px,transparent 1px),
    linear-gradient(90deg,rgba(53,224,200,.14) 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 78%);
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.85),transparent 78%);
}
.figure__tag{position:absolute;left:0;top:0;margin:.7rem;z-index:2}
.figure__cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:1.6rem .9rem .7rem;
  font-size:.82rem;color:var(--paper-deep);
  background:linear-gradient(180deg,transparent,rgba(11,30,45,.88));
}
.figure--wide .figure__media{aspect-ratio:21/9}
.figure--tall .figure__media{aspect-ratio:4/5}

/* 6. 头部 */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:60;
  padding:14px 0;
  pointer-events:none;
  transition:padding .2s ease;
}
.site-header__island{
  pointer-events:auto;
  display:flex;align-items:center;gap:14px;
  width:min(100% - 2rem,var(--maxw));
  margin-inline:auto;
  padding:9px 12px 9px 14px;
  border:1px solid rgba(216,201,172,.32);
  border-radius:999px;
  background:rgba(11,30,45,.86);
  box-shadow:0 12px 32px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.04);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  transition:padding .2s ease,background .2s ease,border-color .2s ease;
}
.site-header[data-scrolled] .site-header__island{
  padding-block:6px;
  background:rgba(9,24,36,.95);
  border-color:rgba(53,224,200,.28);
}
.site-header[data-scrolled] .brand__sub,
.site-header[data-scrolled] .season-chip{display:none}

.brand{display:flex;align-items:center;gap:.6rem;flex:0 0 auto;color:var(--paper)}
.brand__mark{
  display:grid;place-items:center;
  width:34px;height:34px;border-radius:9px;
  background:var(--gold);color:var(--ink);
  font-family:var(--font-num);font-size:13px;font-weight:700;letter-spacing:.02em;
  box-shadow:inset 0 0 0 1px rgba(16,20,24,.28);
}
.brand__text{display:flex;flex-direction:column;line-height:1.15}
.brand__name{font-family:var(--font-display);font-size:15px;font-weight:800;letter-spacing:.02em}
.brand__sub{font-family:var(--font-num);font-size:10.5px;letter-spacing:.26em;color:var(--stand)}
.brand--footer .brand__mark{background:var(--cyan);color:var(--night)}
.brand--footer .brand__name{font-size:16px}
.brand--footer .brand__sub{color:var(--gold)}

.season-chip{
  display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto;
  padding:.26rem .7rem;border-radius:999px;
  border:1px dashed rgba(216,201,172,.35);
  font-family:var(--font-num);font-size:11.5px;letter-spacing:.06em;
  color:var(--paper-deep);white-space:nowrap;
}
.season-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 3px rgba(53,224,200,.18)}

.site-nav{
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
  flex:1 1 auto;min-width:0;
}
.site-nav__list{display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}
.site-nav__list::-webkit-scrollbar{display:none}
.site-nav__item{flex:0 0 auto}
.site-nav__link{
  display:block;padding:.5rem .9rem;border-radius:999px;
  font-size:14px;color:#CBD6DA;white-space:nowrap;
  border:1px solid transparent;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.site-nav__link:hover{background:rgba(53,224,200,.12);color:var(--paper)}
.site-nav__link[aria-current="page"]{
  background:var(--cyan);border-color:var(--cyan);
  color:var(--night);font-weight:700;
}
.nav-actions{display:flex;gap:6px;flex:0 0 auto}
.nav-action{
  padding:.42rem .7rem;border-radius:8px;
  border:1px dashed rgba(216,201,172,.42);
  font-family:var(--font-num);font-size:12px;letter-spacing:.08em;
  color:var(--paper-deep);white-space:nowrap;
  transition:color .18s ease,border-color .18s ease,border-style .18s ease;
}
.nav-action:hover{color:var(--gold);border-color:var(--gold);border-style:solid}

.nav-toggle{
  display:none;align-items:center;gap:.55rem;flex:0 0 auto;
  margin-left:auto;padding:.55rem .85rem;border-radius:999px;
  border:1px solid var(--line-dark);
  background:rgba(16,49,43,.75);color:var(--paper);
  font-size:.85rem;
}
.nav-toggle__bars{position:relative;display:block;width:16px;height:12px}
.nav-toggle__bars::before,
.nav-toggle__bars::after{
  content:"";position:absolute;left:0;right:0;height:2px;border-radius:2px;
  background:currentColor;transition:transform .2s ease,box-shadow .2s ease;
}
.nav-toggle__bars::before{top:0;box-shadow:0 5px 0 currentColor}
.nav-toggle__bars::after{top:10px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(5px) rotate(45deg);box-shadow:none}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-5px) rotate(-45deg)}

.nav-scrim{display:none}

.read-progress{
  position:fixed;inset:0 0 auto 0;z-index:70;height:3px;
  background:rgba(216,201,172,.12);pointer-events:none;
}
.read-progress__fill{
  display:block;height:100%;width:100%;
  transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--gold),var(--cyan));
}

/* 7. 页脚 */
.site-footer{
  position:relative;
  margin-top:clamp(3rem,6vw,6rem);
  color:var(--text);
  background:linear-gradient(180deg,var(--ink-green),#0A2320 58%,#081B18);
  border-top:1px solid rgba(216,201,172,.22);
}
.site-footer::before{
  content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:linear-gradient(90deg,var(--gold),var(--cyan) 42%,transparent);
}
.site-footer__inner{width:min(100% - 2.2rem,var(--maxw));margin-inline:auto;padding-block:clamp(2.2rem,5vw,3.6rem)}
.site-footer__grid{
  display:grid;gap:clamp(1.4rem,3vw,2.6rem);
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.85fr));
}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem}
.footer-brand__tag{
  font-family:var(--font-num);font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);
}
.footer-line{max-width:46ch;font-size:.9rem;line-height:1.75;color:var(--muted)}
.footer-update{max-width:46ch;font-size:.86rem;line-height:1.75;color:#7F949E}
.footer-col__title{
  font-family:var(--font-num);font-size:11.5px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--stand);
  margin-bottom:.9rem;
}
.footer-col__list{display:flex;flex-direction:column;gap:.5rem}
.footer-col__item{line-height:1.5}
.footer-col__link{
  display:inline-block;font-size:.94rem;color:var(--paper-deep);
  border-bottom:1px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
.footer-col__link:hover{color:var(--cyan);border-bottom-color:var(--cyan)}
.site-footer__bottom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:.6rem 1.6rem;
  margin-top:clamp(1.6rem,4vw,2.6rem);
  padding-top:1.2rem;
  border-top:1px dashed rgba(216,201,172,.24);
  font-size:.84rem;color:var(--muted);
}
.footer-contact{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem}
.footer-contact__text{font-family:var(--font-num);letter-spacing:.02em;color:var(--paper)}
.footer-legal{font-family:var(--font-num);letter-spacing:.06em}

/* 8. 工具类 */
.visually-hidden{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px;
}
.skip-link{
  position:fixed;left:50%;top:-80px;z-index:90;
  transform:translateX(-50%);
  padding:.6rem 1.1rem;border-radius:0 0 10px 10px;
  background:var(--cyan);color:var(--night);font-weight:700;font-size:.9rem;
  transition:top .18s ease;
}
.skip-link:focus{top:0}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
html.reveal-ready [data-reveal]{
  opacity:0;transform:translateY(8px);
  transition:opacity .24s ease-out,transform .24s ease-out;
}
html.reveal-ready [data-reveal].is-in{opacity:1;transform:none}

/* 9. 响应式与偏好 */
@media (max-width:1279px){
  .season-chip{display:none}
}
@media (max-width:1080px){
  .site-header__island{gap:10px}
  .nav-toggle{display:inline-flex}
  .site-nav{
    position:fixed;left:10px;right:10px;bottom:10px;
    flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;
    max-height:calc(100dvh - 22px);overflow-y:auto;
    padding:14px;border-radius:22px;
    border:1px solid rgba(216,201,172,.3);
    background:rgba(16,49,43,.97);
    box-shadow:0 -16px 44px rgba(0,0,0,.55);
    transform:translateY(130%);opacity:0;visibility:hidden;pointer-events:none;
    transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .2s ease,visibility .2s;
  }
  .site-nav[data-open]{transform:none;opacity:1;visibility:visible;pointer-events:auto}
  .site-nav__list{flex:1 1 auto;flex-wrap:wrap;gap:8px;overflow:visible}
  .site-nav__link{
    padding:.6rem .95rem;
    border-color:rgba(216,201,172,.24);
    background:rgba(11,30,45,.65);
  }
  .nav-actions{flex-wrap:wrap;gap:8px;padding-top:.4rem;border-top:1px dashed rgba(216,201,172,.24)}
  .nav-action{padding:.5rem .8rem}
  .nav-scrim{
    display:block;position:fixed;inset:0;z-index:-1;
    background:rgba(4,12,18,.65);
    opacity:0;visibility:hidden;
    transition:opacity .2s ease,visibility .2s;
  }
  .site-header[data-nav-open] .nav-scrim{opacity:1;visibility:visible}
}
@media (max-width:900px){
  .grid--3-9,.grid--4-8,.grid--3{grid-template-columns:minmax(0,1fr)}
  .grid--2{grid-template-columns:minmax(0,1fr)}
  .site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-brand{grid-column:1 / -1}
  .chapter-rail{position:static;flex-direction:row;flex-wrap:wrap;gap:.8rem;top:auto}
}
@media (max-width:620px){
  body{font-size:16px}
  .shell,.site-footer__inner{width:min(100% - 1.6rem,var(--maxw))}
  .site-footer__grid{grid-template-columns:minmax(0,1fr)}
  .site-footer__bottom{flex-direction:column;align-items:flex-start}
  .card{padding:1rem 1.05rem;box-shadow:4px 4px 0 rgba(11,30,45,.45)}
  .page-head__watermark{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  html.reveal-ready [data-reveal]{opacity:1;transform:none}
}
