.home{max-width:1040px;margin:0 auto;padding:0 16px 48px}.muted{color:var(--muted)}.small{font-size:.9rem}.hero{align-items:center;gap:28px;padding:36px 0 28px;display:grid}.hero h1{letter-spacing:-.01em;margin:0 0 14px;font-size:clamp(2rem,6vw,2.8rem);line-height:1.15}.lead{color:var(--muted);max-width:34em;margin:0 0 22px;font-size:1.15rem}.cta{margin:0 0 10px}.cta .button{padding:12px 20px;font-size:1.05rem}.hero-text .small{color:var(--muted);margin:0}.hero-term{background:var(--term-bg);color:#e8e8e6;border-radius:10px;min-width:0;padding:16px 18px;box-shadow:0 10px 30px #0000002e}.hero-term pre{background:0 0;margin:0;padding:0;font-size:.92rem;line-height:1.6;overflow-x:auto}@media (width<=420px){.hero-term pre{font-size:.74rem}}.hero-term .p{color:#6fdc8c;font-weight:700}.hero-term .d{color:#6d9bff;font-weight:700}.hero-term .cursor{background:#e8e8e6}.hero-check{color:#6fdc8c;background:#16281d;border-radius:6px;margin:12px 0 0;padding:6px 10px;font-size:.92rem}.how h2,.course h2{margin:28px 0 12px;font-size:1.4rem}.steps{gap:14px;margin:0;padding:0;list-style:none;display:grid}.steps li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.steps h3{margin:0 0 4px;font-size:1.05rem}.steps p{color:var(--muted);margin:0}.course .muted{margin-top:-6px}.challenge-list{counter-reset:c;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:14px 0;padding:0;list-style:none}.challenge-list li{counter-increment:c;align-items:center;gap:12px;padding:0 14px;display:flex}.challenge-list li+li{border-top:1px solid var(--border)}.challenge-list li:before{content:counter(c);background:var(--code-bg);width:1.8em;height:1.8em;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:600;display:grid}.challenge-list li.solved:before{background:var(--ok-bg);color:var(--ok)}.challenge-list a{min-width:0;color:var(--text);flex:1;padding:12px 0;text-decoration:none}.challenge-list a:hover .title{text-decoration:underline}.challenge-list .title{color:var(--accent);font-weight:600;display:block}.challenge-list .concept{color:var(--muted);font-size:.92rem;display:block}.challenge-list .mark{color:var(--ok);flex:none;font-weight:700}@media (width>=820px){.hero{grid-template-columns:1.1fr 1fr;padding-top:56px}.steps{grid-template-columns:repeat(3,1fr)}}
