.year-figure{margin:28px 0;padding:26px;border:1px solid #e5def0;border-radius:24px;background:#faf8fe;min-width:0}
.year-figure.year-biology{background:#f5faf7;border-color:#dcece1}
.year-generated-art{display:block;width:100%;height:auto;aspect-ratio:3/2;max-height:440px;object-fit:contain;border-radius:18px;background:#fff}
.year-interactive .year-generated-art{max-height:300px}
.year-art-note{display:block;margin:8px 0;font-size:11px;line-height:1.6;color:#67766e}
.year-model-data{margin:16px 0 4px;padding:16px;border-radius:16px;background:#fff;border:1px solid #deebe3}
.year-model-data h4{margin:0 0 12px;font-size:14px;color:#466557}
.year-model-data p{font-size:14px!important;line-height:1.6!important;margin:10px 0 0!important}
.year-data-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.year-data-row>span{flex:1;min-width:100px;padding:12px;border-radius:12px;background:#f1f7f3;font-size:14px;line-height:1.5}
.year-data-row strong{display:block;font-size:20px;color:#28553e}
.year-model-data table{border-collapse:separate;border-spacing:5px;width:100%;font-size:16px;text-align:center}
.year-model-data th,.year-model-data td{padding:10px;border-radius:10px;background:#f0f5f1}
.year-model-data th{font-size:13px;color:#58695e}
.year-model-data td{font-weight:750;color:#4b4977}
.year-model-data .year-recessive{background:#f9eed5;color:#775b27}
.year-model-data svg{max-height:240px}
.year-food-path{font-size:clamp(13px,2.8vw,18px);line-height:1.8;margin:8px 0;color:#29573f}
.bio-specimen{display:flex;align-items:center;justify-content:center;overflow:hidden}
.bio-specimen img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
.bio-tray .bio-seedling{width:auto;height:105px;display:flex;align-items:center;justify-content:center;transform:none}
.bio-seedling img{display:block;width:100%;height:72px;object-fit:contain}
.bio-seedling.grown img{height:105px;animation:bio-sprout .55s ease both}
.bio-vial-image{display:block;width:180px;height:250px;object-fit:contain;margin:0 auto 24px}
.year-figure figcaption>span{font-size:11px;letter-spacing:.06em;font-weight:800;color:#7b688e}
.year-figure h3{font-size:22px;line-height:1.4;margin:8px 0 22px}
.year-scene{width:100%;margin:12px auto;overflow:hidden;border-radius:16px}
.year-scene svg{display:block;width:100%;height:auto;max-height:400px;margin:0;font-family:inherit}
.year-equation{display:block;text-align:center;font-size:clamp(20px,4vw,28px);font-weight:800;line-height:1.6;color:#654a86;overflow-wrap:anywhere}
.lesson-focus .year-figure .year-caption{font-size:16px;line-height:1.8;margin:18px 0;color:#4f596c}
.year-lab-controls{border-bottom:1px solid #e3dce9;margin-bottom:22px;padding-bottom:20px}
.lesson-focus .year-lab-controls>p{font-size:15px;line-height:1.7;margin:0 0 20px}
.year-lab-controls label{display:block;font-size:14px;font-weight:750;line-height:1.7}
.year-lab-controls label>span{display:block;font-weight:500;color:#685778}
.year-lab-controls input{display:block;width:100%;height:44px;margin:8px 0 12px;accent-color:#8059b5;cursor:pointer;touch-action:pan-y}
.year-lab-controls>div{display:flex;flex-wrap:wrap;gap:9px}
.year-lab-controls button{min-height:46px;white-space:normal;line-height:1.5;border:1px solid #dcd2e7}
.year-lab-controls button[aria-pressed=true]{background:#e9def8!important;border-color:#9a7db7;color:#503d70}
.year-lab-controls small{display:block;margin-top:16px;font-size:12px;line-height:1.7;color:#756c7b}
.year-interactive{padding:20px}
.year-interactive figcaption>span{display:none}
.year-interactive h3{margin:0 0 12px;font-size:20px}
.year-interactive .year-scene{margin:8px auto}
.year-interactive .year-scene svg{max-height:220px}
.year-interactive .year-equation{font-size:24px;line-height:1.4}
.lesson-focus .year-interactive .year-caption{font-size:15px;line-height:1.6;margin:8px 0 12px}
.year-interactive .year-lab-controls{margin:0 0 12px;padding:0 0 12px}
.lesson-focus .year-interactive .year-lab-controls>p{font-size:14px;line-height:1.5;margin:0 0 10px}
.year-interactive .year-lab-controls label>span{display:inline;margin-left:8px}
.year-interactive .year-lab-controls input{margin:4px 0 6px}
.year-interactive .year-lab-controls small{margin-top:10px}
.year-illustration{margin:32px 0}
.year-illustration img{display:block;width:100%;max-height:430px;object-fit:contain;border-radius:24px;background:#f5f7f5}
.year-illustration figcaption{font-size:12px;color:#7a7884;line-height:1.7;margin:12px 4px}
.year-article-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin:28px 0}
.year-article-card{padding:24px!important;display:flex;flex-direction:column;gap:14px}
.year-article-card h2{font-size:22px;line-height:1.5;margin:0}
.year-article-card p{line-height:1.75;margin:0;color:#62687a}
.year-article-card .quiet{align-self:flex-start;margin-top:auto}
.course-strands{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}
.course-strands span{padding:8px 14px;border-radius:14px;background:#f3eef9;color:#65517e;font-size:13px;line-height:1.6}
@media(max-width:600px){
 .year-figure{padding:18px 12px;margin:24px -4px;border-radius:20px}
 .year-figure h3{font-size:19px}
 .lesson-focus .year-figure .year-caption{font-size:15px}
 .year-lab-controls button{font-size:13px;padding:10px 12px}
 .year-illustration img{max-height:350px}
}
@media(prefers-reduced-motion:reduce){.year-figure *{animation:none!important;transition:none!important}}
