.subpage{max-width:1400px;margin:0 auto;padding:90px 4vw 120px}.subpage-head{border-bottom:1px solid var(--line);padding-bottom:36px;margin-bottom:42px}.subpage-head h1{font-size:clamp(48px,7vw,96px);letter-spacing:-.07em;line-height:.95;margin:16px 0}.subpage-head p{max-width:620px;color:var(--muted);font-size:17px;line-height:1.8}.subpage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}.subpage-card{background:var(--paper);padding:30px;min-height:220px}.subpage-card b{color:var(--red);font:12px ui-monospace,monospace}.subpage-card h2{font-size:30px;margin:28px 0 12px}.subpage-card p{color:var(--muted);line-height:1.8}.subpage-back{display:inline-block;margin-top:40px;color:var(--red);font-size:13px}@media(max-width:800px){.subpage{padding:64px 5vw 80px}.subpage-grid{grid-template-columns:1fr}.subpage-card{padding:24px}}

/* 科技飞行板块框架：先固定视觉语言，后续内容可直接替换 */
body:has(.subpage) { background: #edf1f1; }
.subpage::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .28;
  background-image: linear-gradient(rgba(70,105,116,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(70,105,116,.08) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.85), transparent 78%);
}
.subpage { position: relative; isolation: isolate; }
.subpage::before {
  content: "CUBE / FLIGHT OPERATIONS";
  position: absolute;
  top: 38px;
  right: 4vw;
  color: rgba(38,54,66,.38);
  font: 10px ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .18em;
}
.subpage-head { position: relative; padding-top: 22px; }
.subpage-head::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 96px;
  border-top: 2px solid var(--red);
}
.subpage-head::after {
  content: "01 / SYSTEM MODULE";
  position: absolute;
  right: 0;
  bottom: 14px;
  color: #7b898d;
  font: 10px ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .14em;
}
.subpage-card { position: relative; overflow: hidden; transition: background .2s ease, transform .2s ease; }
.subpage-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 42px;
  height: 3px;
  background: var(--red);
}
.subpage-card::after {
  content: "↗";
  position: absolute;
  top: 24px;
  right: 28px;
  color: rgba(38,54,66,.36);
  font-size: 20px;
}
.subpage-card:hover { background: #f8faf9; transform: translateY(-2px); z-index: 1; }
.subpage-card:hover::before { width: 86px; transition: width .2s ease; }
.subpage-card h2 { letter-spacing: -.04em; }
.subpage-card p { max-width: 38em; }
.subpage-back { position: relative; padding: 12px 18px 12px 0; border-bottom: 1px solid var(--red); }
.subpage-back::before { content: "ACCESS / "; margin-right: 7px; color: #7b898d; font: 10px ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; }
.training-rail { display: flex; align-items: center; gap: 12px; margin: -12px 0 34px; color: #7b898d; font: 10px ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; overflow-x: auto; white-space: nowrap; }
.training-rail i { flex: 1; max-width: 110px; height: 1px; background: rgba(38,54,66,.25); }
.training-rail span.is-active { color: var(--red); }
.training-rail span.is-active::before { content: "● "; }
@media(max-width:800px){ .training-rail { gap: 8px; font-size: 8px; letter-spacing: .05em; } .training-rail i { min-width: 18px; } }
@media(max-width:800px){
  .subpage::before { top: 24px; right: 5vw; font-size: 8px; }
  .subpage-head::after { position: static; display: block; margin-top: 24px; }
  .subpage-card::after { right: 22px; }
}
