:root{--paper:#f7f5ed;--ink:#263d33;--muted:#627164;--rule:#dce0d0;--accent:#355f48}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bb8f45;outline-offset:4px}[hidden]{display:none!important}.learn-home{max-width:1232px;padding:0 40px;margin:auto}.learn-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding:55px 0 44px}.eyebrow{margin:0 0 13px;font-size:10px;line-height:1.4;letter-spacing:.12em;font-weight:800;color:#6a7d62}.hero-copy h1{font-size:clamp(36px,4.3vw,58px);line-height:1.08;letter-spacing:-.04em;font-weight:730;margin:0 0 17px}.hero-intro{font-size:16px;color:#637164;line-height:1.7;margin:0 0 23px}.primary-link{display:inline-flex;align-items:center;gap:32px;text-decoration:none;background:#345c44;color:#fffef3;padding:11px 17px;border-radius:7px;font-weight:650;font-size:14px}.primary-link:hover{background:#244832}.resume-caption{font-size:11px;color:var(--muted);margin:11px 0 0}.practice-card{padding:22px 26px 16px;background:#253d33;color:#e0e8d4;border:1px solid #3c5541;border-radius:16px;box-shadow:0 14px 0 -7px #dfe3d0;transform:rotate(1deg)}.practice-top{display:flex;align-items:center;justify-content:space-between;font:600 10px/1.5 ui-monospace,monospace;letter-spacing:.07em;color:#aebf9d}.practice-dot{width:7px;height:7px;border-radius:50%;background:#cce89d;box-shadow:0 0 0 4px #cce89d12}.practice-example{display:grid;grid-template-columns:1fr 112px;gap:16px;align-items:center;padding:12px 0}.practice-example pre{font:13px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre;margin:14px 0}.code-muted{color:#a8b7a3}.code-call{color:#e5edc6}.code-number{color:#efd399}.practice-example svg{width:112px}.practice-loop{margin:0;padding:14px 0 12px;display:flex;list-style:none;justify-content:space-between;border-top:1px solid #506446;font-size:12px;font-weight:600;gap:9px}.practice-loop span{color:#b1c886;font:10px ui-monospace,monospace;margin-right:5px}.practice-card>a{font-size:11px;color:#bbcaaa;display:flex;justify-content:space-between;text-decoration:none}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.section-heading .eyebrow{margin:0 0 7px}.section-heading h2{font-size:23px;line-height:1.3;letter-spacing:-.025em;margin:0;font-weight:650}.section-heading>a{font-size:12px;color:#586f51;flex:none;text-decoration:none}.habit-section{border-top:1px solid var(--rule);padding:30px 0}.habit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.habit-card{padding:18px 17px 12px;border:1px solid #d3ddc7;border-radius:10px;background:#eff2e4}.habit-card:nth-child(2){background:#f2edde;border-color:#e0d9c3}.habit-card:nth-child(3){background:#e8efea;border-color:#cfddd3}.habit-card:nth-child(4){background:#edeaf0;border-color:#ddd5e2}.habit-no{font:600 10px ui-monospace,monospace;color:#788a67}.habit-card h3{font-size:16px;line-height:1.3;margin:8px 0}.habit-card p{font-size:12px;color:#62705c;line-height:1.65;margin:0 0 14px;min-height:40px}.habit-card button{border:0;border-top:1px solid #304d351a;background:none;padding:10px 0 0;text-align:left;cursor:pointer;color:#365b3a;font-size:11px;font-weight:700;width:100%;display:flex;justify-content:space-between;gap:4px}.habit-card button:hover{text-decoration:underline}.habit-note{font-size:11px;color:#73806a;margin:13px 0 0}.path-section{padding:14px 0 34px}.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.path-card{display:block;border:1px solid #d7decd;border-radius:12px;overflow:hidden;background:#fffdf5;text-decoration:none;transition:transform .15s,box-shadow .15s}.path-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #2438220c}.path-art{height:130px;padding:20px 24px;position:relative;overflow:hidden}.code-art{background:#e0ead5;color:#4e7650;display:flex;flex-direction:column;justify-content:center;font:14px/1.8 ui-monospace,monospace}.code-art svg{position:absolute;right:23px;top:18px;width:94px;height:94px}.code-art path{fill:none;stroke:#739652;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.binary-art{background:#e6ebeb;display:flex;flex-direction:column;justify-content:center;gap:12px}.binary-art>div{display:flex;gap:5px}.binary-art span{display:grid;place-items:center;border:1px solid #bccdc8;width:29px;height:36px;border-radius:7px;color:#8a9f96;font:16px ui-monospace,monospace}.binary-art .on{background:#548378;color:#fff;border-color:#548378}.path-art small{font:10px ui-monospace,monospace;color:#748b80}.thinking-art{background:#eee5d5;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.thinking-art>span{font-size:18px;color:#796b4e;letter-spacing:-.02em}.thinking-art>div{display:flex;align-items:end;gap:14px;height:27px}.thinking-art i{display:block;width:3px;height:20px;background:#ac9570;border-radius:3px}.thinking-art i:nth-child(2){height:27px}.thinking-art i:nth-child(3){height:14px}.thinking-art small{color:#978064}.path-copy{padding:18px 20px}.path-level{font-size:9px;font-weight:750;color:#779061;letter-spacing:.06em}.path-copy h3{font-size:17px;line-height:1.3;margin:8px 0;display:flex;justify-content:space-between;gap:12px;font-weight:650}.path-copy h3 span{font-size:16px;color:#96a487}.path-copy p{font-size:12px;line-height:1.7;color:var(--muted);margin:0;min-height:41px}.path-progress,.path-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:19px;font-size:10px;color:#728265}.progress-track{height:5px;flex:1;max-width:100px;background:#e9eddc;border-radius:20px;overflow:hidden}.progress-track>span{display:block;height:100%;width:0;background:#64875a;border-radius:20px}.path-footer>span{font-size:9px;color:#89977e}.explore-section{padding:30px 0 35px;border-top:1px solid var(--rule)}.search-label{width:235px}.search-label>span{display:block;font-size:10px;font-weight:650;color:#6d7c63;margin-bottom:5px}.search-label input{width:100%;padding:9px 12px;font-size:12px;border:1px solid #cfd8c4;border-radius:7px;background:#fffdf6;color:#334b39}.catalog-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 17px}.catalog-filters{display:flex;gap:6px;flex-wrap:wrap}.catalog-filters button{cursor:pointer;border:1px solid #d4ddc8;border-radius:6px;padding:6px 12px;background:transparent;color:#6b7d61;font-size:11px;font-weight:650}.catalog-filters button[aria-pressed="true"]{background:#3d5e43;border-color:#3d5e43;color:#fffef3}#resultCount{font-size:10px;color:#79876e;white-space:nowrap}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.activity-card{display:flex;flex-direction:column;gap:8px;padding:18px;background:#fffdf6;border:1px solid #dce1d0;border-radius:9px;text-decoration:none}.activity-card:hover{background:#f1f5e8;border-color:#b6c6a8}.activity-card .activity-meta{display:flex;justify-content:space-between;gap:8px;font-size:9px;font-weight:700;color:#8a7a57;text-transform:uppercase;letter-spacing:.04em}.activity-card h3{font-size:14px;line-height:1.35;margin:0;font-weight:650}.activity-card p{font-size:12px;color:#75816b;line-height:1.6;margin:0;flex:1}.activity-card .activity-skill{font:10px/1.5 ui-monospace,monospace;color:#6f8a5e;margin-top:3px}.learn-footer{padding:24px 0 34px;border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#77856d}.learn-footer strong{display:block;color:#526d4c;font-size:12px;font-weight:650}.learn-footer span{font:11px ui-monospace,monospace}.learn-footer nav{display:flex;gap:20px}.learn-footer a{text-decoration:none}
@media(max-width:1050px){.learn-hero{gap:28px}.practice-card{padding:18px}.practice-example{grid-template-columns:1fr 90px}.practice-example svg{width:90px}.habit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.habit-card p{min-height:0}.path-grid{gap:12px}.path-art{padding:18px}.path-copy{padding:15px}.binary-art span{width:24px;font-size:13px}.code-art svg{width:66px;right:12px}.code-art{font-size:12px}}
@media(max-width:760px){.learn-home{padding:0 20px}.learn-hero{grid-template-columns:1fr;padding:35px 0;gap:27px}.hero-copy h1{font-size:44px}.hero-intro{font-size:14px}.practice-card{transform:none;max-width:500px}.practice-example{grid-template-columns:1fr 100px;padding:4px 0}.practice-example pre{font-size:13px}.practice-loop{padding:10px 0}.section-heading{align-items:start;flex-wrap:wrap;gap:12px}.section-heading h2{font-size:21px}.section-heading>a{font-size:11px}.path-grid{grid-template-columns:1fr}.path-card{display:grid;grid-template-columns:125px minmax(0,1fr)}.path-art{height:100%;min-height:165px}.code-art{font-size:9px;padding:14px 8px}.code-art svg{top:94px;left:35px;width:60px;height:60px}.binary-art>div{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.binary-art span{width:20px;height:27px;font-size:12px}.path-art small{font-size:8px}.thinking-art>span{font-size:15px;line-height:1.5}.thinking-art{text-align:center;padding:14px}.path-copy h3{font-size:16px}.path-copy p{font-size:11px;min-height:0}.path-level{font-size:8px}.path-footer{flex-wrap:wrap;gap:3px;margin-top:12px}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-label{width:100%}.catalog-controls{align-items:start;flex-wrap:wrap;gap:8px}.catalog-filters{gap:5px}.catalog-filters button{padding:7px 8px;font-size:10px}.learn-footer{align-items:start;flex-wrap:wrap}}
@media(max-width:390px){.learn-home{padding:0 14px}.habit-grid{gap:9px}.habit-card{padding:14px 12px 12px}.habit-card h3{font-size:15px}.habit-card p{font-size:11px}.habit-card button{font-size:10px}.activity-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.path-card{transition:none}}
/* Readable classroom type, including on smaller screens. */
body{font-size:1rem;line-height:1.6}
.eyebrow,.practice-top,.resume-caption,.practice-card>a,.habit-no,.habit-note,.path-level,.path-progress,.path-footer,.path-footer>span,.activity-card .activity-meta,.activity-card .activity-skill,.path-art small,.search-label>span,#resultCount,.learn-footer,.learn-footer span{font-size:.75rem}
.hero-copy h1{letter-spacing:-.02em}
.hero-intro,.habit-card p,.path-copy p,.activity-card p{font-size:1rem;line-height:1.55}
.primary-link,.section-heading>a,.habit-card button,.practice-loop,.search-label input,.catalog-filters button,.learn-footer strong{font-size:.875rem}
.practice-example pre,.code-art{font-size:.875rem}
.habit-card h3,.path-copy h3,.activity-card h3{font-size:1.125rem}
.habit-card p{min-height:0}
.path-copy p{min-height:0}
.practice-dot{display:none}
@media(max-width:760px){
  .learn-hero{padding:28px 0;gap:20px}
  .hero-copy h1{font-size:2.5rem}
  .practice-card{display:none}
  .path-card{grid-template-columns:1fr}
  .path-art{height:100px;min-height:0;padding:16px 20px}
  .code-art{font-size:.875rem}
  .code-art svg{top:12px;left:auto;right:18px;width:76px;height:76px}
  .binary-art>div{display:flex;gap:5px}
  .binary-art span{width:29px;height:30px;font-size:1rem}
  .thinking-art>span{font-size:1.125rem}
  .thinking-art>div{display:none}
  .activity-grid{grid-template-columns:1fr}
  .habit-grid{grid-template-columns:1fr}
  .habit-card{padding:16px 18px}
}
