.lesson-path,.welcome-guide{background:#f9f5e6;border:1px solid #dcd9bd;border-radius:22px;padding:22px;color:#164c46}
.lesson-path h2,.welcome-guide h2{margin:5px 0 12px}.lesson-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lesson-path-item{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #d5dfd4;border-radius:14px;padding:14px;background:white;color:#164c46;min-width:0}.lesson-path-item>span{background:#164c46;color:#f2c04a;border-radius:12px;min-width:42px;height:42px;display:grid;place-items:center;font-weight:800}.lesson-path-item>div{flex:1;min-width:0}.lesson-path-item strong,.lesson-path-item small{display:block}.lesson-path-item small{margin-top:4px;line-height:1.4;color:#50685e}.lesson-heading h1{font-size:clamp(27px,6vw,40px);line-height:1.15;margin:8px 0 14px}.lesson-reader{border:1px solid #d2ded4;border-radius:22px;background:#fffef8;overflow:hidden;margin-top:22px;box-shadow:0 12px 35px #164c4610}.lesson-status{display:flex;justify-content:space-between;gap:12px;background:#164c46;color:#fff5d9;padding:14px 20px;font-size:13px}.lesson-dots{display:flex;gap:8px;padding:16px 20px;flex-wrap:wrap}.lesson-dots button{border:1px solid #9daf9b;background:#fff;color:#164c46;border-radius:50%;height:44px;width:44px;font-weight:700}.lesson-dots button[aria-current]{background:#164c46;color:#ffd067}.lesson-figure{margin:0 16px}.lesson-enlarge{display:block;background:#fcf8e9;border:0;border-radius:16px;padding:0;width:100%;color:#164c46;overflow:hidden}.lesson-enlarge svg{display:block;width:100%;height:auto;max-height:430px}.lesson-enlarge>span{display:block;padding:10px;font-size:13px;text-decoration:underline}.lesson-figure figcaption{font-size:13px;text-align:center;margin:8px;color:#526b60}.lesson-copy{padding:10px 22px 22px}.lesson-copy h2{margin:10px 0}.lesson-copy p{font-size:17px;line-height:1.65}.lesson-check{border-left:4px solid #d29d24;background:#f5f3df;padding:14px 16px;border-radius:0 12px 12px 0}.lesson-check p{margin:5px 0 0}.lesson-controls{display:flex;gap:10px;justify-content:space-between;margin:20px 0 4px;flex-wrap:wrap}.lesson-controls button{min-height:48px}.lesson-copy .hint,.lesson-source .hint{font-size:13px}.lesson-source{padding:16px 4px}.lesson-source summary,details.card summary{cursor:pointer;padding:8px 0;font-weight:700}.lesson-zoom{border:1px solid #d2ded4;border-radius:18px;background:#fffef8;color:#164c46;width:min(900px,94vw);max-height:90vh;overflow:auto;padding:20px}.lesson-zoom::backdrop{background:#062c28c9}.lesson-zoom svg{width:100%;height:auto}.lesson-zoom>button{position:sticky;top:0;z-index:1}.lesson-zoom p{font-size:18px;line-height:1.6}.password-toggle{margin-top:8px;min-height:44px}.welcome-guide li{margin:10px 0;line-height:1.6}.lesson-path-item:focus-visible,.lesson-dots button:focus-visible,.lesson-enlarge:focus-visible{outline:3px solid #ba7b0c;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}
.school-table-wrap{overflow-x:auto;margin:15px 0}.school-table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.5}.school-table th,.school-table td{text-align:left;vertical-align:top;padding:12px 9px;border-bottom:1px solid #d2ded4}.school-table thead{background:#164c46;color:#fff8dd}.school-table tbody th{width:40%}.school-reference h2{margin-top:0}.school-reference p{line-height:1.6}.school-reference{min-width:0}
/* Grid intrinsic image sizing could overflow a short thumbnail track. Pin the
   image to the thumbnail's actual box and contain the entire source artwork. */
.fish-thumb{display:block;position:relative;min-width:0;min-height:0}
.fish-thumb .species-artwork{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center;padding:4px}
.collection-card .fish-thumb{height:120px;margin-top:20px}
.collection-card .fish-thumb .species-artwork{padding:8px}
.fish-thumb>svg{position:absolute;inset:0;margin:auto;max-width:90%;max-height:90%}
.lesson-copy h2{scroll-margin-top:105px}
@media(max-width:540px){.lesson-path-grid{grid-template-columns:1fr}.lesson-path,.welcome-guide{padding:16px}.lesson-copy{padding:8px 16px 18px}.lesson-status{padding:12px;font-size:12px}.lesson-figure{margin:0 8px}.lesson-controls{display:grid;grid-template-columns:1fr 1fr}.lesson-controls button{padding:12px 8px;font-size:14px}.school-table{font-size:12px}.school-table th,.school-table td{padding:10px 5px}.collection-card .fish-thumb{height:100px}.bottom-nav .nav-item small{font-size:10px}}

.school-photo{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:#f9f6ed}.lesson-zoom .school-photo{max-height:none}.lesson-figure figcaption{line-height:1.5;padding:6px 12px}.lesson-enlarge{background:#f9f6ed}.lesson-zoom .school-photo{width:100%;height:auto}@media(max-width:540px){.school-photo{max-height:none}.lesson-figure figcaption{text-align:left;padding:5px}}
