
html{scroll-behavior:smooth} .course{max-width:900px;margin:0 auto;padding:3rem 1.5rem 6rem;line-height:1.85}.breadcrumb{font-size:.9rem;color:#64748b;margin-bottom:1rem}.breadcrumb a,.back a{color:#0879ab;text-decoration:underline}.course h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:750;line-height:1.25;border-bottom:4px solid #87ceeb;padding-bottom:.7rem}.course h1 small{font-size:.48em;color:#53778c}.intro{font-size:1.1rem;margin:1.2rem 0 2rem}.toc{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem;margin:2rem 0 4rem}.toc a{display:block;padding:1rem 1.1rem;border:1px solid #c7dce8;background:#fff;border-radius:.7rem;color:#0a628d;text-decoration:none;font-weight:700}.toc a:hover,.actions a:hover{background:#eaf7fc}.lesson{padding:2.4rem 0;border-top:1px solid #cbd5e1;scroll-margin-top:2rem}.chapter{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#5d7180}.lesson h2{font-size:1.8rem;font-weight:700;margin:.2rem 0}.lead{font-size:1.1rem;color:#475569;margin-bottom:1.2rem}.lesson p{margin:.8rem 0}.lesson code:not(pre code){font-family:Consolas,'Noto Sans Mono',monospace;font-size:.94em;background:#eaf1f4;padding:.12em .35em;border-radius:.25em;color:#173247}.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.3rem 0}.actions a,.resource{display:inline-block;color:#075985;border:1px solid #65a3c2;background:#fff;border-radius:.5rem;padding:.45rem .9rem;text-decoration:none;font-weight:700}details{margin:1rem 0;background:#f8fbfc;border:1px solid #cbd5e1;border-radius:.6rem}summary{cursor:pointer;padding:.75rem 1rem;font-weight:700}pre{overflow:auto;white-space:pre;tab-size:2;background:#142432;color:#e7f1f6;padding:1.1rem;margin:0;border-radius:0 0 .6rem .6rem;font: .83rem/1.55 Consolas,'Noto Sans Mono',monospace}.back{font-size:.88rem;margin-top:2rem!important}body.dark .toc a,body.dark .actions a,body.dark details{color:#e5f3fa;background:#223343}.dark .lesson code:not(pre code){color:#d7eff9;background:#283a4b}.dark .lead{color:#b9c9d8}

.code-guide{background:#eef8fc;border-left:4px solid #5ba9cb;padding:1.2rem 1.4rem;border-radius:.5rem;margin:2rem 0}.code-guide h2{font-size:1.3rem;font-weight:700;margin:0 0 .5rem}.code-guide p{margin:.6rem 0}.walkthrough{margin:1.6rem 0}.walkthrough h3{font-size:1.25rem;font-weight:700;margin-bottom:.8rem}.walkthrough ol{list-style:decimal;padding-left:1.6rem}.walkthrough li{padding:.35rem 0 .8rem .25rem;border-bottom:1px solid #dbe5ec}.walkthrough li::marker{color:#157ba7;font-weight:700}.walkthrough li p{margin:.25rem 0}.walkthrough li code{overflow-wrap:anywhere}.dark .code-guide{background:#1c3544}.dark .walkthrough li{border-color:#405466}

.lesson-list-title{font-size:1.5rem;font-weight:700;margin:2rem 0 1rem}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.lesson-card{display:flex;flex-direction:column;gap:.4rem;background:#fff;border:1px solid #c7dce8;border-radius:.8rem;padding:1.3rem;text-decoration:none;color:#1a506b}.lesson-card:hover{background:#eaf7fc;border-color:#69b1d0}.card-index{font-size:.8rem;color:#57809a}.lesson-card strong{font-size:1.25rem}.lesson-card>span:nth-of-type(2){color:#536b7a}.card-arrow{margin-top:auto;color:#075985;font-weight:700}.lesson-neighbors{display:flex;justify-content:space-between;gap:1rem;margin:2rem 0}.lesson-neighbors a{color:#075985;text-decoration:underline}.download-note{margin-top:2rem}.dark .lesson-card{background:#223343;color:#e5f3fa}.dark .lesson-card:hover{background:#2d4555}.dark .lesson-card>span:nth-of-type(2){color:#bed0db}

.html-anatomy{margin:1.25rem 0;padding:1.2rem 1.4rem;border:1px solid #9ec9dc;border-radius:.7rem;background:#f2faff}.html-anatomy>code{display:block;margin-bottom:.7rem;font-size:1.15rem}.html-anatomy>code span{color:#0879ab;font-weight:700}.rule-list{list-style:decimal;padding-left:1.6rem;margin:1rem 0}.rule-list li{margin:.7rem 0;padding-left:.25rem}.dark .html-anatomy{background:#1c3544;border-color:#47788f}.dark .html-anatomy>code span{color:#7dd3fc}

.ai-policy{margin:1.5rem 0 2.2rem;padding:1.2rem 1.4rem;border:2px solid #d97706;border-radius:.7rem;background:#fff7ed}.ai-policy h2{font-size:1.3rem;font-weight:750;color:#9a3412;margin:0 0 .6rem}.ai-policy p{margin:.55rem 0}.dark .ai-policy{background:#422006;border-color:#f59e0b}.dark .ai-policy h2{color:#fdba74}
