/* ============ /assets/site.css — BVIP赛场 共享外壳 ============ */
*,*::before,*::after{box-sizing:border-box}

:root{
  --ink-900:#061020;
  --ink-800:#0A1A33;
  --glass:#1E3A5F;
  --orange:#FF6A1A;
  --vermilion:#D94E1F;
  --lime:#B6FF3B;
  --cream:#F2E8D5;
  --brown:#161009;
  --slate:#5B7290;
  --amber:#FFB020;

  --fg:var(--cream);
  --line:rgba(91,114,144,.32);
  --line-strong:rgba(91,114,144,.55);
  --header-h:76px;
  --maxw:1360px;
  --radius-s:4px;
  --radius-m:10px;
  --shadow-glass:0 18px 44px rgba(3,8,18,.55);
  --ease:cubic-bezier(.2,.7,.3,1);
  --font-sans:"Source Han Sans SC","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --font-mono:"JetBrains Mono","Roboto Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 20px);
}

body{
  margin:0;
  min-height:100vh;
  font-family:var(--font-sans);
  font-size:17px;
  line-height:1.85;
  color:var(--fg);
  background-color:var(--ink-800);
  background-image:
    radial-gradient(900px 620px at 10% -10%,rgba(30,58,95,.9),transparent 62%),
    radial-gradient(720px 520px at 96% 4%,rgba(255,106,26,.14),transparent 60%),
    radial-gradient(600px 480px at 78% 96%,rgba(182,255,59,.07),transparent 65%),
    linear-gradient(180deg,#0A1A33 0%,#081428 52%,#061020 100%);
  background-attachment:fixed;
}

img{max-width:100%;display:block;height:auto}
a{color:inherit}
button{font:inherit}
svg{max-width:100%}

h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style-position:inside}

:focus-visible{
  outline:2px solid var(--lime);
  outline-offset:2px;
  box-shadow:0 0 0 6px rgba(6,16,32,.9);
  border-radius:2px;
}
[data-nav-toggle]:focus-visible,
[data-matrix-toggle]:focus-visible,
.matrix-close:focus-visible,
.tool-link:focus-visible,
.btn:focus-visible{border-radius:var(--radius-s)}

.sr-only{
  position:absolute!important;
  width:1px;height:1px;
  margin:-1px;padding:0;border:0;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap;
}

main{padding-top:calc(var(--header-h) + 34px)}
main.page-bleed{padding-top:0}
[id]{scroll-margin-top:calc(var(--header-h) + 22px)}

/* ---------- 跳至正文 ---------- */
.skip-link{
  position:fixed;top:10px;left:10px;z-index:200;
  transform:translateY(-180%);
  padding:10px 18px;
  background:var(--lime);color:var(--brown);
  font-size:14px;font-weight:700;letter-spacing:.04em;
  text-decoration:none;border-radius:var(--radius-s);
  transition:transform .2s var(--ease);
}
.skip-link:focus{transform:translateY(0)}

/* ---------- 顶栏 ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  color:var(--cream);
  background-color:transparent;
  border-bottom:1px solid transparent;
  transition:background-color .24s var(--ease),border-color .24s var(--ease),backdrop-filter .24s var(--ease);
}
.site-header[data-scrolled="true"],
.site-header[data-matrix-open="true"]{
  background-color:rgba(30,58,95,.82);
  -webkit-backdrop-filter:saturate(140%) blur(16px);
  backdrop-filter:blur(16px) saturate(140%);
  border-bottom-color:var(--line-strong);
}
.site-header[data-matrix-open="true"]{background-color:rgba(6,16,32,.95)}

.scroll-progress{
  position:absolute;left:0;right:0;bottom:-1px;height:2px;
  overflow:hidden;pointer-events:none;background:rgba(6,16,32,.5);
}
.scroll-progress-bar{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--orange) 0%,var(--amber) 45%,var(--lime) 100%);
}

.header-inner{
  max-width:var(--maxw);
  margin:0 auto;
  min-height:var(--header-h);
  padding:0 clamp(16px,3vw,40px);
  display:flex;align-items:center;
  gap:clamp(14px,2.2vw,38px);
}

.header-brand{
  flex:0 0 auto;
  display:flex;flex-direction:column;gap:1px;
  text-decoration:none;color:var(--cream);
}
.brand-mark{
  font-size:21px;font-weight:900;letter-spacing:.01em;line-height:1.25;
  display:inline-block;transform:skewX(-6deg);
  color:var(--cream);
}
.brand-signature{
  font-size:11px;line-height:1.4;letter-spacing:.18em;
  color:var(--slate);text-transform:uppercase;
}

.primary-nav{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-width:0}
.nav-list{display:flex;align-items:center;gap:clamp(10px,1.5vw,26px);list-style:none;margin:0;padding:0}
.nav-item{list-style:none}
.nav-link{
  position:relative;display:inline-block;
  padding:8px 2px;
  font-size:14.5px;letter-spacing:.04em;
  color:rgba(242,232,213,.78);text-decoration:none;
  transition:color .18s var(--ease);
}
.nav-link::after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;
  background:var(--orange);
  transform:scaleX(0);transform-origin:left;
  transition:transform .22s var(--ease);
}
.nav-link:hover,.nav-link:focus-visible{color:var(--cream)}
.nav-link:hover::after,.nav-link:focus-visible::after{transform:scaleX(1)}
.nav-link[aria-current="page"]{color:var(--cream);font-weight:700}
.nav-link[aria-current="page"]::after{transform:scaleX(1)}

.header-tools{flex:0 0 auto;display:flex;align-items:center;gap:10px}

.tool-link{
  display:inline-flex;align-items:center;
  height:38px;padding:0 15px;
  font-size:13.5px;letter-spacing:.05em;
  color:rgba(242,232,213,.86);text-decoration:none;
  border:1px solid var(--line);border-radius:var(--radius-s);
  transition:color .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease);
}
.tool-link:hover,.tool-link:focus-visible{
  color:#fff;border-color:var(--orange);background:rgba(255,106,26,.14);
}
.tool-link--accent{
  background:var(--orange);border-color:var(--orange);
  color:#0A1A33;font-weight:800;
}
.tool-link--accent:hover,.tool-link--accent:focus-visible{
  background:#FF8347;border-color:#FF8347;color:#061020;
}

.matrix-toggle{
  display:inline-flex;align-items:center;gap:9px;
  height:38px;padding:0 14px;
  font-size:13px;letter-spacing:.08em;
  color:var(--cream);cursor:pointer;
  background:rgba(30,58,95,.35);
  border:1px solid var(--line-strong);border-radius:var(--radius-s);
  transition:color .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease);
}
.matrix-toggle::before{
  content:"";width:12px;height:12px;flex:0 0 auto;
  background-image:radial-gradient(currentColor 1.2px,transparent 1.4px);
  background-size:4px 4px;opacity:.85;
}
.matrix-toggle:hover,.matrix-toggle:focus-visible{border-color:var(--orange);color:#fff}
.matrix-toggle[aria-expanded="true"]{
  color:#fff;border-color:var(--orange);background:rgba(255,106,26,.2);
}

.nav-toggle{
  display:none;
  position:relative;
  width:44px;height:44px;padding:0;
  color:var(--cream);cursor:pointer;
  background:rgba(30,58,95,.42);
  border:1px solid var(--line-strong);border-radius:var(--radius-s);
  transition:border-color .18s var(--ease),background-color .18s var(--ease);
}
.nav-toggle:hover{border-color:var(--orange)}
.nav-toggle-bars,
.nav-toggle-bars::before,
.nav-toggle-bars::after{
  position:absolute;left:50%;width:20px;height:2px;
  background:currentColor;
  transition:transform .22s var(--ease),opacity .22s var(--ease);
}
.nav-toggle-bars{top:50%;margin-top:-1px;transform:translateX(-50%)}
.nav-toggle-bars::before{content:"";left:0;top:-6px}
.nav-toggle-bars::after{content:"";left:0;top:6px}
[data-nav-toggle][aria-expanded="true"] .nav-toggle-bars{transform:translateX(-50%) rotate(45deg)}
[data-nav-toggle][aria-expanded="true"] .nav-toggle-bars::before{transform:rotate(-90deg);top:0}
[data-nav-toggle][aria-expanded="true"] .nav-toggle-bars::after{opacity:0;top:0}

/* ---------- 官方矩阵下拉 ---------- */
.matrix-panel{
  position:absolute;top:100%;left:0;right:0;
  background:rgba(6,16,32,.97);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line-strong);
  box-shadow:var(--shadow-glass);
  opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s linear;
}
.matrix-panel[data-open="true"]{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.matrix-panel-inner{
  max-width:var(--maxw);margin:0 auto;
  padding:28px clamp(16px,3vw,40px) 32px;
  display:grid;gap:20px;
}
.matrix-panel-title{
  font-size:12px;letter-spacing:.16em;color:var(--slate);text-transform:uppercase;
}
.matrix-grid{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 clamp(20px,3vw,40px);
}
.matrix-cell{
  display:grid;grid-template-columns:auto 1fr;
  gap:4px 14px;align-items:baseline;
  padding:14px 2px;
  border-top:1px solid var(--line);
}
.matrix-index{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;
  color:var(--vermilion);
}
.matrix-link{
  font-size:17px;font-weight:800;letter-spacing:.01em;
  color:var(--cream);text-decoration:none;
  transform:skewX(-3deg);display:inline-block;
  transition:color .18s var(--ease);
}
.matrix-link:hover,.matrix-link:focus-visible{color:var(--lime)}
.matrix-note{grid-column:2;font-size:13px;line-height:1.6;color:var(--slate)}
.matrix-close{
  justify-self:start;
  height:36px;padding:0 16px;
  font-size:12.5px;letter-spacing:.12em;
  color:rgba(242,232,213,.8);cursor:pointer;
  background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius-s);
  transition:color .18s var(--ease),border-color .18s var(--ease);
}
.matrix-close:hover{color:var(--lime);border-color:var(--lime)}

/* ---------- 移动端抽屉 ---------- */
@media (max-width:1023px){
  :root{--header-h:64px}
  .matrix-toggle,.matrix-panel{display:none}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  .brand-signature{letter-spacing:.14em}

  .primary-nav{
    position:fixed;top:var(--header-h);left:0;right:0;
    max-height:calc(100vh - var(--header-h));
    max-height:calc(100dvh - var(--header-h));
    overflow-y:auto;
    display:block;
    padding:6px clamp(18px,5vw,34px) 26px;
    background:rgba(6,16,32,.97);
    -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
    border-bottom:1px solid var(--line-strong);
    box-shadow:var(--shadow-glass);
    opacity:0;visibility:hidden;transform:translateY(-12px);pointer-events:none;
    transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s linear;
  }
  .primary-nav[data-open="true"]{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-item{border-bottom:1px solid var(--line)}
  .nav-link{display:block;padding:15px 2px;font-size:18px;color:rgba(242,232,213,.92)}
  .nav-link::after{display:none}
  .nav-link[aria-current="page"]{color:var(--lime)}
  .nav-link[aria-current="page"]::before{
    content:"";display:inline-block;width:8px;height:8px;margin-right:10px;
    background:var(--orange);vertical-align:middle;
  }
  body[data-nav-open="true"]{overflow:hidden}
}

@media (max-width:900px){
  .tool-link:not(.tool-link--accent){display:none}
}

@media (max-width:560px){
  .header-inner{gap:10px}
  .brand-mark{font-size:18px}
  .brand-signature{font-size:10px}
  .tool-link--accent{height:36px;padding:0 12px;font-size:13px}
  .nav-toggle{width:40px;height:40px}
  .matrix-grid{grid-template-columns:1fr}
}

/* ---------- 页脚 ---------- */
.site-footer{
  position:relative;
  margin-top:0;
  padding:54px 0 26px;
  background:var(--ink-900);
  border-top:1px solid var(--line);
  color:rgba(242,232,213,.68);
  font-size:13.5px;
  line-height:1.8;
}
.site-footer::before{
  content:"";position:absolute;left:0;right:0;top:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,106,26,.6),rgba(182,255,59,.35),transparent);
}
.footer-inner{
  max-width:var(--maxw);margin:0 auto;
  padding:0 clamp(16px,3vw,40px);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr 1.35fr;
  gap:34px clamp(18px,2.6vw,34px);
}
.footer-brand{display:flex;flex-direction:column;gap:10px}
.footer-logo{
  font-size:20px;font-weight:900;letter-spacing:.01em;
  color:var(--cream);text-decoration:none;
  display:inline-block;transform:skewX(-6deg);
}
.footer-logo:hover{color:var(--lime)}
.footer-tagline{
  font-size:12.5px;line-height:1.75;color:var(--slate);
  max-width:34ch;
}
.footer-col{min-width:0}
.footer-title{
  font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--slate);margin-bottom:14px;
}
.footer-list{
  list-style:none;margin:0;padding:0;
  display:grid;gap:9px;
}
.footer-list li{list-style:none}
.footer-link{
  color:rgba(242,232,213,.74);text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .18s var(--ease),border-color .18s var(--ease);
}
.footer-link:hover,.footer-link:focus-visible{color:var(--lime);border-bottom-color:rgba(182,255,59,.5)}
.footer-contact{display:flex;flex-direction:column;gap:9px}
.footer-contact-row{
  display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;
}
.footer-contact-key{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;
  color:var(--vermilion);text-transform:uppercase;
}
.footer-contact-value{color:rgba(242,232,213,.82);word-break:break-word}
.footer-icp{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;
  color:var(--slate);
}
.footer-meta{
  margin-top:40px;padding-top:20px;
  border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:12px 26px;
  align-items:center;justify-content:space-between;
  font-size:12.5px;color:var(--slate);
}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.footer-end{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.footer-copy{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--slate)}
.to-top{
  display:inline-flex;align-items:center;gap:8px;
  height:36px;padding:0 14px;
  font-size:12.5px;letter-spacing:.1em;
  color:var(--cream);cursor:pointer;
  background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius-s);
  transition:color .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease);
}
.to-top::after{content:"↑";font-size:13px;line-height:1}
.to-top:hover,.to-top:focus-visible{
  color:#fff;border-color:var(--orange);background:rgba(255,106,26,.16);
}

@media (max-width:1180px){
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1 / -1}
  .footer-contact{grid-column:1 / -1}
  .footer-contact .footer-tagline{max-width:60ch}
}
@media (max-width:720px){
  .site-footer{padding-top:42px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .footer-meta{justify-content:flex-start}
}
@media (max-width:460px){
  .footer-grid{grid-template-columns:1fr}
}

/* ---------- 通用布局 ---------- */
.container{
  width:100%;max-width:var(--maxw);
  margin:0 auto;padding:0 clamp(16px,3vw,40px);
}
.container--narrow{max-width:880px}

.grid-12{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(18px,2.4vw,32px);
}
.span-4{grid-column:span 4}
.span-5{grid-column:span 5}
.span-6{grid-column:span 6}
.span-7{grid-column:span 7}
.span-8{grid-column:span 8}
.span-12{grid-column:span 12}
@media (max-width:1000px){
  .span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}
}

/* ---------- 章节标记 ---------- */
.section-head{
  display:flex;align-items:baseline;gap:18px;
  margin:0 0 22px;
}
.section-head::after{
  content:"";flex:1 1 auto;height:1px;
  background:linear-gradient(90deg,var(--line-strong),transparent);
  transform:translateY(-4px);
}
.section-index{
  font-family:var(--font-mono);font-size:13px;letter-spacing:.16em;
  color:var(--vermilion);flex:0 0 auto;
}
.section-title{
  font-size:clamp(23px,3vw,36px);font-weight:800;letter-spacing:-.01em;line-height:1.3;
  color:var(--cream);display:inline-block;transform:skewX(-3deg);
  flex:0 0 auto;
}

/* ---------- 正文与阅读层 ---------- */
.prose{
  max-width:68ch;
  font-size:17px;line-height:1.85;
  color:rgba(242,232,213,.86);
}
.prose p{margin:0 0 1.15em}
.prose h2{
  font-size:clamp(21px,2.4vw,29px);font-weight:800;line-height:1.35;letter-spacing:-.01em;
  color:var(--cream);margin:1.9em 0 .55em;
}
.prose h3{font-size:18.5px;font-weight:700;color:var(--cream);margin:1.6em 0 .5em}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em;list-style-position:outside}
.prose li{margin:.35em 0}
.prose strong{color:var(--cream);font-weight:700}
.prose a{
  color:var(--orange);text-decoration:none;
  border-bottom:1px solid rgba(255,106,26,.5);
}
.prose a:hover{color:var(--lime);border-bottom-color:var(--lime)}
.prose code{
  font-family:var(--font-mono);font-size:.92em;
  background:rgba(6,16,32,.6);color:var(--lime);
  padding:2px 6px;border-radius:3px;
}

.surface-glass{
  background:rgba(30,58,95,.62);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border:1px solid rgba(91,114,144,.45);
  border-radius:var(--radius-m);
  padding:clamp(20px,2.6vw,32px);
}
.surface-paper{
  background:var(--cream);
  color:var(--brown);
  border:1px solid rgba(22,16,9,.14);
  border-radius:var(--radius-m);
  padding:clamp(24px,4vw,52px);
}
.surface-paper .prose{color:rgba(22,16,9,.88)}
.surface-paper .prose h2,
.surface-paper .prose h3,
.surface-paper .prose strong{color:var(--brown)}
.surface-paper .prose a{color:var(--vermilion);border-bottom-color:rgba(217,78,31,.5)}
.surface-paper .prose code{background:rgba(22,16,9,.08);color:var(--vermilion)}

/* ---------- 索引列表 ---------- */
.index-list{list-style:none;margin:0;padding:0;display:grid}
.index-item{
  display:grid;grid-template-columns:auto 1fr;gap:4px 20px;align-items:baseline;
  padding:16px 6px;
  border-top:1px solid var(--line);
  transition:background-color .2s var(--ease);
}
.index-item:last-child{border-bottom:1px solid var(--line)}
.index-item:hover{background:rgba(30,58,95,.45)}
.index-num{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;
  color:var(--orange);
}
.index-title{
  font-size:18px;font-weight:700;letter-spacing:.01em;
  color:var(--cream);text-decoration:none;
  transition:color .18s var(--ease);
}
.index-title:hover{color:var(--lime)}
.index-note{grid-column:2;font-size:13.5px;line-height:1.7;color:var(--slate)}

/* ---------- 卡片 ---------- */
.card{
  background:rgba(6,16,32,.62);
  border:1px solid var(--line);
  border-radius:var(--radius-m);
  padding:clamp(20px,2.4vw,30px);
  transition:transform .22s var(--ease),border-color .22s var(--ease),box-shadow .22s var(--ease);
}
.card:hover{transform:translateY(-4px);border-color:var(--orange);box-shadow:var(--shadow-glass)}
.card-title{
  font-size:19px;font-weight:800;letter-spacing:.01em;line-height:1.4;
  color:var(--cream);margin-bottom:8px;display:inline-block;transform:skewX(-3deg);
}
.card-text{font-size:15px;line-height:1.8;color:rgba(242,232,213,.72)}

/* ---------- 数据 ---------- */
.stat{display:flex;flex-direction:column;gap:4px}
.stat-value{
  font-family:var(--font-mono);
  font-size:clamp(30px,4vw,46px);
  font-weight:700;line-height:1;letter-spacing:-.02em;
  color:var(--lime);
}
.stat-value--orange{color:var(--orange)}
.stat-label{
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--slate);
}
.stat-delta{font-family:var(--font-mono);font-size:13px;color:var(--amber)}

/* ---------- 标签 ---------- */
.tag{
  display:inline-flex;align-items:center;
  height:24px;padding:0 10px;
  font-size:12px;letter-spacing:.1em;line-height:1;
  border-radius:2px;
  color:#FFB899;background:rgba(217,78,31,.18);border:1px solid rgba(217,78,31,.5);
}
.tag--amber{color:var(--amber);background:rgba(255,176,32,.14);border-color:rgba(255,176,32,.45)}
.tag--lime{color:var(--lime);background:rgba(182,255,59,.12);border-color:rgba(182,255,59,.4)}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:46px;padding:0 22px;
  font-size:14.5px;font-weight:700;letter-spacing:.06em;
  text-decoration:none;cursor:pointer;
  border:1px solid transparent;border-radius:var(--radius-s);
  transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);
}
.btn--primary{background:var(--orange);color:#0A1A33;border-color:var(--orange)}
.btn--primary:hover{background:#FF8347;border-color:#FF8347;transform:translateY(-2px)}
.btn--ghost{background:rgba(30,58,95,.35);color:var(--cream);border-color:var(--line-strong)}
.btn--ghost:hover{color:var(--lime);border-color:var(--lime);transform:translateY(-2px)}
.btn--quiet{
  min-height:auto;padding:0 2px;
  background:transparent;color:rgba(242,232,213,.82);
  border:0;border-bottom:1px solid var(--slate);border-radius:0;
}
.btn--quiet:hover{color:var(--lime);border-bottom-color:var(--lime)}

/* ---------- 面包屑 ---------- */
.breadcrumb{margin:0 0 26px}
.breadcrumb-list{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  list-style:none;margin:0;padding:0;
  font-size:12.5px;letter-spacing:.1em;
  font-family:var(--font-mono);
}
.breadcrumb-list li{list-style:none;display:flex;align-items:center;gap:8px}
.breadcrumb-list li+li::before{content:"/";color:var(--line-strong)}
.crumb{color:var(--slate);text-decoration:none;transition:color .18s var(--ease)}
.crumb:hover{color:var(--cream)}
.crumb[aria-current="page"]{color:var(--orange)}

/* ---------- 图像容器（供页面阶段放图） ---------- */
.figure{display:grid;gap:12px}
.media-frame{
  position:relative;display:block;overflow:hidden;isolation:isolate;
  aspect-ratio:16/9;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-m);
  background-image:
    radial-gradient(420px 300px at 80% 12%,rgba(255,106,26,.2),transparent 70%),
    radial-gradient(380px 280px at 10% 90%,rgba(182,255,59,.14),transparent 72%),
    linear-gradient(140deg,#12294A 0%,#0A1A33 46%,#061020 100%);
}
.media-frame img{width:100%;height:100%;object-fit:cover;display:block}
.media-frame::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(rgba(91,114,144,.28) 1px,transparent 1px),
    linear-gradient(90deg,rgba(91,114,144,.28) 1px,transparent 1px);
  background-size:44px 44px;
  mix-blend-mode:screen;
}
.media-frame::after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(200deg,rgba(255,106,26,.16),transparent 45%),
             linear-gradient(0deg,rgba(6,16,32,.55),transparent 55%);
}
.media-frame--wide{aspect-ratio:21/9}
.media-frame--tall{aspect-ratio:3/4}
.media-frame--square{aspect-ratio:1/1}
.figure-caption{font-size:12.5px;letter-spacing:.06em;color:var(--slate)}

/* ---------- 显现 ---------- */
[data-reveal]{
  opacity:0;transform:translateY(16px);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}
[data-reveal].is-visible{opacity:1;transform:none}

/* ---------- 减少动态效果 ---------- */
@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}
  .card:hover,.btn:hover{transform:none}
}
