/* /assets/site.css —— 不朽情缘体验 中文站共享外壳与通用组件 */

/* 1. Reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:140px}
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}
a{color:inherit}
[hidden]{display:none!important}
main{display:block}

/* 2. 变量 */
:root{
  --qp-indigo:#0A0E2A;
  --qp-ink:#121838;
  --qp-violet:#242A55;
  --qp-gold:#E7B24C;
  --qp-gold-soft:#F3D79B;
  --qp-coral:#F2764A;
  --qp-jade:#46C0AE;
  --qp-paper:#F1EEE6;
  --qp-mist:#A6A3C0;
  --qp-deep:#05081A;

  --qp-font-display:"Noto Serif SC","Source Han Serif SC","思源宋体 CN","Songti SC","SimSun",serif;
  --qp-font-heading:"Noto Serif SC","Source Han Serif SC","思源宋体 CN","Songti SC",serif;
  --qp-font-body:"Noto Sans SC","Source Han Sans SC","思源黑体 CN","PingFang SC","Microsoft YaHei",sans-serif;
  --qp-font-label:"Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --qp-font-mono:"JetBrains Mono","Source Han Mono SC","SFMono-Regular","Menlo",monospace;

  --qp-shell:1180px;
  --qp-gutter:clamp(20px,4vw,48px);
  --qp-space:24px;
  --qp-line:rgba(36,42,85,.95);
  --qp-hairline:rgba(231,178,76,.45);
}

/* 3. 中文排版基线 */
body{
  background:
    radial-gradient(1100px 620px at 50% -12%, rgba(36,42,85,.92), transparent 68%),
    radial-gradient(760px 520px at 92% 18%, rgba(70,192,174,.10), transparent 70%),
    radial-gradient(680px 480px at 6% 62%, rgba(242,118,74,.09), transparent 72%),
    var(--qp-indigo);
  background-attachment:fixed;
  color:var(--qp-paper);
  font-family:var(--qp-font-body);
  font-size:1rem;
  line-height:1.85;
  letter-spacing:.01em;
  min-height:100vh;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--qp-font-heading);font-weight:600;line-height:1.25;letter-spacing:-.01em}
::selection{background:rgba(231,178,76,.32);color:var(--qp-paper)}
:focus-visible{outline:2px solid var(--qp-gold);outline-offset:2px;border-radius:2px}

.qp-shell{width:100%;max-width:var(--qp-shell);margin-inline:auto;padding-inline:var(--qp-gutter)}
.qp-section{padding-block:clamp(56px,8vw,96px);position:relative}
.qp-section--narrow{max-width:840px;margin-inline:auto}
.qp-lede{font-family:var(--qp-font-heading);font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.62;color:var(--qp-gold-soft);max-width:28em}
.qp-prose{max-width:34em;font-size:1.0625rem;line-height:1.85;letter-spacing:.01em;color:rgba(241,238,230,.94)}
.qp-prose h2{font-size:clamp(1.25rem,2.2vw,1.7rem);margin-block:1.6em .6em;color:var(--qp-paper)}
.qp-prose p+p{margin-top:1.05em}
.qp-prose blockquote{border-left:2px solid var(--qp-gold-soft);padding-left:18px;margin-block:1.4em;color:var(--qp-mist);font-family:var(--qp-font-heading)}
.qp-note{font-size:.8125rem;line-height:1.8;color:var(--qp-mist);border-left:1px solid rgba(70,192,174,.55);padding-left:14px}
.qp-rule{height:1px;border:0;background:linear-gradient(90deg,var(--qp-hairline),rgba(36,42,85,0));margin-block:32px}

/* 4. 跳转链接与阅读进度 */
.qp-skip{position:absolute;left:16px;top:-72px;z-index:130;padding:12px 18px;background:var(--qp-gold);color:#1A1206;font-family:var(--qp-font-label);font-size:.875rem;letter-spacing:.1em;text-decoration:none;border-radius:2px;transition:top .18s ease}
.qp-skip:focus{top:16px}
.qp-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:120;background:rgba(5,8,26,.65);pointer-events:none}
.qp-progress__bar{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--qp-gold),var(--qp-coral));transition:transform .12s linear}

/* 5. 头部刊头 */
.qp-header{position:sticky;top:0;z-index:100;background:linear-gradient(180deg,rgba(10,14,42,.97),rgba(10,14,42,.88));backdrop-filter:blur(10px);transition:background .25s ease}
.qp-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--qp-hairline),transparent);opacity:0;transition:opacity .25s ease}
.qp-header[data-compact]::after{opacity:1}
.qp-header__inner{position:relative;padding-block:26px 18px;transition:padding .25s ease}
.qp-header[data-compact] .qp-header__inner{padding-block:10px 10px}
.qp-header[data-compact] .qp-brand__mark{font-size:1.35rem}
.qp-header[data-compact] .qp-version{opacity:0;visibility:hidden}
.qp-header[data-compact] .qp-nav{margin-top:8px}

.qp-masthead{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px 20px}
.qp-masthead::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:1px;background:linear-gradient(90deg,transparent,rgba(166,163,192,.32),transparent)}
.qp-masthead__side{display:flex;align-items:center;gap:12px}
.qp-masthead__side--start{justify-self:start}
.qp-masthead__side--end{justify-self:end}

.qp-brand{display:inline-flex;flex-direction:column;align-items:center;gap:4px;justify-self:center;text-align:center;text-decoration:none}
.qp-brand__mark{font-family:var(--qp-font-display);font-weight:900;font-size:clamp(1.6rem,3.1vw,2.35rem);line-height:1.12;letter-spacing:.06em;background:linear-gradient(100deg,var(--qp-gold-soft),var(--qp-gold) 52%,var(--qp-coral));-webkit-background-clip:text;background-clip:text;color:transparent;transition:font-size .25s ease}
.qp-brand__sub{font-family:var(--qp-font-label);font-size:.75rem;letter-spacing:.3em;color:var(--qp-mist)}
.qp-brand--footer{justify-self:start;align-items:flex-start;text-align:left}
.qp-brand--footer .qp-brand__mark{font-size:1.55rem}

.qp-utility{display:flex;align-items:center;gap:8px}
.qp-utility__btn{appearance:none;padding:6px 12px;border:1px solid rgba(166,163,192,.28);border-radius:2px;background:rgba(5,8,26,.4);color:var(--qp-mist);font-family:var(--qp-font-label);font-size:.8125rem;letter-spacing:.14em;cursor:pointer;transition:color .18s,border-color .18s,background .18s}
.qp-utility__btn:hover{color:var(--qp-gold-soft);border-color:var(--qp-hairline);background:rgba(36,42,85,.8)}
.qp-utility__btn[aria-expanded="true"]{color:var(--qp-gold);border-color:var(--qp-gold)}

.qp-version{display:inline-flex;align-items:baseline;gap:8px;padding:5px 10px;border:1px solid rgba(70,192,174,.45);border-radius:2px;background:rgba(5,8,26,.55);font-family:var(--qp-font-mono);font-size:.75rem;letter-spacing:.08em;color:var(--qp-jade);transition:opacity .2s ease,visibility .2s ease}
.qp-version__label{color:var(--qp-mist);letter-spacing:.14em}
.qp-version__num{font-weight:600}

.qp-navtoggle{display:none;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(166,163,192,.3);border-radius:2px;background:rgba(5,8,26,.5);color:var(--qp-paper);font-family:var(--qp-font-label);font-size:.8125rem;letter-spacing:.14em;cursor:pointer}
.qp-navtoggle:hover{border-color:var(--qp-hairline);color:var(--qp-gold-soft)}
.qp-navtoggle__bars{position:relative;display:block;width:18px;height:2px;background:currentColor;transition:background .18s ease}
.qp-navtoggle__bars::before,.qp-navtoggle__bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:transform .18s ease,top .18s ease}
.qp-navtoggle__bars::before{top:-6px}
.qp-navtoggle__bars::after{top:6px}
.qp-navtoggle[aria-expanded="true"] .qp-navtoggle__bars{background:transparent}
.qp-navtoggle[aria-expanded="true"] .qp-navtoggle__bars::before{top:0;transform:rotate(45deg)}
.qp-navtoggle[aria-expanded="true"] .qp-navtoggle__bars::after{top:0;transform:rotate(-45deg)}

.qp-nav{margin-top:22px;transition:margin .25s ease}
.qp-nav__list{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.qp-nav__item{display:flex}
.qp-nav__link{position:relative;display:inline-flex;align-items:baseline;gap:8px;padding:9px 14px;border:1px solid transparent;border-radius:2px;color:var(--qp-paper);text-decoration:none;font-family:var(--qp-font-label);font-size:.9375rem;letter-spacing:.1em;transition:background .18s,color .18s,border-color .18s}
.qp-nav__link:hover{background:var(--qp-violet);border-color:var(--qp-hairline);color:var(--qp-gold-soft)}
.qp-nav__link[aria-current="page"]{color:var(--qp-gold);border-color:var(--qp-hairline);background:linear-gradient(180deg,rgba(231,178,76,.14),rgba(231,178,76,.02))}
.qp-nav__link[aria-current="page"]::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1px;background:var(--qp-gold)}
.qp-nav__num{font-family:var(--qp-font-mono);font-weight:600;font-size:.6875rem;letter-spacing:.08em;color:var(--qp-jade);opacity:.9}
.qp-nav__link[aria-current="page"] .qp-nav__num{color:var(--qp-gold)}

/* 6. 检索与目录面板 */
.qp-panel{position:absolute;left:var(--qp-gutter);right:var(--qp-gutter);top:calc(100% + 12px);z-index:110;padding:20px;border:1px solid var(--qp-hairline);border-radius:3px;background:linear-gradient(180deg,var(--qp-ink),rgba(10,14,42,.98));box-shadow:0 30px 60px rgba(5,8,26,.7)}
.qp-panel__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:12px}
.qp-panel__label{display:block;font-family:var(--qp-font-label);font-size:.8125rem;letter-spacing:.14em;color:var(--qp-gold)}
.qp-panel__hint{font-size:.8125rem;color:var(--qp-mist)}
.qp-panel__input{width:100%;margin-top:8px;padding:12px 14px;border:1px solid rgba(166,163,192,.3);border-radius:2px;background:rgba(5,8,26,.72);color:var(--qp-paper);font-family:var(--qp-font-mono);font-size:.9375rem;letter-spacing:.04em}
.qp-panel__input::placeholder{color:rgba(166,163,192,.7)}
.qp-panel__empty{margin-top:12px;font-size:.875rem;color:var(--qp-coral)}
.qp-panel__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:14px;max-height:46vh;overflow:auto}
.qp-panel__list a{display:flex;align-items:baseline;gap:8px;padding:10px 12px;border:1px solid var(--qp-line);border-radius:2px;background:rgba(18,24,56,.66);color:var(--qp-paper);text-decoration:none;font-family:var(--qp-font-label);font-size:.9375rem;letter-spacing:.1em;transition:background .18s,border-color .18s,color .18s}
.qp-panel__list a:hover,.qp-panel__list a:focus-visible{background:var(--qp-violet);border-color:var(--qp-hairline);color:var(--qp-gold-soft)}

/* 7. 通用按钮 */
.qp-btn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border:1px solid transparent;border-radius:2px;font-family:var(--qp-font-label);font-size:.875rem;letter-spacing:.14em;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s}
.qp-btn--primary{background:linear-gradient(100deg,var(--qp-gold),var(--qp-coral));color:#1A1206;font-weight:600;border-color:var(--qp-gold-soft)}
.qp-btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(231,178,76,.24)}
.qp-btn--ghost{background:rgba(5,8,26,.4);color:var(--qp-paper);border-color:var(--qp-hairline)}
.qp-btn--ghost:hover{background:rgba(36,42,85,.85);color:var(--qp-gold-soft);border-color:var(--qp-gold)}
.qp-btn--quiet{background:transparent;color:var(--qp-mist);border-color:rgba(166,163,192,.32)}
.qp-btn--quiet:hover{color:var(--qp-jade);border-color:rgba(70,192,174,.55)}

/* 8. 面包屑 */
.qp-crumbs{margin-top:22px;font-size:.8125rem;color:var(--qp-mist)}
.qp-crumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.qp-crumbs__item{display:inline-flex;align-items:center;gap:6px}
.qp-crumbs__item+.qp-crumbs__item::before{content:"/";color:rgba(166,163,192,.5)}
.qp-crumbs a{color:var(--qp-mist);text-decoration:none}
.qp-crumbs a:hover{color:var(--qp-gold-soft)}
.qp-crumbs [aria-current="page"]{color:var(--qp-paper)}

/* 9. 章节带 */
.qp-chapter{display:flex;align-items:center;gap:16px;margin-bottom:32px}
.qp-chapter__no{flex:none;padding:5px 10px;border:1px solid var(--qp-hairline);border-radius:2px;background:rgba(5,8,26,.6);font-family:var(--qp-font-mono);font-weight:600;font-size:.8125rem;letter-spacing:.14em;color:var(--qp-gold)}
.qp-chapter__title{font-family:var(--qp-font-heading);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.25;color:var(--qp-paper)}
.qp-chapter__rule{flex:1;height:1px;background:linear-gradient(90deg,var(--qp-hairline),rgba(36,42,85,0))}

/* 10. 网格 */
.qp-grid{display:grid;gap:24px}
.qp-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.qp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.qp-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.qp-grid--split{grid-template-columns:7fr 5fr;gap:40px}
.qp-grid--split-rev{grid-template-columns:8fr 4fr;gap:40px}

/* 11. 档案卡 */
.qp-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px 22px 22px;border:1px solid rgba(231,178,76,.28);border-radius:2px;background:linear-gradient(180deg,rgba(18,24,56,.96),rgba(10,14,42,.96));transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.qp-card::before{content:"";position:absolute;top:-1px;left:-1px;width:58px;height:6px;background:var(--qp-gold);border-radius:2px 0 2px 0;opacity:.9}
.qp-card:hover{transform:translateY(-4px);border-color:var(--qp-hairline);box-shadow:0 22px 44px rgba(5,8,26,.6)}
.qp-card__tag{font-family:var(--qp-font-label);font-size:.75rem;letter-spacing:.14em;color:var(--qp-gold)}
.qp-card__title{font-family:var(--qp-font-heading);font-size:1.25rem;line-height:1.38;color:var(--qp-paper)}
.qp-card__text{font-size:.9375rem;line-height:1.78;color:var(--qp-mist)}
.qp-card__meta{display:flex;flex-wrap:wrap;gap:12px;font-family:var(--qp-font-mono);font-size:.75rem;letter-spacing:.06em;color:var(--qp-mist)}
.qp-card__foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--qp-line)}
.qp-card__cta{display:inline-flex;align-items:center;gap:8px;font-family:var(--qp-font-label);font-size:.8125rem;letter-spacing:.14em;color:var(--qp-jade);text-decoration:none}
.qp-card__cta:hover{color:var(--qp-gold-soft)}

/* 12. 索引列 */
.qp-index-list{border-top:1px solid var(--qp-line)}
.qp-index-list__row{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:baseline;padding:14px 12px;border-bottom:1px solid var(--qp-line);color:var(--qp-paper);text-decoration:none;transition:background .18s,color .18s}
.qp-index-list__row:hover,.qp-index-list__row:focus-visible{background:rgba(36,42,85,.72);color:var(--qp-gold-soft)}
.qp-index-list__num{font-family:var(--qp-font-mono);font-weight:600;font-size:.75rem;letter-spacing:.08em;color:var(--qp-gold)}
.qp-index-list__title{font-family:var(--qp-font-label);font-size:1rem;letter-spacing:.04em}
.qp-index-list__meta{font-family:var(--qp-font-mono);font-size:.75rem;letter-spacing:.06em;color:var(--qp-mist)}

/* 13. 标签 */
.qp-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid rgba(166,163,192,.35);border-radius:2px;background:rgba(5,8,26,.5);font-family:var(--qp-font-label);font-size:.75rem;letter-spacing:.14em;color:var(--qp-mist)}
.qp-chip--gold{color:var(--qp-gold);border-color:var(--qp-hairline)}
.qp-chip--jade{color:var(--qp-jade);border-color:rgba(70,192,174,.5)}
.qp-chip--coral{color:var(--qp-coral);border-color:rgba(242,118,74,.5)}

/* 14. 图片与视觉容器 */
.qp-frame{position:relative;border:1px solid rgba(166,163,192,.24);border-radius:2px;overflow:hidden;background:
  radial-gradient(120% 90% at 18% 8%,rgba(70,192,174,.18),transparent 62%),
  radial-gradient(120% 100% at 84% 92%,rgba(242,118,74,.16),transparent 64%),
  linear-gradient(160deg,var(--qp-ink),var(--qp-indigo));}
.qp-frame--16x9{aspect-ratio:16/9}
.qp-frame--4x3{aspect-ratio:4/3}
.qp-frame--3x4{aspect-ratio:3/4}
.qp-frame--1x1{aspect-ratio:1/1}
.qp-frame__media{display:block;width:100%;height:100%;object-fit:cover}
.qp-frame__badge{position:absolute;top:0;left:0;padding:5px 9px;border-right:1px solid var(--qp-hairline);border-bottom:1px solid var(--qp-hairline);background:rgba(5,8,26,.82);font-family:var(--qp-font-mono);font-size:.6875rem;letter-spacing:.08em;color:var(--qp-gold)}
.qp-frame__caption{margin-top:10px;font-size:.8125rem;letter-spacing:.04em;color:var(--qp-mist)}

/* 15. 分段切换 */
.qp-tabs{position:relative}
.qp-tabs__list{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--qp-line)}
.qp-tabs__tab{appearance:none;padding:10px 16px;border:1px solid transparent;border-bottom:0;border-radius:2px 2px 0 0;background:transparent;color:var(--qp-mist);font-family:var(--qp-font-label);font-size:.8125rem;letter-spacing:.14em;cursor:pointer;transition:color .18s,background .18s,border-color .18s}
.qp-tabs__tab:hover{color:var(--qp-gold-soft);background:rgba(36,42,85,.6)}
.qp-tabs__tab[aria-selected="true"]{color:var(--qp-gold);background:rgba(36,42,85,.85);border-color:var(--qp-hairline);box-shadow:inset 0 -2px 0 var(--qp-gold)}
.qp-tabpanel{padding-top:24px}
.qp-tabpanel:focus-visible{outline:2px solid var(--qp-gold);outline-offset:4px}

/* 16. 折叠卡 */
.qp-fold{padding:0 18px;border:1px solid var(--qp-line);border-radius:2px;background:rgba(18,24,56,.7)}
.qp-fold+.qp-fold{margin-top:12px}
.qp-fold summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;font-family:var(--qp-font-heading);font-size:1.0625rem;color:var(--qp-paper);cursor:pointer;list-style:none}
.qp-fold summary::-webkit-details-marker{display:none}
.qp-fold summary::after{content:"+";font-family:var(--qp-font-mono);color:var(--qp-gold)}
.qp-fold[open] summary::after{content:"–"}
.qp-fold[open] summary{border-bottom:1px solid var(--qp-line)}
.qp-fold__body{padding:16px 0 20px;font-size:.9375rem;line-height:1.85;color:var(--qp-mist)}

/* 17. 页脚 */
.qp-footer{position:relative;margin-top:clamp(72px,10vw,140px);padding-block:56px 28px;border-top:1px solid rgba(231,178,76,.32);background:linear-gradient(180deg,rgba(18,24,56,.9),var(--qp-deep))}
.qp-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--qp-gold) 0 58%,var(--qp-coral) 58% 82%,var(--qp-jade) 82% 100%);opacity:.9}
.qp-footer__grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px 28px}
.qp-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.qp-footer__note{max-width:24em;font-size:.875rem;line-height:1.8;color:var(--qp-mist)}
.qp-footer__hint{font-size:.8125rem;color:rgba(166,163,192,.8)}
.qp-contact{display:flex;flex-direction:column;gap:8px}
.qp-contact__item{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.qp-contact__key{flex:none;padding:2px 8px;border:1px solid var(--qp-line);border-radius:2px;font-family:var(--qp-font-label);font-size:.6875rem;letter-spacing:.14em;color:var(--qp-mist)}
.qp-contact__val{font-family:var(--qp-font-mono);font-size:.8125rem;letter-spacing:.04em;color:var(--qp-paper)}
.qp-copy{appearance:none;padding:3px 9px;border:1px solid rgba(70,192,174,.35);border-radius:2px;background:rgba(36,42,85,.8);color:var(--qp-jade);font-family:var(--qp-font-label);font-size:.75rem;letter-spacing:.14em;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.qp-copy:hover{background:rgba(70,192,174,.16);border-color:var(--qp-jade)}
.qp-copy[data-done]{color:var(--qp-gold);border-color:var(--qp-hairline);background:rgba(231,178,76,.14)}
.qp-copy-status{min-height:1.3em;margin-top:26px;font-size:.8125rem;letter-spacing:.04em;color:var(--qp-jade)}
.qp-footer__col{display:flex;flex-direction:column;gap:12px}
.qp-footer__title{font-family:var(--qp-font-label);font-size:.8125rem;font-weight:500;letter-spacing:.14em;color:var(--qp-gold)}
.qp-footer__list{display:flex;flex-direction:column;gap:8px}
.qp-footer__link{font-size:.9375rem;color:var(--qp-mist);text-decoration:none;transition:color .18s}
.qp-footer__link:hover{color:var(--qp-gold-soft)}
.qp-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-top:40px;padding-top:18px;border-top:1px solid var(--qp-line)}
.qp-footer__legal{font-family:var(--qp-font-mono);font-size:.8125rem;letter-spacing:.06em;color:var(--qp-mist)}
.qp-footer__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:.8125rem;color:var(--qp-mist)}
.qp-footer__lang{letter-spacing:.08em}
.qp-footer__copy{color:rgba(241,238,230,.82)}
.qp-totop{appearance:none;padding:6px 12px;border:1px solid rgba(166,163,192,.32);border-radius:2px;background:rgba(5,8,26,.5);color:var(--qp-mist);font-family:var(--qp-font-label);font-size:.8125rem;letter-spacing:.14em;cursor:pointer;transition:color .18s,border-color .18s}
.qp-totop:hover{color:var(--qp-gold);border-color:var(--qp-hairline)}

/* 18. 显现 */
[data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
[data-reveal].qp-in{opacity:1;transform:none}

/* 19. 响应式 */
@media (max-width:1080px){
  .qp-footer__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .qp-footer__brand{grid-column:1/-1}
  .qp-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qp-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qp-grid--split,.qp-grid--split-rev{grid-template-columns:1fr;gap:32px}
}
@media (max-width:880px){
  .qp-utility{display:none}
  .qp-version{display:none}
  .qp-navtoggle{display:inline-flex}
  .qp-masthead::after{bottom:-10px}
  .qp-nav{position:absolute;left:0;right:0;top:calc(100% - 10px);display:none;margin-top:0;padding:16px var(--qp-gutter) 22px;border-top:1px solid rgba(231,178,76,.3);border-bottom:1px solid rgba(231,178,76,.3);background:linear-gradient(180deg,var(--qp-ink),rgba(10,14,42,.99));box-shadow:0 26px 46px rgba(5,8,26,.7)}
  .qp-nav[data-open]{display:block}
  .qp-nav__list{flex-direction:column;align-items:stretch;gap:2px}
  .qp-nav__link{justify-content:flex-start;padding:14px 12px;border-bottom:1px solid var(--qp-line);border-radius:0}
  .qp-nav__link[aria-current="page"]::after{left:12px;right:auto;width:32px;bottom:6px}
  .qp-panel{top:calc(100% + 6px);max-height:70vh;overflow:auto}
  .qp-header[data-compact] .qp-nav{margin-top:0}
}
@media (max-width:640px){
  .qp-grid--2,.qp-grid--3,.qp-grid--4{grid-template-columns:1fr}
  .qp-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qp-footer__bottom{flex-direction:column;align-items:flex-start}
  .qp-panel__list{grid-template-columns:1fr}
  .qp-index-list__row{grid-template-columns:52px 1fr;gap:12px}
  .qp-index-list__meta{grid-column:2}
}

/* 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}
  [data-reveal]{opacity:1;transform:none}
  .qp-progress__bar{transition:none}
}
