/* ============================================================
   球友会官网 · 共享样式 /assets/site.css
   母题：地图图例索引 · 记分牌数字面板 · 横向对照条
   ============================================================ */

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

/* ---------- 2. 变量 ---------- */
:root{
  --qy-deep:#0E2A47;
  --qy-trench:#071A2E;
  --qy-orange:#FF6A13;
  --qy-orange-soft:#FF8F45;
  --qy-paper:#F5F1E8;
  --qy-line:#D9D4C7;
  --qy-ink:#101418;
  --qy-graphite:#5C6672;
  --qy-old:#B23A2E;
  --qy-fresh:#2FA37A;

  --qy-shell:1200px;
  --qy-gutter:clamp(16px,4vw,40px);
  --qy-gap:clamp(16px,2.6vw,32px);

  --qy-head:"Noto Sans SC","Source Han Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --qy-body:"Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --qy-mono:ui-monospace,"JetBrains Mono","Roboto Mono","SFMono-Regular",Menlo,Consolas,monospace;

  --qy-shadow:8px 8px 0 var(--qy-trench);
  --qy-shadow-sm:4px 4px 0 rgba(7,26,46,.7);
  --qy-ease:.18s ease;
}

/* ---------- 3. 基础排版 ---------- */
body{
  font-family:var(--qy-body);
  font-size:17px;
  line-height:1.75;
  color:var(--qy-ink);
  background:var(--qy-paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--qy-head);font-weight:900;letter-spacing:-.02em;line-height:1.12}
strong,b{font-weight:800}

:focus-visible{outline:3px solid var(--qy-orange);outline-offset:3px}

#main-content{display:block;scroll-margin-top:104px}
.qy-panel[id]{scroll-margin-top:112px}

/* ---------- 4. 布局母题 ---------- */
.qy-shell{
  width:100%;
  max-width:var(--qy-shell);
  margin-inline:auto;
  padding-inline:var(--qy-gutter);
}
.qy-stack{display:flex;flex-direction:column;gap:clamp(12px,1.8vw,24px)}
.qy-panel{position:relative;padding:clamp(32px,5.5vw,80px) 0}
.qy-panel--deep{background:var(--qy-deep);color:var(--qy-paper)}
.qy-panel--trench{background:var(--qy-trench);color:var(--qy-paper)}
.qy-panel--paper{background:var(--qy-paper);color:var(--qy-ink)}
.qy-panel--deep .qy-lede,.qy-panel--trench .qy-lede{color:#B9C7D6}
.qy-panel--deep .qy-title,.qy-panel--trench .qy-title{color:var(--qy-paper)}

.qy-grid{display:grid;gap:var(--qy-gap)}
.qy-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.qy-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.qy-grid--rail{grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:clamp(22px,4vw,56px)}

.qy-rail{position:sticky;top:108px;align-self:start;display:flex;flex-direction:column;gap:14px}
.qy-rail .qy-rule{margin:6px 0}

.qy-scroller{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  padding:4px 4px 20px;
  -webkit-overflow-scrolling:touch;
}
.qy-scroller>*{flex:0 0 clamp(250px,32vw,350px);scroll-snap-align:start}
.qy-scroller::-webkit-scrollbar{height:9px}
.qy-scroller::-webkit-scrollbar-track{background:rgba(217,212,199,.5)}
.qy-scroller::-webkit-scrollbar-thumb{background:var(--qy-orange)}

/* ---------- 5. 文字组件 ---------- */
.qy-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--qy-mono);font-size:12px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--qy-orange);
}
.qy-eyebrow::before{content:"";width:22px;height:2px;background:var(--qy-orange);flex:0 0 auto}
.qy-title{font-size:clamp(30px,5.4vw,56px);margin:14px 0 0}
.qy-title--sm{font-size:clamp(23px,3.4vw,34px);margin:12px 0 0}
.qy-lede{font-size:clamp(16px,1.6vw,18.5px);line-height:1.8;color:var(--qy-graphite);max-width:62ch;margin-top:14px}
.qy-num{
  display:block;font-family:var(--qy-mono);font-weight:700;
  font-size:clamp(44px,7vw,84px);line-height:1;letter-spacing:-.03em;color:var(--qy-orange);
}
.qy-num--sm{font-size:clamp(28px,3.6vw,46px)}
.qy-mono{font-family:var(--qy-mono);font-size:.92em;letter-spacing:.02em}
.qy-small{
  display:block;font-family:var(--qy-mono);font-size:11.5px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--qy-graphite);
}
.qy-panel--deep .qy-small,.qy-panel--trench .qy-small{color:#8FA6BC}
.qy-rule{height:0;border:0;border-top:2px dashed rgba(255,106,19,.65);margin:clamp(20px,3vw,36px) 0}

/* ---------- 6. 按钮与标签 ---------- */
.qy-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 24px;border:2px solid var(--qy-trench);border-radius:999px;
  background:var(--qy-orange);color:var(--qy-trench);
  font-family:var(--qy-head);font-weight:800;font-size:16px;letter-spacing:.01em;
  box-shadow:var(--qy-shadow-sm);
  transition:transform var(--qy-ease),box-shadow var(--qy-ease),background-color var(--qy-ease),color var(--qy-ease);
}
.qy-btn:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--qy-trench);background:var(--qy-orange-soft)}
.qy-btn:active{transform:none;box-shadow:2px 2px 0 var(--qy-trench)}
.qy-btn--ghost{background:transparent;color:var(--qy-paper);border-color:var(--qy-paper)}
.qy-btn--ghost:hover{background:var(--qy-paper);color:var(--qy-trench);box-shadow:8px 8px 0 var(--qy-orange)}
.qy-btn--paper{background:var(--qy-paper);color:var(--qy-trench);border-color:var(--qy-trench)}
.qy-btn--paper:hover{background:var(--qy-orange);color:var(--qy-trench)}

.qy-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--qy-mono);font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  padding:4px 9px;border:2px solid currentColor;border-radius:4px;white-space:nowrap;
}
.qy-tag--new{color:var(--qy-fresh)}
.qy-tag--old{color:var(--qy-old)}

/* ---------- 7. 图例索引 ---------- */
.qy-legend{
  display:flex;flex-wrap:wrap;gap:10px 24px;
  padding:14px 0;
  border-top:2px solid rgba(245,241,232,.18);
  border-bottom:2px solid rgba(245,241,232,.18);
}
.qy-legend__item{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--qy-mono);font-size:12.5px;letter-spacing:.06em;color:#9FB3C7;
}
.qy-legend__dot{width:9px;height:9px;border-radius:50%;background:var(--qy-orange);flex:0 0 auto}
.qy-legend__dot--fresh{background:var(--qy-fresh)}
.qy-legend__dot--old{background:var(--qy-old)}
.qy-legend__dot--paper{background:var(--qy-paper)}
.qy-legend--paper{border-color:rgba(16,20,24,.16)}
.qy-legend--paper .qy-legend__item{color:var(--qy-graphite)}

/* ---------- 8. 记分牌数字面板 ---------- */
.qy-scoreboard{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  background:var(--qy-trench);border:2px solid var(--qy-ink);box-shadow:var(--qy-shadow);
}
.qy-scoreboard__cell{padding:20px;border-right:2px solid rgba(245,241,232,.14)}
.qy-scoreboard__cell:last-child{border-right:0}
.qy-scoreboard__key{
  display:block;font-family:var(--qy-mono);font-size:11px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:#8FA6BC;
}
.qy-scoreboard__val{
  display:block;margin-top:10px;font-family:var(--qy-mono);font-weight:700;
  font-size:clamp(30px,4vw,52px);line-height:1.05;color:var(--qy-orange);letter-spacing:-.02em;
}

/* ---------- 9. 对照表 ---------- */
.qy-tablewrap{
  overflow-x:auto;background:var(--qy-paper);
  border:2px solid var(--qy-trench);box-shadow:var(--qy-shadow);
  -webkit-overflow-scrolling:touch;
}
.qy-table{min-width:640px;font-size:15.5px}
.qy-table th,.qy-table td{padding:13px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--qy-line)}
.qy-table thead th{
  font-family:var(--qy-mono);font-size:11.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  background:var(--qy-deep);color:var(--qy-paper);border-bottom:2px solid var(--qy-trench);
}
.qy-table tbody tr{transition:background-color var(--qy-ease)}
.qy-table tbody tr:hover{background:#EDE6D8}
.qy-table tbody tr:hover .qy-tag{filter:brightness(1.15)}
.qy-table tbody tr:last-child td{border-bottom:0}

/* ---------- 10. 内容卡 ---------- */
.qy-card{
  display:block;padding:22px;background:var(--qy-paper);
  border:2px solid var(--qy-trench);box-shadow:var(--qy-shadow-sm);
  transition:transform var(--qy-ease),box-shadow var(--qy-ease),border-color var(--qy-ease);
}
.qy-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--qy-orange);border-color:var(--qy-orange)}
.qy-card__title{
  display:block;font-family:var(--qy-head);font-weight:900;font-size:19px;
  letter-spacing:-.01em;line-height:1.3;color:var(--qy-ink);
}
.qy-card__meta{
  display:block;margin-top:10px;font-family:var(--qy-mono);
  font-size:12.5px;letter-spacing:.05em;color:var(--qy-graphite);
}
.qy-card--dark{background:var(--qy-deep);border-color:var(--qy-trench);color:var(--qy-paper)}
.qy-card--dark .qy-card__title{color:var(--qy-paper)}
.qy-card--dark .qy-card__meta{color:#9FB3C7}

/* ---------- 11. 图片容器基础规则 ---------- */
.qy-media{
  position:relative;overflow:hidden;width:100%;
  background:var(--qy-trench);
  border:2px solid var(--qy-trench);box-shadow:var(--qy-shadow);
}
.qy-media img{width:100%;height:100%;object-fit:cover;display:block}
.qy-media--wide{aspect-ratio:16/9}
.qy-media--square{aspect-ratio:1/1}
.qy-media--tall{aspect-ratio:4/5}
.qy-media__cap{
  display:block;padding:10px 2px 0;font-size:13.5px;line-height:1.6;color:var(--qy-graphite);
}
.qy-panel--deep .qy-media__cap,.qy-panel--trench .qy-media__cap{color:#9FB3C7}

/* ---------- 12. 面包屑 ---------- */
.qy-breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;
  padding:16px 0;font-family:var(--qy-mono);font-size:12px;
  letter-spacing:.08em;color:var(--qy-graphite);
}
.qy-breadcrumb a{border-bottom:2px solid transparent;transition:color var(--qy-ease),border-color var(--qy-ease)}
.qy-breadcrumb a:hover{color:var(--qy-orange);border-color:var(--qy-orange)}
.qy-breadcrumb__sep{opacity:.55}
.qy-breadcrumb__now{color:var(--qy-ink);font-weight:700}
.qy-panel--deep .qy-breadcrumb,.qy-panel--trench .qy-breadcrumb{color:#9FB3C7}
.qy-panel--deep .qy-breadcrumb__now,.qy-panel--trench .qy-breadcrumb__now{color:var(--qy-paper)}

/* ---------- 13. 头部：悬浮胶囊导航 ---------- */
.qy-skip{
  position:fixed;left:16px;top:-80px;z-index:200;
  padding:10px 18px;background:var(--qy-orange);color:var(--qy-trench);
  font-weight:800;font-size:14px;border-radius:0 0 12px 12px;
  transition:top var(--qy-ease);
}
.qy-skip:focus{top:0}

.qy-header{
  position:sticky;top:0;z-index:90;
  padding:clamp(10px,1.4vw,18px) clamp(12px,3vw,24px);
  pointer-events:none;
}
.qy-header__inner{
  pointer-events:auto;position:relative;
  display:flex;align-items:center;gap:clamp(8px,1.4vw,16px);
  width:100%;max-width:var(--qy-shell);margin-inline:auto;
  padding:8px 10px 8px 16px;
  background:rgba(7,26,46,.9);
  -webkit-backdrop-filter:blur(12px) saturate(1.3);
  backdrop-filter:blur(12px) saturate(1.3);
  border:2px solid var(--qy-trench);
  border-radius:999px;
  box-shadow:4px 4px 0 rgba(7,26,46,.55);
}

.qy-brand{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;margin-right:auto;padding:6px 6px 6px 2px;border-radius:999px}
.qy-brand__ball{
  width:12px;height:12px;border-radius:50%;background:var(--qy-orange);flex:0 0 auto;
  box-shadow:0 0 0 3px rgba(255,106,19,.28);
}
.qy-brand__name{
  font-family:var(--qy-head);font-weight:900;font-size:17px;
  letter-spacing:-.01em;color:var(--qy-paper);white-space:nowrap;
}

.qy-nav{flex:1 1 auto;display:flex;justify-content:flex-end}
.qy-nav__list{display:flex;align-items:center;gap:2px;flex-wrap:nowrap}
.qy-nav__item{display:block}
.qy-nav__link{
  position:relative;display:inline-flex;align-items:center;gap:7px;
  padding:9px 13px;border-radius:999px;border:2px solid transparent;
  font-size:14.5px;font-weight:700;color:rgba(245,241,232,.82);white-space:nowrap;
  transition:background-color var(--qy-ease),color var(--qy-ease),border-color var(--qy-ease);
}
.qy-nav__link:hover{border-color:var(--qy-orange);background:rgba(255,106,19,.16);color:#fff}
.qy-nav__link[aria-current="page"]{background:var(--qy-paper);color:var(--qy-trench)}
.qy-nav__dot{
  width:7px;height:7px;border-radius:50%;background:var(--qy-orange);flex:0 0 auto;
  opacity:0;transform:scale(.4);
  transition:opacity var(--qy-ease),transform var(--qy-ease);
}
.qy-nav__link:hover .qy-nav__dot,
.qy-nav__link[aria-current="page"] .qy-nav__dot{opacity:1;transform:none}
.qy-nav__link[aria-current="page"] .qy-nav__dot{background:var(--qy-orange)}

.qy-headtools{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.qy-version{
  display:inline-flex;align-items:center;
  padding:7px 11px;border:2px solid rgba(255,106,19,.55);border-radius:999px;
  font-family:var(--qy-mono);font-size:12.5px;font-weight:700;letter-spacing:.06em;
  color:var(--qy-orange);white-space:nowrap;
  transition:background-color var(--qy-ease),color var(--qy-ease),border-color var(--qy-ease);
}
.qy-version:hover{background:var(--qy-orange);border-color:var(--qy-orange);color:var(--qy-trench)}
.qy-cta{
  display:inline-flex;align-items:center;
  padding:9px 17px;border:2px solid var(--qy-orange);border-radius:999px;
  background:var(--qy-orange);color:var(--qy-trench);
  font-family:var(--qy-head);font-weight:800;font-size:14px;white-space:nowrap;
  transition:background-color var(--qy-ease),border-color var(--qy-ease),transform var(--qy-ease);
}
.qy-cta:hover{background:var(--qy-orange-soft);border-color:var(--qy-orange-soft);transform:translateY(-1px)}

.qy-navtoggle{
  display:none;width:44px;height:44px;flex:0 0 auto;
  align-items:center;justify-content:center;
  border:2px solid rgba(245,241,232,.35);border-radius:50%;
  transition:border-color var(--qy-ease),background-color var(--qy-ease);
}
.qy-navtoggle:hover{border-color:var(--qy-orange);background:rgba(255,106,19,.16)}
.qy-navtoggle__bars{position:relative;display:block;width:18px;height:2px;background:var(--qy-paper);transition:background-color var(--qy-ease)}
.qy-navtoggle__bars::before,
.qy-navtoggle__bars::after{
  content:"";position:absolute;left:0;width:18px;height:2px;background:var(--qy-paper);
  transition:transform var(--qy-ease);
}
.qy-navtoggle__bars::before{top:-6px}
.qy-navtoggle__bars::after{top:6px}
.qy-header[data-open] .qy-navtoggle__bars{background:transparent}
.qy-header[data-open] .qy-navtoggle__bars::before{transform:translateY(6px) rotate(45deg)}
.qy-header[data-open] .qy-navtoggle__bars::after{transform:translateY(-6px) rotate(-45deg)}

/* ---------- 14. 页脚 ---------- */
.qy-footer{
  background:var(--qy-deep);color:var(--qy-paper);
  border-top:6px solid var(--qy-orange);
  margin-top:clamp(40px,7vw,96px);
}
.qy-footer__inner{
  width:100%;max-width:var(--qy-shell);margin-inline:auto;
  padding:clamp(34px,5vw,64px) var(--qy-gutter) clamp(24px,3vw,36px);
}
.qy-footer__top{
  display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,2.1fr);
  gap:clamp(24px,4vw,56px);align-items:start;
}
.qy-footer__brand{display:flex;flex-direction:column}
.qy-footer__mark{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--qy-head);font-weight:900;font-size:20px;
  letter-spacing:-.01em;color:var(--qy-paper);
}
.qy-footer__tag{margin-top:14px;max-width:32ch;font-size:15px;line-height:1.8;color:#A9BCCE}
.qy-footer__routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

.qy-routecard{
  display:block;padding:18px;background:var(--qy-trench);
  border:2px solid rgba(245,241,232,.28);
  transition:border-color var(--qy-ease),background-color var(--qy-ease),transform var(--qy-ease),box-shadow var(--qy-ease);
}
.qy-routecard:hover{
  border-color:var(--qy-orange);background:var(--qy-deep);
  transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--qy-orange);
}
.qy-routecard__index{display:block;font-family:var(--qy-mono);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--qy-orange)}
.qy-routecard__label{
  display:block;margin-top:10px;font-family:var(--qy-head);
  font-weight:900;font-size:17px;letter-spacing:-.01em;color:var(--qy-paper);
}
.qy-routecard__hint{display:block;margin-top:7px;font-family:var(--qy-mono);font-size:12px;line-height:1.6;color:#8FA6BC}

.qy-footer__mid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(18px,3vw,40px);
  margin-top:clamp(30px,4.5vw,56px);padding-top:clamp(24px,3.5vw,40px);
  border-top:2px solid rgba(245,241,232,.16);
}
.qy-contact{display:block}
.qy-contact__item{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.qy-contact__key{
  font-family:var(--qy-mono);font-size:11px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:#8FA6BC;
}
.qy-contact__val{font-size:16px;line-height:1.7;color:var(--qy-paper)}
.qy-copy{
  display:inline-flex;align-items:center;gap:10px;align-self:flex-start;
  padding:2px 0;font-family:var(--qy-mono);font-size:15px;
  color:var(--qy-paper);word-break:break-all;text-align:left;cursor:copy;
  border-bottom:2px solid rgba(255,106,19,.5);
  transition:color var(--qy-ease),border-color var(--qy-ease);
}
.qy-copy::after{
  content:"复制";font-family:var(--qy-body);font-size:11px;
  letter-spacing:.1em;color:var(--qy-orange);opacity:.9;
}
.qy-copy:hover{color:var(--qy-orange);border-color:var(--qy-orange)}
.qy-copy[data-copied="true"]{color:var(--qy-fresh);border-color:var(--qy-fresh)}
.qy-copy[data-copied="true"]::after{content:"已复制";color:var(--qy-fresh)}
.qy-copy__hint{
  display:block;min-height:22px;font-family:var(--qy-mono);font-size:12px;
  color:var(--qy-fresh);opacity:0;transition:opacity var(--qy-ease);
}
.qy-copy__hint.is-on{opacity:1}
.qy-footer__note{
  align-self:start;max-width:52ch;padding-left:14px;
  border-left:3px solid var(--qy-orange);
  font-size:14px;line-height:1.85;color:#9FB3C7;
}

.qy-footer__bottom{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;
  margin-top:clamp(26px,4vw,44px);padding-top:20px;
  border-top:2px solid rgba(245,241,232,.16);
  font-size:13.5px;color:#9FB3C7;
}
.qy-brandline{font-family:var(--qy-head);font-weight:800;color:var(--qy-paper)}
.qy-brandline span{font-family:var(--qy-mono);color:var(--qy-orange)}
.qy-footer__legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.qy-footer__legal a{color:#C7D5E2;border-bottom:2px solid transparent;transition:color var(--qy-ease),border-color var(--qy-ease)}
.qy-footer__legal a:hover{color:var(--qy-orange);border-color:var(--qy-orange)}
.qy-footer__beian{margin-left:auto;font-family:var(--qy-mono);font-size:12.5px;letter-spacing:.04em}

/* ---------- 15. 滚动进度 / 返回顶部 / 显现 ---------- */
.qy-progress{
  position:fixed;left:0;top:0;z-index:120;width:100%;height:3px;
  background:var(--qy-orange);transform:scaleX(0);transform-origin:0 50%;
  pointer-events:none;
}
.qy-top{
  position:fixed;right:clamp(12px,2.4vw,28px);bottom:clamp(12px,2.4vw,28px);z-index:100;
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 17px;border:2px solid var(--qy-trench);border-radius:999px;
  background:var(--qy-deep);color:var(--qy-paper);
  font-family:var(--qy-mono);font-size:12.5px;letter-spacing:.08em;
  box-shadow:var(--qy-shadow-sm);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity var(--qy-ease),transform var(--qy-ease),visibility var(--qy-ease),background-color var(--qy-ease),color var(--qy-ease);
}
.qy-top[data-visible="true"]{opacity:1;visibility:visible;transform:none}
.qy-top:hover{background:var(--qy-orange);color:var(--qy-trench)}

.qy-js [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .26s ease,transform .26s ease}
.qy-js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- 16. 响应式 ---------- */
@media (max-width:1180px){
  .qy-cta{display:none}
}
@media (max-width:980px){
  .qy-navtoggle{display:inline-flex}
  .qy-nav{
    position:absolute;top:calc(100% + 10px);left:0;right:0;
    display:none;flex-direction:column;justify-content:flex-start;
    padding:12px;background:rgba(7,26,46,.97);
    border:2px solid var(--qy-trench);border-radius:22px;
    box-shadow:6px 6px 0 rgba(7,26,46,.6);
  }
  .qy-header[data-open] .qy-nav{display:flex}
  .qy-nav__list{flex-direction:column;align-items:stretch;gap:4px;width:100%}
  .qy-nav__item{width:100%}
  .qy-nav__link{width:100%;justify-content:flex-start;padding:13px 15px;border-radius:14px;font-size:16.5px}
  .qy-nav__link:hover{background:rgba(255,106,19,.14)}
  .qy-nav__link[aria-current="page"]{background:var(--qy-paper);color:var(--qy-trench)}
  .qy-header__inner{padding:7px 9px 7px 14px}
}
@media (max-width:900px){
  .qy-grid--rail{grid-template-columns:1fr}
  .qy-rail{position:static;top:auto}
  .qy-footer__top{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:16.5px}
  .qy-footer__routes{grid-template-columns:1fr}
  .qy-footer__beian{margin-left:0;width:100%}
  .qy-brand__name{font-size:16px}
  .qy-version{padding:6px 9px;font-size:11.5px}
  .qy-scroller>*{flex:0 0 82%}
}
@media (max-width:420px){
  .qy-navtoggle{width:40px;height:40px}
  .qy-brand__name{font-size:15.5px}
}

/* ---------- 17. 减弱动效 ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .qy-js [data-reveal]{opacity:1;transform:none}
  .qy-btn:hover,.qy-card:hover,.qy-routecard:hover,.qy-cta:hover{transform:none}
  .qy-top{transition:none}
}
