/* Readable FAQ and a more tangible first lesson; existing course content stays. */
.access-faq { --faq-bg:#17191c; --faq-surface:#222529; --faq-ink:#f4f4f2; --faq-muted:#bcc0c4; --faq-line:#42464b; background:var(--faq-bg); color:var(--faq-ink); grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:clamp(32px,5vw,80px); }
[data-theme=light] .access-faq { --faq-bg:#f5f5f5; --faq-surface:#ffffff; --faq-ink:#202326; --faq-muted:#555b61; --faq-line:#d5d8da; }
.access-faq .faq-intro h2 { font-size:clamp(30px,3.1vw,44px); letter-spacing:-.035em; line-height:1.18; color:var(--faq-ink); }
.access-faq .faq-intro h2 em { color:var(--faq-muted); }
.access-faq .faq-intro>p,.access-faq .faq-discord-link { color:var(--faq-muted); font-size:16px; line-height:1.75; }
.access-faq .faq-list { border:0; display:grid; gap:10px; }
.access-faq .faq-list details,.access-faq .faq-list details:hover,.access-faq .faq-list details[open],.access-faq .faq-list details[open]:hover { padding:0 22px; border:1px solid var(--faq-line); border-radius:8px; background:transparent; color:var(--faq-ink); transition:none; }
.access-faq .faq-list details[open],.access-faq .faq-list details[open]:hover { background:var(--faq-surface); }
.access-faq .faq-list summary { gap:14px; grid-template-columns:26px minmax(0,1fr) 24px; min-height:74px; padding:20px 0; }
.access-faq .faq-list summary b { font:600 16px/1.55 Manrope,sans-serif; letter-spacing:0; }
.access-faq .faq-list summary>span,.access-faq .faq-list details[open] summary>span { color:var(--faq-muted); font:400 12px/1.5 'DM Mono',monospace; transform:none; }
.access-faq .faq-list summary i { font:400 22px/1 Manrope,sans-serif; }
.access-faq .faq-list details p { font:400 16px/1.75 Manrope,sans-serif; color:var(--faq-muted); margin:0 36px 23px 40px; }
.access-faq .faq-list summary:focus-visible { outline:2px solid var(--faq-ink); outline-offset:4px; border-radius:3px; }
.book-shell .book-sidebar h2,.book-shell .book-content h3 { letter-spacing:-.02em; }
.book-shell .book-sidebar { top:102px; }
.book-shell .book-sidebar a { font-size:14px; line-height:1.6; padding-block:12px; }
.book-content .lesson-route { border:0; padding:28px; background:var(--lab-surface); border-radius:12px; margin-block:26px; }
.book-content .lesson-route .lesson-kicker { font:600 13px/1.6 Manrope,sans-serif; letter-spacing:.05em; color:var(--lab-muted); margin:0 0 22px; }
.book-content .lesson-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.book-content .lesson-route-grid>a { display:flex; flex-direction:column; padding:22px 18px; border:1px solid var(--lab-border); border-radius:8px; background:var(--tone-161616); color:var(--lab-ink); text-decoration:none; }
.book-content .lesson-route-grid>a:first-child { background:var(--lab-teal-bg); border-color:var(--lab-teal); }
.book-content .lesson-route-grid>a:hover { border-color:var(--lab-ink); }
.book-content .lesson-route-grid>a:focus-visible { outline:2px solid var(--lab-ink); outline-offset:3px; }
.book-content .lesson-route-grid>a>span { font:600 13px/1.5 Manrope,sans-serif; letter-spacing:.06em; color:var(--lab-muted); margin:0 0 27px; }
.book-content .lesson-route-grid h3 { font:700 21px/1.3 Manrope,sans-serif; letter-spacing:-.02em; margin:0 0 12px; }
.book-content .lesson-route-grid p { font-size:15px; line-height:1.65; margin:0 0 24px; color:var(--lab-muted); }
.book-content .lesson-route-grid strong { margin-top:auto; font:600 14px/1.5 Manrope,sans-serif; color:var(--lab-ink); }
.book-content .lesson-route-end { border:0; margin:20px 0 0; padding:0; font-size:14px; }
.book-content .lab-flow { gap:24px; }
.book-content .lab-takeaways h3 { font:600 18px/1.5 Manrope,sans-serif; margin-block:30px 16px; }
.book-content .lab-check { padding:28px; }
@media(max-width:1050px) { .book-content .lesson-route-grid { grid-template-columns:1fr; }.book-content .lesson-route-grid>a { padding:20px; }.book-content .lesson-route-grid>a>span { margin-bottom:14px; }.book-content .lesson-route-grid p { margin-bottom:16px; } }
@media(max-width:900px) { .access-faq { grid-template-columns:minmax(0,1fr); gap:32px; } }
@media(max-width:600px) {
  .access-faq .faq-list details,.access-faq .faq-list details:hover,.access-faq .faq-list details[open],.access-faq .faq-list details[open]:hover { padding-inline:16px; }
  .access-faq .faq-list summary { grid-template-columns:22px minmax(0,1fr) 20px; gap:10px; padding:18px 0; }
  .access-faq .faq-list details p { margin:0 0 20px; }
  .book-content .lesson-route { padding:20px; }
  .book-content .lab-check { padding:22px 18px; }
  .book-shell .book-mobile { top:70px; }
}
