/* Shared flat introduction, adapted from the established module catalogue. */
.mode-catalog,.practice-setup.mode-catalog { max-width:1080px; margin:0 auto; }
.mode-back { display:inline-flex; align-items:center; min-height:44px; margin:0 0 16px; color:var(--text2); text-decoration:none; font-size:14px; font-weight:600; }
.mode-back:focus-visible,.mode-intro summary:focus-visible { outline:3px solid var(--blue); outline-offset:4px; border-radius:4px; }
.mode-back:hover { color:var(--blue); }
.practice-intro.mode-intro { margin:0 0 28px; max-width:68ch; }
.mode-intro h1,.practice-setup .mode-intro h1 { margin:0; font-size:32px; line-height:1.2; font-weight:800; letter-spacing:-.025em; text-wrap:balance; }
.mode-intro h1 span { color:var(--blue); }
.mode-intro-situations h1 span { color:var(--red); }
.mode-intro > p { margin:12px 0 4px; color:var(--text2); line-height:1.55; font-size:16px; }
.mode-intro .practice-guide { margin-top:4px; }
.mode-intro .practice-guide summary { width:fit-content; max-width:100%; min-height:44px; padding:10px 0; box-sizing:border-box; color:var(--text2); font-size:14px; cursor:pointer; }
.mode-intro .practice-guide summary:hover { color:var(--blue); }
.mode-intro .practice-guide[open] summary { color:var(--text); }
.mode-guide-body { border-top:1px solid var(--border); padding:4px 0; }
.mode-guide-body p { margin:12px 0; font-size:14px; color:var(--text2); line-height:1.6; }
.mode-catalog .marathon-list { margin-top:0; }
@media (min-width:850px) { .mode-catalog .marathon-list { grid-template-columns:repeat(2,minmax(0,1fr)); } .mode-catalog .marathon-link { grid-template-columns:1fr; gap:12px; } }
@media (max-width:600px) { .mode-intro h1,.practice-setup .mode-intro h1 { font-size:28px; } .mode-intro > p { font-size:15px; } .practice-intro.mode-intro { margin-bottom:24px; } }
