:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24303a;background:#f8fafb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;line-height:1.55}.wrap{width:min(1120px,calc(100% - 40px));margin-inline:auto}.masthead{background:#10283a;color:#f2f7f9;padding:64px 0 42px}.masthead h1{font-family:Georgia,serif;font-weight:500;letter-spacing:-.025em;font-size:clamp(2.1rem,5vw,3.7rem);margin:4px 0 12px}.eyebrow{font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:#526674}.masthead .eyebrow{color:#9bc7d4}.subtitle{font-size:1.12rem;max-width:670px;color:#ccdae0}.status{font-size:.83rem;display:inline-block;background:#264b60;border:1px solid #557d8c;border-radius:999px;padding:5px 14px}.masthead nav{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px}.masthead nav a{color:#d9f0fb;text-decoration-color:#89b8ca}.intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0 58px}.intro>div{border:1px solid #dbe5ea;border-radius:12px;padding:18px 20px;background:#fff}.intro h2{margin:0 0 6px;font-size:1.05rem}.intro p{font-size:.9rem;margin:0;color:#526474}.directory{padding-bottom:40px}.directory-heading{display:flex;gap:30px;align-items:flex-start;justify-content:space-between}.directory-heading h2{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:0}.minor{color:#5e6f79;font-size:.87rem}.filters{min-width:min(330px,100%);display:grid;gap:5px;font-size:.8rem;font-weight:600}.filters select,.filters input[type=search]{width:100%;height:40px;padding:8px 11px;font:inherit;font-weight:400;border-radius:7px;border:1px solid #b8c8d0;background:#fff;color:#24303a;margin:0 0 9px}.check{display:flex;gap:8px;align-items:center;font-weight:400;cursor:pointer}.labs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.lab{border:1px solid #d5dfe4;border-radius:10px;background:#fff;padding:21px 22px;box-shadow:0 2px 5px #20374606}.lab .id{font-size:.75rem;color:#657987;letter-spacing:.045em;font-weight:700}.lab h3{margin:6px 0;font-size:1.11rem;line-height:1.35}.lab p{margin:8px 0;font-size:.9rem}.lab .question{font-weight:500}.lab .observable{color:#526474}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}.chip{font-size:.73rem;background:#eef3f5;padding:2px 8px;border-radius:5px;color:#375265}.chip.route{background:#e8f4f1;color:#215e51}.lab a{font-size:.84rem;color:#115a80;text-decoration:underline;text-underline-offset:3px}.error{color:#a21b28}.footer{padding:20px 0 45px;border-top:1px solid #dce6eb;font-size:.85rem}.footer a{color:#115a80}a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #37a7cc;outline-offset:3px}@media(max-width:760px){.intro{grid-template-columns:1fr;margin:22px 0 36px}.directory-heading{flex-direction:column}.filters{width:100%}.labs{grid-template-columns:1fr}.masthead{padding:38px 0}.wrap{width:min(100% - 30px,1120px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Featured course experiments. */
.featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:21px 0 62px}
.featured a{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #d4e2e9;border-radius:11px;padding:22px 24px;text-decoration:none;color:#243b4b;box-shadow:0 2px 8px #1e445108}
.featured a:hover,.featured a:focus-visible{border-color:#367e95;background:#f4fafc}
.featured span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#47838e}
.featured strong{font:normal 1.3rem Georgia,serif;color:#153c52}
.featured small{font-size:.86rem;color:#5d707d}
.featured em{font-size:.82rem;margin-top:5px;font-style:normal;font-weight:700;color:#146b84}
.lab a.launch{font-weight:700;color:#14747a}
@media(max-width:760px){.featured{grid-template-columns:1fr;margin-bottom:42px}}

/* Responsive featured-experiment layout. */
@media(min-width:1040px){.featured{grid-template-columns:repeat(3,minmax(0,1fr))}}
.featured a{min-height:170px;justify-content:space-between}

/* Self-study collections: experiments, foundations, and readings. */
.lab-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px}
.lab-links a{font-size:.85rem}
.lab-reading{background:#fbfcfd}
.lab-reference{border-style:dashed}
.reading-hero{max-width:830px}
.reading-guide{border:1px solid #d5e0e5;border-radius:12px;padding:21px 24px;margin:24px 0;background:#f2f7f9}
.reading-guide p{color:#485e69}
.reading-chapter{margin:42px 0 26px}
.reading-chapter h2{font:normal 1.7rem Georgia,serif;margin:0 0 12px;color:#203e50}
.reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.reading-task{background:#fff;border:1px solid #d5dfe4;border-radius:11px;padding:21px 23px;scroll-margin-top:30px}
.reading-task h3{font-size:1.05rem;margin:5px 0 12px}
.reading-task p{margin:9px 0;font-size:.9rem;color:#415965}
.reading-task .reading-action{border-left:3px solid #148579;background:#edf5f3;padding:11px 13px;margin:12px 0}
.reading-task a{color:#146178;font-size:.88rem}
.reading-task .links{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
@media(max-width:760px){.reading-grid{grid-template-columns:1fr}.reading-task{padding:16px}}

.reading-chapter-nav{display:flex;gap:11px;flex-wrap:wrap;margin:16px 0 10px}
.reading-chapter-nav a{border:1px solid #d5e1e7;background:#fff;border-radius:6px;padding:7px 11px;color:#155c70;text-decoration:none;font-size:.86rem}
.reading-chapter-nav a:hover,.reading-chapter-nav a:focus-visible{background:#eaf5f7;border-color:#74acb7}
.reading-action{line-height:1.65}
