:root{color-scheme:dark light;--deep:#002015;--surface:#062b1d;--raised:#12432f;--ink:#f2fbf3;--muted:#b9d0c0;--mint:#7ce5aa;--sun:#ffde78;--coral:#ff9c55}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep);color:var(--ink);font-family:"Nunito Sans",sans-serif}nav{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:15px max(20px,calc((100vw - 1000px)/2));border-bottom:1px solid #d4ffe31f;background:#002015f2}nav a{color:var(--mint);text-decoration:none;font-weight:800}nav div{display:flex;gap:16px}nav div a{color:var(--muted);font-size:0.8125rem}header,main,footer{width:min(1000px,calc(100% - 40px));margin:auto}header{padding:88px 0 60px}header p{margin:0;color:var(--sun);font-size:0.75rem;font-weight:800;letter-spacing:.12em}h1,h2,h3{font-family:Fredoka,sans-serif;text-wrap:balance}h1{max-width:800px;margin:14px 0 20px;font-size:clamp(3.5rem,9vw,5.75rem);line-height:.92;letter-spacing:-.04em}header>span{display:block;max-width:690px;color:var(--muted);font-size:1.1875rem;line-height:1.6}.hero-rule{height:10px;margin-top:42px;border-radius:999px;background:linear-gradient(90deg,var(--mint) 0 48%,var(--sun) 48% 72%,var(--coral) 72%)}main{padding-bottom:80px}section{padding:40px 0;border-top:1px solid #d4ffe31f}h2{margin:0 0 18px;font-size:2.125rem;letter-spacing:-.025em}h3{margin:30px 0 8px;font-size:1.4375rem}p,li{max-width:74ch;color:var(--muted);font-size:1rem;line-height:1.65}strong,b{color:var(--ink)}ul,ol{padding-left:22px}.callout{padding:24px;border-radius:24px;background:var(--raised);font-size:1.125rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.tile{min-height:170px;padding:22px;border-radius:22px;background:var(--surface)}.tile h3{margin-top:0}.swatch{height:90px;margin:-4px -4px 16px;border-radius:16px}.mint{background:var(--mint)}.sun{background:var(--sun)}.coral{background:var(--coral)}.evergreen{background:#062b1d;border:1px solid #d4ffe32b}table{width:100%;border-collapse:collapse;color:var(--muted)}th,td{padding:14px;text-align:left;border-bottom:1px solid #d4ffe31f}th{color:var(--ink)}code{color:var(--sun)}.docs-shell{padding-top:56px}.eyebrow{margin:0;color:var(--sun);font-size:0.75rem;font-weight:800;letter-spacing:.12em}.invite-download{display:inline-flex;align-items:center;min-height:50px;padding:14px 22px;border-radius:16px;color:#0b2216;background:var(--mint);text-decoration:none;font-weight:800}.invite-download:hover{background:#9cf0c0}.invite-download:focus-visible{outline:3px solid var(--sun);outline-offset:3px}footer{padding:34px 0 60px;border-top:1px solid #d4ffe31f;color:var(--muted)}footer a{color:var(--mint)}@media(max-width:650px){nav div{display:none}header{padding-top:58px}h1{font-size:3.5rem}table{display:block;overflow-x:auto}.grid{grid-template-columns:1fr}}
@media(prefers-color-scheme:light){:root{--deep:#f1efea;--surface:#ffffff;--raised:#edeae3;--ink:#1b1a17;--muted:#55534d;--mint:#006d45;--sun:#815e00;--coral:#9b4e00}nav{border-bottom-color:#1b1a1714;background:#f1efeaf2}section,table th,table td,footer{border-color:#1b1a1714}.invite-download{color:#ffffff}.invite-download:hover{background:#005535}.mint{background:#7ce5aa}.sun{background:#ffde78}.coral{background:#ff9c55}.evergreen{background:#062b1d;border-color:#1b1a173d}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#course-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:22px 0 8px}
.course-field{display:flex;flex-direction:column;gap:6px;flex:1 1 260px}
.course-field span{color:var(--muted);font-size:0.8125rem;font-weight:700}
.course-field input{min-height:50px;padding:12px 16px;border:1px solid #d4ffe32b;border-radius:16px;background:var(--surface);color:var(--ink);font:inherit;font-size:1rem}
.course-field input:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
#course-form button{border:0;cursor:pointer;font:inherit;font-weight:800}
#course-results h3{margin:0 0 6px;font-size:1.25rem;overflow-wrap:anywhere}
.course-place{margin:0 0 6px;color:var(--muted);font-size:0.875rem}
.course-card{margin:0 0 10px;color:var(--ink);font-size:0.9375rem;font-weight:700}
.course-credit{margin:0;color:var(--muted);font-size:0.75rem}
@media(prefers-color-scheme:light){.course-field input{border-color:#1b1a1729}}
