/* Learning home: three clear tasks, then a useful chapter directory. */
.study-home { display:grid; gap:24px; }
.study-home>* { min-width:0; }
.home-heading h1 { margin:4px 0 0; font-size:32px; line-height:1.4; letter-spacing:-.035em; }
.home-eyebrow { margin:0; color:var(--muted); font-size:14px; }
.home-workspace { display:grid; gap:16px; }
.workspace-top { display:flex; }
.home-path { display:grid; grid-auto-rows:1fr; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-step { display:grid; grid-template-columns:32px minmax(0,1fr); grid-template-rows:auto auto 1fr auto; gap:10px 12px; align-content:stretch; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.home-step-number { display:grid; place-items:center; width:32px; height:32px; border-radius:8px; background:var(--soft); color:var(--accent-strong); font-size:16px; font-weight:700; }
.home-step h2 { margin:0; align-self:center; font-size:22px; line-height:1.4; }
.home-step>p,.home-step-actions { grid-column:1/-1; margin:0; min-width:0; }
.home-step>p { font-size:16px; line-height:1.7; }
.home-step>p:not(.home-step-status) { min-height:3.4em; }
.home-step .home-step-status { color:var(--muted); font-size:14px; min-height:48px; }
.home-step-actions { align-self:end; padding-top:4px; }
.home-step-actions>.button { width:var(--button-max); min-height:var(--control-height); font-size:16px; }
.home-progress { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0 16px; padding-top:8px; font-size:14px; color:var(--muted); border-top:1px solid var(--line); }
.home-progress p { display:flex; align-items:center; gap:8px; margin:0; }
.home-progress a,.home-help-links a { display:inline-flex; align-items:center; gap:6px; min-height:44px; font-size:14px; }
.home-help-links { display:flex; flex-wrap:wrap; gap:0 24px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.home-catalog-intro { max-width:var(--measure); margin:0 0 16px; color:var(--muted); font-size:16px; }
.section-title { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:0 16px; margin-bottom:8px; }
.section-title h2 { margin:0; font-size:22px; line-height:1.5; }
.section-title>a { display:inline-flex; align-items:center; gap:6px; min-height:44px; color:var(--accent-strong); font-size:14px; text-decoration:none; }
.section-title>a .ui-icon { width:18px; height:18px; }
.home-chapter-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:12px; }
.home-chapter-group { min-width:0; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.home-chapter-group>summary { display:flex; align-items:center; gap:12px; min-height:56px; padding:12px 16px; list-style:none; color:var(--ink); font-size:16px; }
.home-chapter-group>summary::-webkit-details-marker { display:none; }
.home-chapter-group>summary::after { content:"+"; flex-shrink:0; width:16px; color:var(--accent-strong); font-size:20px; text-align:center; }
.home-chapter-group[open]>summary::after { content:"−"; }
.home-chapter-group>summary>span { margin-left:auto; color:var(--muted); font-size:13px; font-weight:400; white-space:nowrap; }
.home-chapter-group nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 8px; padding:8px; border-top:1px solid var(--line); }
.home-chapter-group nav a { display:flex; align-items:center; gap:8px; min-width:0; min-height:44px; padding:8px; border-radius:6px; color:var(--text); font-size:15px; line-height:1.6; text-decoration:none; }
.home-chapter-group nav a:hover { background:var(--soft); }
.home-chapter-number { color:var(--muted); font-size:13px; font-variant-numeric:tabular-nums; }
.home-chapter-group nav a>span[data-chapter-title] { flex:1; }
.home-chapter-group nav a>.ui-icon { width:16px; height:16px; color:var(--accent-strong); }
.home-optional,.home-exam-details { border-top:1px solid var(--line); }
.home-optional>summary,.home-exam-details>summary { min-height:48px; padding:12px 0; cursor:pointer; font-size:16px; font-weight:600; }
.home-optional[open] .home-utilities { margin-top:24px; }
.home-exam-details a { display:inline-flex; align-items:center; min-height:44px; }
.visual-topics { display:grid; grid-auto-rows:1fr; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.visual-topic { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); color:var(--text); text-decoration:none; }
.visual-topic:hover { border-color:var(--accent); }
.topic-picture { display:grid; place-items:center; height:144px; padding:16px; background:var(--surface-subtle); border-bottom:1px solid var(--line); }
.topic-picture img { display:block; width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; }
.topic-copy { display:flex; flex-direction:column; flex:1; padding:16px; }
.visual-topic h3 { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 6px; font-size:17px; line-height:1.5; }
.visual-topic h3>.ui-icon { width:16px; height:16px; color:var(--muted); }
.visual-topic p { flex:1; margin:0; color:var(--muted); font-size:14px; }
.home-tool-links { display:grid; grid-auto-rows:1fr; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.home-tool-links>a { display:flex; align-items:center; gap:12px; min-width:0; padding:16px; min-height:64px; border:1px solid var(--line); border-radius:var(--radius-control); color:var(--text); background:var(--surface); font-size:16px; text-decoration:none; }
.home-tool-links>a>span { flex:1; min-width:0; }
.home-tool-links>a>.ui-icon { color:var(--accent-strong); }
.home-tool-links small { display:block; margin-top:4px; color:var(--muted); font-size:14px; }
.home-provenance { display:flex; align-items:center; flex-wrap:wrap; gap:4px 24px; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.home-provenance>span,.home-provenance>a { display:inline-flex; align-items:center; gap:6px; }
.home-provenance .ui-icon { width:18px; height:18px; }
.home-provenance>a { margin-left:auto; min-height:44px; color:var(--accent-strong); }
@media(max-width:1000px) {
  .home-step { padding:20px; }
  .home-step>p:not(.home-step-status) { min-height:5.1em; }
  .home-step h2 { font-size:20px; }
  .home-chapter-group nav { grid-template-columns:1fr; }
  .visual-topics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .study-home { gap:20px; }
  .home-heading h1 { font-size:26px; }
  #home-vehicle-tabs,.workspace-top .vehicle-switch { width:100%; }
  .home-path { grid-template-columns:1fr; gap:12px; }
  .home-step { grid-template-columns:28px minmax(0,1fr) auto; gap:6px 10px; padding:16px; }
  .home-step-number { grid-column:1; grid-row:1; width:28px; height:28px; font-size:14px; }
  .home-step h2 { grid-column:2; grid-row:1; font-size:20px; }
  .home-step>p { grid-column:2/-1; font-size:14px; }
  .home-step>p:not(.home-step-status) { min-height:3.4em; }
  .home-step .home-step-status { font-size:14px; min-height:0; }
  .home-step-actions { grid-column:2/-1; padding-top:4px; }
  .home-step-actions>.button { width:100%; min-height:var(--control-height); font-size:15px; }
  .home-chapter-groups,.home-tool-links { grid-template-columns:1fr; }
  .home-help-links { gap:0 16px; }
  .home-provenance>a { margin-left:0; }
}
@media print { .home-path { grid-template-columns:repeat(3,minmax(0,1fr)); } .home-step { break-inside:avoid; } .home-help-links { display:none; } }
