:root{color-scheme:light;--ink:#173b32;--muted:#53675f;--paper:#f8f7f1;--line:#d8e1d8;--green:#236649;--gold:#e8ce81;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:#205d43;text-underline-offset:.2em}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,.lesson:focus-visible{outline:3px solid #aa6114;outline-offset:4px;border-radius:3px}.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:22px;border-bottom:1px solid var(--line)}.brand{font-size:1.3rem;font-weight:800;text-decoration:none}.site-header nav{display:flex;flex-wrap:wrap;gap:12px 24px}.skip{position:absolute;top:0;left:16px;transform:translateY(-150%);padding:10px;background:#fff;z-index:2}.skip:focus{transform:translateY(0)}
.hero{max-width:900px;padding:44px 0 24px}.eyebrow{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:750;color:var(--green)}h1,h2,h3,h4{line-height:1.2;text-wrap:balance}h1{font-size:clamp(2.5rem,6vw,4.4rem);letter-spacing:-.04em;margin:12px 0 24px}h2{font-size:clamp(1.5rem,3vw,2.1rem)}h3{font-size:1.4rem}h4{font-size:1.1rem;margin:12px 0}.lead{font-size:1.25rem;max-width:740px}.small{font-size:.9rem;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.button{display:inline-flex;justify-content:center;align-items:center;padding:11px 18px;border:1px solid var(--green);border-radius:9px;font:inherit;font-weight:650;text-decoration:none;min-height:44px;cursor:pointer;background:transparent;color:var(--green)}.button[hidden]{display:none}.primary{background:var(--green);color:#fff}.button:hover{background:#e8efdf}.primary:hover{background:#174d36}
.first-mission{border:1px solid var(--line);border-radius:16px;padding:24px 30px;margin-bottom:24px;background:#fff}.first-mission h2{margin:10px 0 16px}.mission-path{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;margin:24px 0}.mission-path li{display:flex;gap:12px;align-items:flex-start}.mission-number{display:grid;place-items:center;flex:0 0 32px;height:32px;border:1px solid var(--green);border-radius:50%;font-weight:750;color:var(--green);background:#edf1e7}.mission-path strong{display:block;font-size:1.05rem}.mission-path p{margin:5px 0 12px;color:var(--muted)}.mission-path a{display:inline-flex;align-items:center;min-height:44px}
.how{background:#edf1e7;border:1px solid var(--line);padding:24px 30px;border-radius:16px}.how h2{margin-top:0}.how ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-left:22px}.how li{padding-left:4px}.how strong{display:block}.contents{padding-block:24px;scroll-margin-top:20px}.notice{border-left:4px solid var(--gold);padding:4px 22px;margin-bottom:24px;background:#fffdf6}.notice p{margin-block:10px}#geometry-sections{margin-top:22px}.course-section{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#fff;scroll-margin-top:20px;overflow-wrap:anywhere}.section-heading{display:grid;grid-template-columns:40px 1fr auto 14px;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:18px 22px;min-height:64px;border-radius:12px}.section-heading::-webkit-details-marker{display:none}.section-heading::after{content:'+';font-size:1.35rem;color:var(--green)}.course-section[open]>.section-heading::after{content:'−'}.section-heading:hover{background:#edf1e7}.section-number{font-size:1.3rem;font-weight:750;color:var(--green)}.section-heading h3{margin:0;font-size:1.1rem;line-height:1.4}.section-count{color:var(--muted);font-size:.85rem;white-space:nowrap}.section-goal{margin:2px 22px 8px}.section-source{margin:0 22px 18px;color:var(--muted);font-size:.85rem}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0 18px 18px}.lesson{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:22px;display:flex;flex-direction:column;scroll-margin-top:20px;min-width:0}.lesson p{margin:8px 0 16px}.lesson-number{font-size:.78rem;font-weight:700;letter-spacing:.07em;color:var(--muted)}.lesson .actions{margin-top:auto;align-items:center}.lesson [data-preview]{font-size:.9rem;line-height:1.4;display:inline-flex;align-items:center;min-height:44px}.lesson details{margin:18px 0 8px;font-size:.9rem;color:var(--muted)}.lesson summary{cursor:pointer;min-height:44px}.lesson ul{padding-left:20px}.sources{border-top:1px solid var(--line);padding:26px 0;max-width:850px}footer{border-top:1px solid var(--line);padding-block:20px 36px;display:flex;justify-content:space-between;gap:16px}
@media(max-width:700px){.container{width:calc(100% - 28px)}.site-header{align-items:flex-start}.site-header nav{gap:8px;flex-direction:column;font-size:.9rem}.hero{padding-top:32px}.how,.first-mission{padding:20px}.how ol,.lesson-grid,.mission-path{grid-template-columns:1fr}.how ol{gap:16px}.mission-path{gap:18px}.lesson{padding:18px}.lesson-grid{padding:0 10px 10px;gap:10px}.section-heading{grid-template-columns:28px 1fr 14px;gap:10px;padding:16px 12px}.section-number{font-size:1.1rem}.section-heading h3{font-size:1rem}.section-count{grid-column:2;grid-row:2}.section-heading::after{grid-column:3;grid-row:1 / span 2}.section-goal,.section-source{margin-inline:12px}.lesson .actions{align-items:flex-start;flex-direction:column}.hero .button{width:100%}footer{font-size:.9rem}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
