.feature { margin-top: var(--section); }
.feature:last-child { margin-bottom: var(--section); }
.feature-intro { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: var(--lead); }
.feature-intro p { font-size: 1rem; line-height: 1.6; max-width: 480px; color: #555; }
.pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pair-gap); }
.stage { position: relative; aspect-ratio: 1.22; min-width: 0; overflow: hidden; background: #eaeaf2; }
.stage video { display: block; width: 100%; height: 100%; object-fit: cover; }
.stage-note { position: absolute; left: var(--edge); right: var(--edge); bottom: var(--edge); font-size: 0.75rem; color: #555; }
.pair-play { grid-column: 1 / -1; justify-self: start; margin-top: var(--note); padding: 10px 0; background: none; border: 0; border-bottom: 1px solid currentColor; font-size: 0.875rem; }
.pair-play:hover { color: #666; }
.edit-line { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: var(--note); font-size: 0.875rem; color: #555; }
.edit-line code, .code-stage code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
.edit-line code { color: #333; font-size: 0.75rem; }
.files { list-style: none; margin: 0; padding: 0; border-top: 1px solid #e6e6e3; }
.files > li { display: grid; grid-template-columns: 88px minmax(0, 2.4fr) repeat(3, minmax(0, 1fr)) auto; align-items: center; gap: 24px; padding: 16px 0; border-bottom: 1px solid #e6e6e3; }
.files img { width: 88px; height: 66px; object-fit: cover; }
.file-name { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.file-name span:first-child { font-size: 1rem; }
.file-name span:last-child, .file-stat { font-size: 0.875rem; color: #666; }
.file-stat strong { font-weight: 400; color: #111; font-variant-numeric: tabular-nums; }
.files a { color: #111; font-size: 0.875rem; text-decoration: none; padding: 10px 0; }
.files a:hover { color: #666; }
.code-stage { background: #f5f5f3; display: grid; grid-template: auto 1fr / minmax(0, 1fr); padding: 22px 24px; }
.code-stage .visual-label { position: static; }
.code-stage pre { align-self: center; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: clamp(0.7rem, 0.95vw, 0.875rem); line-height: 1.7; color: #222; }
.code-stage .quiet { color: #8a8a86; }
.tide-stage { background: #f0e6df; }
@media (min-width: 1600px) {
  .pair, .files { max-width: 1600px; }
}
@media (max-width: 900px) {
  .files > li { grid-template-columns: 72px minmax(0, 1fr) auto; gap: 8px 16px; }
  .files img { width: 72px; height: 72px; grid-row: span 2; }
  .file-stat { grid-column: 2; display: inline; }
  .file-stat + .file-stat { display: none; }
  .files a { grid-column: 3; grid-row: 1 / span 2; }
}
@media (max-width: 700px) {
  .feature-intro { gap: 10px; }
  .stage { aspect-ratio: 0.72; }
  .motion-proof video { transform: scale(1.3); }
  .stage-note, .stage .visual-label { font-size: 0.6875rem; }
  .rust-proof { grid-template-columns: 1fr; }
  .rust-proof .stage { aspect-ratio: auto; }
  .rust-proof .tide-stage { aspect-ratio: 0.9; }
  .code-stage { padding: 18px 16px; gap: 16px; }
  .code-stage pre { font-size: 0.75rem; }
}
