/* Shared, scoped styling for the MIDISplitter 1.5 support page and web manual. */
.ms15 { overflow-wrap: anywhere; }
.ms15 .page-intro { max-width: 900px; padding: 48px 0 24px; }
.ms15 h1 { font-size: clamp(34px, 5vw, 62px); line-height: 1.08; }
.ms15 h2 { font-size: clamp(26px, 3.5vw, 34px); line-height: 1.18; }
.ms15 h3 { font-size: 21px; line-height: 1.3; }
.ms15 .intro-heading { align-items: center; }
.ms15 .intro-heading h1 { margin: 0; }
.ms15 .support-tagline { margin-top: 24px; }
.ms15 .version-note { margin: 20px 0 0; font-size: 15px; }
.ms15 .section-nav { padding: 20px 0; border-block: 1px solid var(--line); }
.ms15 .support-section { padding: 40px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 20px; }
.ms15 .support-section > p, .ms15 .quick-start, .ms15 .support-section > ul { max-width: 850px; }
.ms15 li + li { margin-top: 10px; }
.ms15 .quick-start { padding-left: 25px; }
.ms15 .support-note { margin: 24px 0; padding: 20px 24px; background: var(--soft); border-left: 4px solid var(--accent); color: var(--ink); }
.ms15 .ms-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.ms15 .ms-feature-grid article { padding: 26px; border: 1px solid var(--line); border-radius: 10px; background: #f7f9fa; }
.ms15 .ms-feature-grid article > a { font-weight: 650; color: #205c5d; }
.ms15 details { border-bottom: 1px solid var(--line); padding: 18px 0; }
.ms15 summary { cursor: pointer; font-weight: 700; font-size: 18px; padding: 4px 0; }
.ms15 details p { margin: 14px 0 0; max-width: 850px; }
.ms15 a:focus-visible, .ms15 summary:focus-visible { outline: 3px solid #205c5d; outline-offset: 4px; }
.ms15 .skip-link { position: absolute; left: 16px; top: -100px; z-index: 10; padding: 12px 18px; background: white; }
.ms15 .skip-link:focus { top: 12px; }
.ms15 .button { padding-block: 10px; text-align: center; }
.ms15 footer span { display: flex; flex-wrap: wrap; gap: 18px; }
.ms15 .manual-toc { columns: 2; padding-left: 24px; }
.ms15 .manual-toc li { break-inside: avoid; padding: 4px 0; }
.ms15 .manual-topic { max-width: 850px; padding: 36px 0; border-top: 1px solid var(--line); scroll-margin-top: 20px; }
.ms15 .manual-topic h3 { margin-top: 28px; }
.ms15 .manual-topic li { margin-bottom: 12px; }
.ms15 .back-top { font-size: 15px; }
.ms15 .chapter-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 24px 0; }
.ms15 .chapter-nav a { color: #205c5d; }
.ms15 .tutorial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ms15 .tutorial-grid article { padding: 24px; border: 1px solid var(--line); border-radius: 10px; background: #f7f9fa; scroll-margin-top: 24px; }
.ms15 .tutorial-grid h3 { min-height: 2.6em; }
.ms15 .tutorial-grid .watch-link { margin: 16px 0 0; font-weight: 650; }
@media (max-width: 680px) {
  .ms15 .chapter-nav, .ms15 .tutorial-grid { grid-template-columns: 1fr; }
  .ms15 .tutorial-grid article { padding: 18px; }
  .ms15 .tutorial-grid h3 { min-height: 0; }
  .ms15 .site-header { align-items: flex-start; flex-direction: column; padding: 18px 20px; }
  .ms15 .site-header nav { gap: 12px 18px; }
  .ms15 .intro-heading { gap: 14px; }
  .ms15 .appstore-mark { width: 66px; }
  .ms15 .page-intro { padding-top: 32px; }
  .ms15 .ms-feature-grid { grid-template-columns: 1fr; }
  .ms15 .ms-feature-grid article { padding: 22px; }
  .ms15 .manual-toc { columns: 1; }
  .ms15 footer { align-items: flex-start; flex-direction: column; padding: 24px 20px; }
}
@media print {
  .ms15 .site-header, .ms15 .skip-link, .ms15 footer, .ms15 .back-top { display: none; }
  .ms15 main { width: 100%; }
  .ms15 .ms-feature-grid { display: block; }
  .ms15 .ms-feature-grid article { margin-bottom: 16px; break-inside: avoid; }
  .ms15 h2, .ms15 h3 { break-after: avoid; }
}
