/* =========================================================
   江南JN体育 — 共享样式表 /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,h6,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
img,svg,video,canvas{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
table{border-collapse:collapse;width:100%}
[hidden]{display:none !important}

/* ---------- 2. 设计变量 ---------- */
:root{
  --jn-dai:#1F3A3D;
  --jn-mo:#243B32;
  --jn-ink:#12181A;
  --jn-flame:#FF4D2E;
  --jn-cinnabar:#D94F2A;
  --jn-neon:#7FE0D4;
  --jn-paper:#F4EFE6;
  --jn-gray:#C9CDD1;
  --jn-gold:#D9B56D;
  --jn-plum:#3B2A4A;
  --jn-line:3px;
  --jn-shell:1240px;
  --jn-gap:clamp(1rem,2.2vw,1.75rem);
  --jn-pad:clamp(1.15rem,3vw,2.25rem);
  --jn-shadow-hard:8px 8px 0 var(--jn-ink);
  --jn-dur:220ms;
  --jn-font-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC","Noto Sans CJK SC",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --jn-font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono","Courier New",monospace;
}

/* ---------- 3. 中文排版基础 ---------- */
body{
  background-color:var(--jn-paper);
  background-image:
    linear-gradient(90deg,rgba(31,58,61,.045) 1px,transparent 1px),
    linear-gradient(rgba(31,58,61,.045) 1px,transparent 1px);
  background-size:92px 92px;
  color:var(--jn-ink);
  font-family:var(--jn-font-sans);
  font-size:clamp(1rem,.96rem+.2vw,1.0625rem);
  line-height:1.8;
  letter-spacing:.012em;
  overflow-wrap:anywhere;
}
h1,h2,h3,h4,h5,h6{font-weight:900;line-height:1.14;letter-spacing:-.02em}
p{text-wrap:pretty}
strong{font-weight:800}
[id]{scroll-margin-top:130px}
:focus-visible{outline:3px dashed var(--jn-flame);outline-offset:3px}

/* ---------- 4. 容器与章节 ---------- */
.shell{width:min(100% - 2.25rem,var(--jn-shell));margin-inline:auto}
.shell--narrow{width:min(100% - 2.25rem,820px)}
.section{position:relative;padding-block:clamp(2.75rem,6vw,5.5rem)}
.section--paper{background:var(--jn-paper)}
.section--dai{background:var(--jn-dai);color:var(--jn-paper)}
.section--mo{background:var(--jn-mo);color:var(--jn-paper)}
.section--ink{background:var(--jn-ink);color:var(--jn-paper)}
.section--edge{border-top:5px solid var(--jn-ink);border-bottom:5px solid var(--jn-ink)}
.section__head{display:grid;gap:.75rem;margin-bottom:clamp(1.5rem,3vw,2.5rem)}

/* ---------- 5. 文字层级 ---------- */
.display-title{font-size:clamp(3.2rem,10vw,8.5rem);line-height:.94;font-weight:900;letter-spacing:-.035em}
.section-title{font-size:clamp(1.8rem,4.5vw,3.8rem);line-height:1.04;letter-spacing:-.028em}
.sub-title{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:800;letter-spacing:-.012em;line-height:1.35}
.lede{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.78;color:var(--jn-mo)}
.note{font-family:var(--jn-font-mono);font-size:.8125rem;line-height:1.72;letter-spacing:.04em;color:var(--jn-mo)}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--jn-font-mono);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--jn-mo)}
.eyebrow::before{content:"";width:14px;height:14px;background:var(--jn-flame);box-shadow:3px 3px 0 var(--jn-ink)}
.index-label{font-family:var(--jn-font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--jn-mo)}
.mono-num{font-family:var(--jn-font-mono);font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.section--dai .lede,.section--mo .lede,.section--ink .lede{color:rgba(244,239,230,.86)}
.section--dai .note,.section--mo .note,.section--ink .note{color:rgba(127,224,212,.92)}
.section--dai .eyebrow,.section--mo .eyebrow,.section--ink .eyebrow{color:var(--jn-neon)}
.section--dai .index-label,.section--mo .index-label,.section--ink .index-label{color:rgba(244,239,230,.72)}

/* ---------- 6. 骨架与工具 ---------- */
.grid{display:grid;gap:var(--jn-gap)}
.grid--2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid--3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.grid--sidebar{grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){
  .grid--sidebar{grid-template-columns:minmax(190px,.34fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem)}
}
.stack>*+*{margin-top:var(--jn-gap)}
.cluster{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.rule{height:3px;border:0;background:var(--jn-ink);margin-block:1.5rem}
.rule--dashed{height:0;border-top:2px dashed var(--jn-gray);background:none}
.section--dai .rule,.section--mo .rule,.section--ink .rule{background:rgba(244,239,230,.4)}

/* ---------- 7. 按钮 ---------- */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.5rem;border:var(--jn-line) solid var(--jn-ink);font-weight:800;font-size:1rem;letter-spacing:.02em;box-shadow:6px 6px 0 var(--jn-ink);transition:transform var(--jn-dur),box-shadow var(--jn-dur),background var(--jn-dur),color var(--jn-dur)}
.btn:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--jn-ink)}
.btn:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--jn-ink)}
.btn--primary{background:var(--jn-flame);color:var(--jn-ink)}
.btn--quiet{background:var(--jn-paper);color:var(--jn-ink)}
.btn--ghost{background:transparent;color:var(--jn-paper);border-color:var(--jn-paper);box-shadow:6px 6px 0 rgba(244,239,230,.3)}
.btn--ghost:hover{box-shadow:9px 9px 0 rgba(244,239,230,.45)}

/* ---------- 8. 面包屑 ---------- */
.breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem;padding-block:.85rem;font-family:var(--jn-font-mono);font-size:.75rem;letter-spacing:.08em;color:var(--jn-mo)}
.breadcrumb__item{display:inline-flex;align-items:center;gap:.5rem}
.breadcrumb__item+.breadcrumb__item::before{content:"/";color:var(--jn-gray)}
.breadcrumb a{border-bottom:2px solid transparent;transition:border-color var(--jn-dur),color var(--jn-dur)}
.breadcrumb a:hover,.breadcrumb a:focus-visible{border-bottom-color:var(--jn-flame);color:var(--jn-cinnabar)}
.breadcrumb__item[aria-current="page"]{color:var(--jn-ink);font-weight:700}

/* ---------- 9. 记分板 / 数据卡 ---------- */
.data-card{display:flex;flex-direction:column;gap:.8rem;padding:var(--jn-pad);background:var(--jn-paper);border:var(--jn-line) solid var(--jn-ink);box-shadow:var(--jn-shadow-hard)}
.data-card--dark{background:var(--jn-dai);color:var(--jn-paper)}
.data-card__head{display:flex;justify-content:space-between;gap:1rem;font-family:var(--jn-font-mono);font-size:.75rem;font-weight:600;letter-spacing:.1em;color:var(--jn-mo)}
.data-card--dark .data-card__head{color:var(--jn-neon)}
.data-card__label{font-size:.9375rem;font-weight:700;letter-spacing:.01em}
.data-card__value{font-family:var(--jn-font-mono);font-weight:700;font-size:clamp(2rem,5vw,3.2rem);line-height:1;color:var(--jn-ink);font-variant-numeric:tabular-nums}
.data-card--dark .data-card__value{color:var(--jn-paper)}
.data-card__foot{font-size:.875rem;color:var(--jn-mo)}
.data-card--dark .data-card__foot{color:rgba(244,239,230,.75)}
.stat{display:flex;flex-direction:column;gap:.35rem;padding-left:.9rem;border-left:4px solid var(--jn-flame)}
.stat__value{font-family:var(--jn-font-mono);font-weight:700;font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1;color:var(--jn-ink);font-variant-numeric:tabular-nums}
.stat__label{font-family:var(--jn-font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.12em;color:var(--jn-mo)}
.section--dai .stat__value,.section--mo .stat__value,.section--ink .stat__value{color:var(--jn-paper)}
.section--dai .stat__label,.section--mo .stat__label,.section--ink .stat__label{color:var(--jn-neon)}

/* ---------- 10. 徽章 ---------- */
.tag{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border:2px solid var(--jn-ink);background:var(--jn-paper);color:var(--jn-ink);font-family:var(--jn-font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.1em}
.tag--flame{background:var(--jn-flame);border-color:var(--jn-flame)}
.tag--gold{background:var(--jn-gold);border-color:var(--jn-gold)}
.tag--neon{background:var(--jn-dai);border-color:var(--jn-neon);color:var(--jn-neon)}

/* ---------- 11. 表格 ---------- */
.table-wrap{overflow-x:auto;border:var(--jn-line) solid var(--jn-ink);box-shadow:var(--jn-shadow-hard);background:var(--jn-paper)}
.table-basic{font-size:.9375rem;color:var(--jn-ink)}
.table-basic th,.table-basic td{padding:.7rem .9rem;text-align:left;border-bottom:2px solid var(--jn-gray)}
.table-basic thead th{background:var(--jn-dai);color:var(--jn-paper);font-family:var(--jn-font-mono);font-size:.75rem;font-weight:600;letter-spacing:.1em;white-space:nowrap}
.table-basic td.is-mono{font-family:var(--jn-font-mono);font-weight:600;font-variant-numeric:tabular-nums}
.table-basic tbody tr:last-child td{border-bottom:0}

/* ---------- 12. 折叠面板 ---------- */
.panel{border:var(--jn-line) solid var(--jn-ink);background:var(--jn-paper);box-shadow:var(--jn-shadow-hard)}
.panel+.panel{margin-top:1rem}
.panel__head{margin:0}
.panel__trigger{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;width:100%;padding:1rem 1.15rem;text-align:left;font-weight:800;font-size:1.0625rem;background:var(--jn-paper);color:var(--jn-ink);transition:background var(--jn-dur),color var(--jn-dur)}
.panel__trigger[aria-expanded="true"]{background:var(--jn-flame)}
.panel__icon{font-family:var(--jn-font-mono);font-weight:700;line-height:1.4}
.panel__body{padding:0 1.15rem 1.15rem;font-size:.9375rem;line-height:1.85;color:var(--jn-mo);border-top:2px dashed var(--jn-gray);padding-top:1rem;margin-top:.25rem}

/* ---------- 13. 标签页 ---------- */
.tabs{display:grid;gap:1.25rem}
.tabs__list{display:flex;flex-wrap:wrap;border:var(--jn-line) solid var(--jn-ink);background:var(--jn-paper);box-shadow:var(--jn-shadow-hard)}
.tabs__tab{flex:1 1 auto;padding:.8rem 1.15rem;border-right:2px solid var(--jn-ink);font-family:var(--jn-font-mono);font-size:.8125rem;font-weight:600;letter-spacing:.1em;color:var(--jn-mo);transition:background var(--jn-dur),color var(--jn-dur)}
.tabs__tab:last-child{border-right:0}
.tabs__tab[aria-selected="true"]{background:var(--jn-flame);color:var(--jn-ink)}
.tabs__panel{padding-left:1.1rem;border-left:5px solid var(--jn-flame)}

/* ---------- 14. 图片容器（页面阶段放置占位） ---------- */
.media-frame{position:relative;overflow:hidden;border:var(--jn-line) solid var(--jn-ink);box-shadow:var(--jn-shadow-hard);background-color:var(--jn-dai);background-image:repeating-linear-gradient(135deg,rgba(127,224,212,.16) 0 12px,rgba(31,58,61,.92) 12px 24px)}
.media-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(1.06) brightness(.96)}
.media-frame--wide{aspect-ratio:16/9}
.media-frame--tall{aspect-ratio:3/4}
.media-frame--square{aspect-ratio:1/1}
.media-frame--contain img{object-fit:contain}
.media-frame__tag{position:absolute;top:0;left:0;padding:.35rem .7rem;background:var(--jn-flame);color:var(--jn-ink);border-right:var(--jn-line) solid var(--jn-ink);border-bottom:var(--jn-line) solid var(--jn-ink);font-family:var(--jn-font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.1em}
.media-frame__caption{position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1rem .85rem;background:linear-gradient(180deg,rgba(18,24,26,0),rgba(18,24,26,.9));color:var(--jn-paper);font-family:var(--jn-font-mono);font-size:.8125rem;letter-spacing:.04em}

/* ---------- 15. 装饰 ---------- */
.ink-wash{position:absolute;pointer-events:none;background:radial-gradient(circle at 35% 35%,rgba(59,42,74,.55),rgba(31,58,61,0) 68%);filter:blur(6px)}
.neon-line{height:3px;background:linear-gradient(90deg,var(--jn-neon),rgba(127,224,212,0))}

/* ---------- 16. 页头：框架式导航 ---------- */
.skip-link{position:absolute;left:1rem;top:-220px;z-index:200;padding:.7rem 1.1rem;background:var(--jn-flame);color:var(--jn-ink);border:var(--jn-line) solid var(--jn-ink);font-family:var(--jn-font-mono);font-size:.8125rem;font-weight:700;letter-spacing:.08em;transition:top var(--jn-dur)}
.skip-link:focus{position:fixed;top:.75rem}

.site-header{position:sticky;top:0;z-index:60;background:var(--jn-dai);color:var(--jn-paper);border-bottom:5px solid var(--jn-ink);box-shadow:0 10px 0 rgba(18,24,26,.12)}
.site-header::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(115deg,rgba(255,77,46,.07) 0 2px,transparent 2px 11px)}
.header-frame{position:relative;z-index:1;padding-block:clamp(.85rem,1.8vw,1.35rem) 0}
.header-masthead{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(.7rem,1.6vw,1.6rem)}

.brand{display:flex;align-items:center;gap:.85rem;margin-right:auto;padding:.2rem 0}
.brand__mark{display:grid;place-items:center;width:2.9rem;height:2.9rem;background:var(--jn-flame);color:var(--jn-ink);border:3px solid var(--jn-paper);font-family:var(--jn-font-mono);font-size:1.05rem;font-weight:700;letter-spacing:.04em;box-shadow:4px 4px 0 rgba(18,24,26,.6)}
.brand__text{display:flex;flex-direction:column;gap:.15rem}
.brand__name{font-size:1.2rem;font-weight:900;letter-spacing:.02em;line-height:1.2}
.brand__tagline{font-family:var(--jn-font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.1em;color:var(--jn-neon);line-height:1.4}

.status-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.4rem .7rem;border:2px solid rgba(244,239,230,.45);background:rgba(18,24,26,.3);color:var(--jn-paper);font-family:var(--jn-font-mono);font-size:.75rem;font-weight:600;letter-spacing:.06em}
.status-badge__dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--jn-neon);box-shadow:0 0 0 3px rgba(127,224,212,.22)}
@media (prefers-reduced-motion:no-preference){
  .status-badge__dot{animation:jn-pulse 2.6s ease-in-out infinite}
}
@keyframes jn-pulse{0%,100%{opacity:1}50%{opacity:.35}}

.header-utility{display:flex;align-items:center;gap:.8rem;font-family:var(--jn-font-mono);font-size:.75rem;font-weight:600;letter-spacing:.08em}
.header-utility__label{color:var(--jn-gold)}
.utility-list{display:flex;gap:.9rem}
.utility-list a{padding-bottom:2px;border-bottom:2px solid transparent;transition:border-color var(--jn-dur),color var(--jn-dur)}
.utility-list a:hover,.utility-list a:focus-visible{border-bottom-color:var(--jn-flame);color:var(--jn-flame)}

.nav-toggle{display:none;align-items:center;gap:.55rem;padding:.55rem .85rem;background:var(--jn-flame);color:var(--jn-ink);border:3px solid var(--jn-ink);box-shadow:4px 4px 0 rgba(18,24,26,.6);font-family:var(--jn-font-mono);font-size:.8125rem;font-weight:700;letter-spacing:.1em;transition:background var(--jn-dur),color var(--jn-dur)}
.nav-toggle__bars{display:inline-block;width:18px;height:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}
.nav-toggle[aria-expanded="true"]{background:var(--jn-paper);color:var(--jn-ink)}
.nav-toggle:hover{background:var(--jn-cinnabar);color:var(--jn-paper)}

.site-nav{margin-top:clamp(.7rem,1.6vw,1.2rem);border-top:3px solid rgba(244,239,230,.28)}
.site-nav__list{display:flex;flex-wrap:wrap}
.site-nav__item{display:flex;flex:1 1 160px;min-width:0}
.site-nav__link{display:flex;align-items:baseline;gap:.6rem;flex:1 1 auto;padding:.85rem 1rem;border-right:2px solid rgba(244,239,230,.18);font-size:1rem;font-weight:800;letter-spacing:.01em;transition:background var(--jn-dur),color var(--jn-dur)}
.site-nav__item:first-child .site-nav__link{border-left:2px solid rgba(244,239,230,.18)}
.site-nav__num{font-family:var(--jn-font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.1em;color:var(--jn-neon)}
.site-nav__label{min-width:0}
.site-nav__link:hover{background:var(--jn-mo);color:var(--jn-paper)}
.site-nav__link[aria-current="page"]{background:var(--jn-flame);color:var(--jn-ink)}
.site-nav__link[aria-current="page"] .site-nav__num{color:var(--jn-ink)}
.site-nav__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.5rem;padding:.5rem 1rem .75rem;border-top:2px dashed rgba(244,239,230,.22);font-family:var(--jn-font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.1em;color:rgba(244,239,230,.7)}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:120;background:rgba(18,24,26,.35);pointer-events:none}
.scroll-progress__bar{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--jn-neon),var(--jn-flame))}

/* ---------- 17. 页脚：档案式层级 ---------- */
.site-footer{position:relative;overflow:hidden;background:var(--jn-dai);color:var(--jn-paper);border-top:6px solid var(--jn-ink)}
.site-footer::before{content:"";position:absolute;right:-15%;bottom:-45%;width:80%;height:125%;background:radial-gradient(circle at 35% 35%,rgba(59,42,74,.85),rgba(31,58,61,0) 68%);pointer-events:none}
.site-footer::after{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--jn-flame),var(--jn-cinnabar),rgba(217,181,109,.6));pointer-events:none}
.footer-frame{position:relative;z-index:1;padding-block:clamp(2.5rem,6vw,4.5rem) 1.75rem}
.footer-lead{display:grid;gap:.9rem;max-width:58ch}
.footer-kicker{font-family:var(--jn-font-mono);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--jn-neon)}
.footer-title{position:relative;display:inline-block;font-size:clamp(2rem,5vw,3.4rem);font-weight:900;letter-spacing:-.025em;padding-bottom:.4rem}
.footer-title::after{content:"";position:absolute;left:0;bottom:0;width:78px;height:6px;background:var(--jn-flame)}
.footer-summary{color:rgba(244,239,230,.82);font-size:1rem;line-height:1.85}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(1.5rem,3vw,2.5rem);margin-top:clamp(2rem,4vw,3rem);padding-top:clamp(1.5rem,3vw,2.25rem);border-top:2px solid rgba(244,239,230,.22)}
.footer-col__title{margin-bottom:.9rem;font-family:var(--jn-font-mono);font-size:.75rem;font-weight:700;letter-spacing:.14em;color:var(--jn-gold)}
.footer-contact li,.footer-links li,.footer-legal li{padding:.35rem 0;font-size:.9375rem}
.footer-contact__label{display:block;font-family:var(--jn-font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.12em;color:rgba(127,224,212,.85)}
.footer-contact__value{font-family:var(--jn-font-mono);font-weight:600;letter-spacing:.02em;color:var(--jn-paper);overflow-wrap:anywhere}
.footer-links a{padding-bottom:2px;border-bottom:2px solid rgba(127,224,212,.35);transition:border-color var(--jn-dur),color var(--jn-dur)}
.footer-links a:hover,.footer-links a:focus-visible{border-bottom-color:var(--jn-flame);color:var(--jn-flame)}
.footer-legal li{font-family:var(--jn-font-mono);font-size:.8125rem;letter-spacing:.06em;color:rgba(244,239,230,.78)}
.copy-btn{margin-left:.5rem;padding:.15rem .45rem;border:2px solid rgba(127,224,212,.5);color:var(--jn-neon);font-family:var(--jn-font-mono);font-size:.6875rem;font-weight:700;letter-spacing:.08em;vertical-align:middle;transition:background var(--jn-dur),color var(--jn-dur),border-color var(--jn-dur)}
.copy-btn:hover,.copy-btn:focus-visible{background:var(--jn-neon);color:var(--jn-ink)}
.copy-btn.is-copied{background:var(--jn-flame);border-color:var(--jn-flame);color:var(--jn-ink)}
.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;margin-top:clamp(1.5rem,3vw,2.5rem);padding-top:1.1rem;border-top:2px dashed rgba(244,239,230,.28);font-family:var(--jn-font-mono);font-size:.75rem;font-weight:600;letter-spacing:.06em;color:rgba(244,239,230,.72)}
.footer-base__path{color:var(--jn-neon)}

/* ---------- 18. 显现动效 ---------- */
html.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
html.js [data-reveal].is-visible{opacity:1;transform:none}

/* ---------- 19. 响应式：平板与手机 ---------- */
@media (max-width:920px){
  .nav-toggle{display:inline-flex;order:2}
  .brand{order:1;flex:1 1 auto;margin-right:0}
  .status-badge{order:3;font-size:.6875rem}
  .header-utility{order:4;flex:1 1 100%;justify-content:space-between;padding-top:.6rem;border-top:2px dashed rgba(244,239,230,.25)}
  .site-nav{display:none}
  .site-nav[data-open]{display:block}
  .site-nav__list{flex-direction:column}
  .site-nav__item{flex:1 1 auto}
  .site-nav__link{padding:.9rem 1rem;border-right:0;border-bottom:2px solid rgba(244,239,230,.18)}
  .site-nav__item:first-child .site-nav__link{border-left:0}
  .site-nav__item:last-child .site-nav__link{border-bottom:0}
  .site-nav__foot{padding:.6rem 1rem .8rem}
  .display-title{letter-spacing:-.03em}
}
@media (max-width:620px){
  .shell{width:min(100% - 1.5rem,var(--jn-shell))}
  .shell--narrow{width:min(100% - 1.5rem,820px)}
  .brand__mark{width:2.5rem;height:2.5rem;font-size:.95rem}
  .brand__tagline{font-size:.625rem;letter-spacing:.06em}
  .tabs__tab{flex:1 1 50%;border-bottom:2px solid var(--jn-ink)}
  .tabs__panel{padding-left:.85rem;border-left-width:4px}
  .copy-btn{margin-left:0;margin-top:.35rem}
}

/* ---------- 20. 降低动效偏好 ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  html.js [data-reveal]{opacity:1;transform:none}
  .btn:hover,.btn:active{transform:none}
}
