.from-grid{display:grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 32px 0 0;}
  .from-grid .src{background:#fff; border:1px solid var(--line); border-radius: 10px; padding: 14px; text-align:center; font-family:'Instrument Serif',serif; font-size:18px; color: var(--ink-2);}

  .timeline{display:grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 56px 0;}
  .tl{background:#fff; border:1px solid var(--line); border-radius:14px; padding: 28px;}
  .tl .day{font-family:'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.12em; color: var(--accent);}
  .tl h4{font-family:'Instrument Serif', serif; font-weight:400; font-size: 24px; margin: 8px 0 8px; line-height: 1.1;}
  .tl p{font-size: 13.5px; color: var(--ink-2); margin: 0;}
  .tl ul{font-size: 12.5px; color: var(--ink-3); margin: 12px 0 0; padding-left: 18px;}

  .moves{display:grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 48px;}
  .move-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding: 28px;}
  .move-card h4{margin: 0 0 12px; font-family:'Instrument Serif',serif; font-weight:400; font-size: 24px;}
  .move-card ul{margin: 0; padding: 0; list-style: none;}
  .move-card li{padding: 8px 0; font-size: 14px; display:flex; gap: 10px; border-bottom: 1px dashed var(--line);}
  .move-card li:last-child{border-bottom:none;}
  .move-card li::before{content:"→"; color: var(--accent); font-weight: 400;}

  .test-bar{background: var(--ink); color: var(--bg); padding: 64px 0; text-align: center;}
  .test-bar p{font-family:'Instrument Serif', serif; font-style: italic; font-size: clamp(22px, 2.6vw, 32px); max-width: 760px; margin: 0 auto 16px; line-height: 1.3;}
  .test-bar cite{font-style: normal; font-family:'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.12em; color: color-mix(in oklab, var(--bg) 60%, transparent);}

  @media(max-width:960px){.timeline, .from-grid{grid-template-columns:1fr 1fr;} .moves{grid-template-columns:1fr;}}
