/* Same palette as the approved lessons. New batch only. */
.lesson-layout[data-lesson="reference"] .lesson-track { display:none; }
.lesson-layout:is([data-lesson="linear"],[data-lesson="backprop"],[data-lesson="pytorch"],[data-lesson="reference"]) .lesson-route-links { max-height:50vh; overflow-y:auto; padding:3px 5px; }
.lesson-layout:is([data-lesson="linear"],[data-lesson="backprop"],[data-lesson="pytorch"],[data-lesson="reference"]) .lesson-route-links a { padding-top:7px; padding-bottom:7px; font-size:13px; }
.lesson-search label { display:block; font-size:20px; font-weight:700; margin-bottom:12px; }
.lesson-search-controls { display:flex; gap:12px; margin-bottom:12px; }
.lesson-search input { flex:1; min-width:0; min-height:48px; border:1px solid var(--border); border-radius:8px; padding:10px 14px; font:inherit; color:var(--fg); background:var(--bg); }
.lesson-search button { min-height:48px; border:1px solid var(--border); border-radius:8px; padding:10px 16px; color:var(--fg); background:var(--accent-soft); cursor:pointer; font:inherit; }
.lesson-search input:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.lookup-categories { display:flex; gap:10px; flex-wrap:wrap; margin:18px 0; }
.lookup-categories a { display:inline-flex; align-items:center; min-height:40px; padding:6px 12px; border:1px solid var(--border); border-radius:8px; background:var(--bg); font-size:14px; }
.lesson-layout[data-lesson="reference"] [hidden] { display:none!important; }
.lesson-layout[data-lesson="reference"] .lesson-detail-card table { width:100%; table-layout:auto; }
.lesson-layout[data-lesson="reference"] .lesson-detail-card td { line-height:1.85; padding:14px; }
.lesson-layout[data-lesson="reference"] .lesson-detail-card td:first-child { min-width:145px; }
.lesson-layout[data-lesson="reference"] .lesson-detail-card td:last-child { min-width:230px; }
.lesson-layout[data-lesson="pytorch"] pre { max-height:520px; overflow:auto; }
.lesson-layout[data-lesson="pytorch"] pre[data-code-open="true"] { max-height:none; }
.code-read-control { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin:10px 0 22px; font-size:13px; color:var(--muted); }
.code-read-control button { font:inherit; color:var(--fg); background:var(--accent-soft); border:1px solid var(--border); border-radius:8px; padding:9px 14px; min-height:40px; cursor:pointer; }
.lesson-layout[data-lesson="pytorch"] .lesson-card > a { display:inline-block; min-height:40px; padding:6px 0; }
.guided-index main { max-width:1360px; padding:36px 40px 64px; }
.guided-index .lesson-hero h1 { font-size:clamp(32px,3vw,46px); line-height:1.4; margin:8px 0 16px; border:0; }
.guided-index .lesson-hero p { margin-top:0; }
.guided-index .index-routes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0; }
.guided-index .index-route { padding:24px; border:1px solid var(--border); border-radius:14px; background:var(--card); }
.guided-index .index-route h2 { margin:0 0 10px; padding:0; border:0; font-size:21px; }
.guided-index .index-route p { color:var(--muted); font-size:15px; }
.guided-index .index-route a { display:inline-block; padding:8px 0; min-height:42px; }
.guided-index .index-catalog { padding-top:24px; scroll-margin-top:90px; }
.guided-index .stage { padding:24px; border:1px solid var(--border); border-radius:14px; background:var(--card); margin:24px 0; }
.guided-index .stage h2 { margin:0 0 18px; }
.guided-index .stage .cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.guided-index .stage .card { min-width:0; padding:18px; }
.guided-index .index-more { border:1px solid var(--border); border-radius:14px; margin:24px 0; padding:22px; background:var(--card); }
.guided-index .index-more > summary { cursor:pointer; font-weight:700; }
.guided-index .index-more table { width:100%; }
.guided-index .index-more .table-scroll { overflow-x:auto; }
.guided-index a:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
@media(min-width:1450px) { .lesson-layout:is([data-lesson="linear"],[data-lesson="backprop"],[data-lesson="pytorch"]) .lesson-overview-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:900px) { .guided-index .index-routes { grid-template-columns:1fr 1fr; } .guided-index main { padding:24px; } }
@media(max-width:600px) { .guided-index .index-routes,.guided-index .stage .cards { grid-template-columns:1fr; } .guided-index main { padding:20px 16px; } .guided-index .stage { padding:16px; } .lesson-search-controls { flex-direction:column; } }
