/* Shared interface tokens. Scientific images and diagram colours are never filtered. */
:root{color-scheme:light;--muted:#526966;--surface:#fffefa;--surface-soft:#eaf0e5;--body-copy:#405e59;--focus:#99722c;--reading-gutter:clamp(20px,2.5vw,44px)}
:root[data-theme=dark]{color-scheme:dark;--ink:#edf3ed;--muted:#afc3bd;--paper:#101e23;--white:#17292e;--navy:#082e3a;--sea:#a3d7c4;--line:#344b50;--surface:#17292e;--surface-soft:#20373c;--body-copy:#c4d5ce;--focus:#ebcf8c}
:root[data-theme=dark] .specimen-room{--exhibit-wash:#20373c;--room-accent:#a3d7c4}
body{font-size:16px;line-height:1.6;background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.appearance-open{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;min-width:46px;margin-top:auto;background:var(--surface-soft);color:var(--ink);border:1px solid var(--line);border-radius:12px;font-size:14px;padding:10px 14px}
.appearance-open svg{width:21px;height:21px;flex:none}.sidebar-bottom{margin-top:24px}
.specimen-open .appearance-open span{display:none}.specimen-open .appearance-open{padding:10px}
.nav-link{font-size:15px;min-height:48px}.topbar{font-size:14px}.top-note{font-size:14px}.eyebrow,.nav-label{font-size:11px}.footer{font-size:12px}
.page-heading p,.section-heading p,.hero-copy p{font-size:17px;line-height:1.7}.button,.chip,.text-link{font-size:14px;min-height:44px}.searchbox input,select,textarea{font-size:16px}
.card-body h3,.library-grid .card-body h3{font-size:22px;line-height:1.25}.card-body p,.library-grid .card-body p{font-size:14px;line-height:1.5}.card-foot,.library-grid .card-foot{font-size:12px;flex-wrap:wrap;gap:6px}.card-body,.library-grid .card-body{padding:20px}.card-type,.portrait-label{font-size:11px}
.species-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px}.library-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.discovery-card p,.case-card p,.about-layout p,.note p,.source-entry{font-size:16px;line-height:1.75}.compare-row>*{font-size:15px;line-height:1.6}.compare-row>strong{font-size:13px}
/* A spacious two-pane reading desk, not a collection of nested cards. */
.specimen-open{background:var(--paper)}.specimen-open main{padding:24px 32px 40px}
.learning-room .room-title-line h1{font-size:clamp(34px,3vw,48px);line-height:1.13;letter-spacing:-.035em}.room-title-line .latin{font-size:15px}.room-back{font-size:14px;min-height:36px}
.learning-room .room-heading-actions>button,.learning-room .room-heading-actions .button>span,.learning-room .room-question-open b{font-size:14px;min-height:44px}
.learning-room .room-heading-actions .button>span,.learning-room .room-question-open b{min-height:0;white-space:nowrap}
.learning-room .room-topics{border-top:0;margin-bottom:20px}.learning-room .room-topics>button{font-size:15px;min-height:56px;white-space:normal;line-height:1.3}
.learning-room .room-spread{border:0;border-radius:16px;grid-template-columns:minmax(0,1.15fr) minmax(400px,1fr);height:calc(100dvh - 225px);min-height:580px;background:var(--surface)}
.learning-room .room-stage{background:var(--surface-soft);border:0}.learning-room .room-stage-media{padding:0;scrollbar-gutter:stable;overflow-anchor:none}
.learning-room .stage-topline{padding:8px 20px;min-height:60px}.learning-room .stage-purpose{font-size:11px}.stage-atlas-open{font-size:14px}.stage-atlas-open span{font-size:12px}
.learning-room .room-visual-study,.learning-room .editorial-plate{border-radius:0}.learning-room .editorial-image{aspect-ratio:3/2;min-height:0;max-height:none;touch-action:pan-y pinch-zoom;overflow-anchor:none}
.learning-room .editorial-image>img{object-fit:contain;user-select:none;-webkit-user-drag:none}.learning-room .editorial-copy{padding:26px 28px;overflow:visible;max-height:none}
.learning-room .editorial-copy h2{font:30px/1.25 Georgia,serif}.learning-room .editorial-copy>p,.learning-room .art-observation p,.learning-room .art-callout-details p{font-size:17px;line-height:1.75}
.learning-room .art-observation summary,.learning-room .editorial-actions summary{font-size:14px}.learning-room .editorial-credit,.learning-room .editorial-credit p{font-size:14px!important}
.learning-room .room-desk{background:var(--surface);padding:20px var(--reading-gutter) 0}.learning-room .desk-scroll{padding-right:12px;scrollbar-gutter:stable}
.learning-room .room-lesson{max-width:65ch;margin:0 auto}.learning-room .lesson-title{font:clamp(32px,2.8vw,46px)/1.16 Georgia,serif;letter-spacing:-.025em}
.learning-room .room-lesson p,.room-lesson .lesson-prose p,.foundation-study .lesson-prose p,.lesson-vocabulary dd,.art-label-list dd{font-size:18px;line-height:1.8;color:var(--body-copy)}
.learning-room .lesson-question{font-size:20px;line-height:1.6}.lesson-prose .lesson-chapter h3{font-size:28px;line-height:1.3}.learning-room .lesson-takeaway p{font:24px/1.5 Georgia,serif}
.learning-room .lesson-investigation p,.learning-room .lesson-check-feedback p{font-size:17px!important}.lesson-investigation h4,.lesson-check h3{font-size:17px}.lesson-check-choices button{font-size:16px;padding:15px;min-height:48px}
.learning-room .lesson-kicker{font-size:11px!important}.learning-room .desk-topline{font-size:11px;letter-spacing:.08em}.room-browse-open{font-size:14px;padding:10px 12px}.learning-room .room-page-selector select{font-size:16px;min-height:48px}
.learning-room .room-fine,.lesson-reference-content .guide-citations a,.learning-room .lesson-reference-content .room-fine{font-size:14px;line-height:1.75}.lesson-reference-content .editorial-credit p,.lesson-model-credit p{font-size:14px!important}
.learning-room .desk-footer{min-height:88px;gap:12px}.learning-room .desk-footer>.lesson-nav-prev,.learning-room .desk-footer>.lesson-nav-next,.learning-room .desk-footer .lesson-read{font-size:14px;min-height:44px}[data-lesson-position]{font-size:12px}
.room-collection .specimen-shelf span{font-size:16px}.room-collection .specimen-shelf small{font-size:13px}.room-collection>header>a{font-size:14px}
.catalogue-lesson>span>span,.catalogue-count,.catalogue-filters button,.atlas-image-card summary{font-size:14px}.catalogue-lesson small,.atlas-image-open small{font-size:12px}.catalogue-search input{font-size:16px}.catalogue-lesson strong{font-size:23px}
.learning-dialog-body p,.learning-dialog-body li,.guide-question p,.guide-answer p{font-size:17px;line-height:1.8}.learning-dialog-body summary{font-size:20px}.guide-citations a,.source-entry,.lesson-source-archive{font-size:14px;line-height:1.8}
.room-model-slot .model-controls button{min-height:44px;min-width:44px;font-size:13px;padding:9px 12px}.room-model-slot .model-help{font-size:14px;line-height:1.6}.model-structure-choice,.model-structure-choice select{font-size:14px;min-height:44px}.learning-room .room-body-caption .feature-copy p{font-size:16px}.room-model-slot .model-status{font-size:12px}.room-model-slot .model-start .button{font-size:14px;min-height:44px}.room-model-slot .model-expand{width:44px;height:44px}
/* Gallery navigation lives with the image, above its explanation. */
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 20px;background:#0c2b32;color:#eaf1e8;min-height:66px}
.gallery-controls button{min-width:46px;min-height:46px;border:1px solid #58777b;border-radius:50%;background:#1e4248;color:#f5f4e9;font-size:24px}
.gallery-controls button:disabled{opacity:.35}.gallery-position{text-align:center;font-size:14px;line-height:1.4}.gallery-position small{display:block;font-size:12px;color:#bed1c8}.gallery-read{font-size:14px;color:#e0e9dc;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}
.learning-room .editorial-filmstrip{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;gap:10px;padding:0 20px 16px;background:#0c2b32;height:auto}
.learning-room .editorial-filmstrip .gallery-label{display:none}.learning-room .editorial-filmstrip button{flex:0 0 110px;min-width:110px;max-width:110px;border:2px solid transparent}.learning-room .editorial-filmstrip button>img{aspect-ratio:3/2}.learning-room .editorial-filmstrip button>span{font-size:12px;padding:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.editorial-copy-top>span{display:none}.visual-provenance{font-size:11px}.editorial-expand,.editorial-3d{min-height:44px;font-size:13px}.editorial-expand span{font-size:13px}
@media(min-width:1000px){.gallery-read{display:none}.learning-room .editorial-image{max-height:max(240px,calc(100dvh - 360px))}}
@media(max-width:1000px){.appearance-open span{display:none}.appearance-open{padding:10px}}
@media(max-width:999px){
 .learning-room .room-spread{grid-template-columns:1fr;height:auto;min-height:0}.learning-room .room-stage-media{overflow:visible;scrollbar-gutter:auto}.learning-room .desk-scroll{overflow:visible;padding:0 0 24px;scrollbar-gutter:auto}
 .learning-room .room-topics{background:var(--paper)}.learning-room .room-desk{padding:28px var(--reading-gutter) 0;scroll-margin-top:76px}.room-stage{scroll-margin-top:62px}
 .learning-room .room-lesson{max-width:68ch}.learning-room .room-stage-jump{font-size:14px;min-height:44px}.learning-room .room-heading-actions{gap:8px;flex-wrap:wrap}
}
@media(max-width:700px){
 :root{--reading-gutter:20px}main{padding:24px 16px}.topbar{padding:0 16px;height:64px;padding-right:72px}.top-note{display:none}
 .sidebar,.specimen-open .sidebar{background:var(--surface);padding-left:4px;padding-right:4px}.sidebar nav,.specimen-open .sidebar nav{gap:0}.nav-link,.specimen-open .nav-link{padding:6px 3px;font-size:11px;gap:4px}.nav-link .icon{width:22px;height:22px}
 .topbar,.room-heading-copy{position:relative}.appearance-open,.specimen-open .appearance-open{position:absolute;right:16px;top:10px;margin:0;z-index:2;width:44px;min-width:44px;height:44px;min-height:44px;box-shadow:0 2px 12px #081d2112}
 .room-heading-copy .appearance-open{right:0;top:0}.sidebar,.specimen-open .sidebar{backdrop-filter:none}
 .page-heading h1{font-size:38px}.page-heading p{font-size:16px}.hero{padding:26px 22px;min-height:475px}.hero-copy p{font-size:16px}.hero h2{font-size:44px}.hero .eyebrow{font-size:11px}
 .species-grid:not(.library-grid),.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.card-body,.library-grid .card-body{padding:14px 2px}.species-card{border:0;background:transparent;box-shadow:none}.card-body h3,.library-grid .card-body h3{font-size:19px;line-height:1.25}.card-body p,.library-grid .card-body p{font-size:13px;min-height:0}.card-foot,.library-grid .card-foot{font-size:12px}.portrait-label{font-size:10px}.section-heading h2{font-size:26px}.section-heading .text-link{font-size:13px}
 .specimen-open main{padding:16px 0 28px}.learning-room .room-heading{padding:0 20px 22px;gap:18px}.room-heading-copy{padding-right:42px}.room-back{font-size:14px;margin-bottom:8px}.learning-room .room-title-line h1{font-size:36px;max-width:none}.room-title-line .latin{font-size:14px}
 .learning-room .room-heading-actions{flex-wrap:nowrap;gap:8px}.learning-room .room-heading-actions>button{font-size:13px;padding:9px 8px;gap:6px}.learning-room .room-heading-actions .button>span,.learning-room .room-question-open b{font-size:13px}
 .learning-room .room-topics{margin:0;padding:0 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}
 .learning-room .room-topics>button,.learning-room .room-topics>button:last-child{font-size:13px;min-height:60px;padding:10px 3px;justify-content:center;text-align:center;white-space:normal;margin:0}.learning-room .room-topics>button[aria-selected=true]:after{left:8px;right:8px}
 .learning-room .room-spread{border:0;border-radius:0;overflow:visible}.learning-room .stage-topline{padding:6px 20px;min-height:56px}.learning-room .room-stage{border:0}.learning-room .room-stage-media{padding:0}.learning-room .room-visual-study,.learning-room .editorial-plate{border:0;border-radius:0}
 .learning-room .editorial-image{width:100%;aspect-ratio:3/2;min-height:0;max-height:none}.learning-room .editorial-copy{padding:24px 20px}.learning-room .editorial-copy h2{font-size:28px}.learning-room .editorial-copy>p{font-size:17px}
 .learning-room .editorial-filmstrip{padding:0 20px 14px;gap:10px}.gallery-controls{padding:8px 20px}.gallery-controls button{min-width:44px}.gallery-position{font-size:13px}.gallery-position small{font-size:11px}.gallery-read{font-size:13px}
 .learning-room .room-desk{padding:28px 20px 0}.learning-room .desk-topline{font-size:11px;letter-spacing:.04em;gap:8px}.room-browse-open{font-size:14px}.learning-room .room-page-selector select{font-size:16px}.learning-room .lesson-title{font-size:34px;line-height:1.18}.learning-room .room-lesson p{font-size:18px}.lesson-prose .lesson-chapter h3{font-size:27px}
 .learning-room .desk-footer{gap:7px;min-height:94px}.learning-room .desk-footer>.lesson-nav-prev,.learning-room .desk-footer>.lesson-nav-next{font-size:13px}.learning-room .desk-footer .lesson-read{font-size:13px;min-width:100px;padding:8px}.lesson-footer-status{max-width:126px}[data-lesson-position]{font-size:11px}
 .room-collection{padding:32px 16px 0}.room-collection .specimen-shelf span{font-size:15px}.room-collection .specimen-shelf small{font-size:12px}.room-collection>header>a{font-size:13px}.room-collection>header{align-items:start}.room-collection h2{font-size:28px}
 .compare-row{grid-template-columns:80px 1fr 1fr}.compare-row>*{padding:14px 8px;font-size:14px}.compare-row>strong{font-size:12px}.compare-animal h2{font-size:21px}.comparison-controls select{font-size:16px;max-width:100%}
 .catalogue-filters button{font-size:13px;min-height:44px;padding:8px}.catalogue-lesson>span>span{font-size:14px}.catalogue-lesson small{font-size:12px}.note-prompts button,#note-purpose{font-size:14px}
 .foundation-study .lesson-prose p{font-size:18px}.foundation-card p{font-size:16px}.footer{font-size:11px}.visual-provenance{font-size:10px;max-width:calc(100% - 24px)}
}
@media(max-width:359px){:root{--reading-gutter:16px}.learning-room .room-desk,.learning-room .editorial-copy{padding-left:16px;padding-right:16px}.learning-room .room-heading{padding-left:16px;padding-right:16px}.learning-room .room-heading-actions>button{padding:8px 5px;gap:4px;font-size:12px}.learning-room .room-heading-actions .button>span,.learning-room .room-question-open b{font-size:12px}.learning-room .room-title-line h1{font-size:32px}.learning-room .lesson-title{font-size:31px}.gallery-controls{padding-left:12px;padding-right:12px;gap:7px}}
/* Quiet utility controls: recognisable icons, generous targets, named for assistive tech. */
.learning-room .room-heading{position:relative}.learning-room .room-heading-actions{gap:4px;flex-wrap:nowrap;align-self:flex-start}
.learning-room .room-heading-actions>button{width:44px;min-width:44px;height:44px;padding:0;flex:none;border:0;border-radius:50%;background:transparent;gap:0}
.learning-room .room-heading-actions>button:hover{background:var(--surface-soft)}
.learning-room .room-heading-actions .button{border:0;border-radius:50%;background:transparent;padding:0}
.learning-room .room-heading-actions .room-note-open>span,.learning-room .room-heading-actions .room-question-open>b,.learning-room .room-heading-actions .button>span{display:none}
.learning-room .room-heading-actions .icon{width:20px;height:20px}.learning-room .room-question-open>span{font-size:20px;line-height:1}
.gallery-controls{min-height:56px;padding:6px 14px;gap:6px;justify-content:center}
.gallery-controls>button,.gallery-read{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:none;display:grid;place-items:center;text-decoration:none;font-size:30px;flex:none}
.gallery-controls>button:hover,.gallery-read:hover{background:#24454b}.gallery-read svg,.editorial-expand svg,.editorial-3d svg{width:21px;height:21px}
.learning-room .gallery-controls .editorial-filmstrip{display:flex;flex:0 1 auto;min-width:0;gap:0;padding:0;margin:0;border:0;background:none;overflow:auto;align-items:center;max-width:65%}
.learning-room .gallery-controls .editorial-filmstrip[hidden]{display:none}
.learning-room .gallery-controls .editorial-filmstrip button{display:grid;place-items:center;flex:0 0 36px;min-width:36px;max-width:36px;min-height:44px;border:0;padding:0;background:none;border-radius:6px}
.learning-room .gallery-controls .editorial-filmstrip button>span{display:block;width:6px;height:6px;padding:0;border-radius:50%;background:#7f9d9e;font-size:0;transition:width .15s}
.learning-room .gallery-controls .editorial-filmstrip button[aria-pressed=true]>span{width:20px;background:#e4d3a1}
.editorial-expand,.editorial-3d{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;border:1px solid #b5c8c34d;border-radius:50%;background:#102d35e8}
.editorial-expand{right:12px;bottom:12px}.editorial-3d{left:12px;bottom:12px}
.learning-room .editorial-copy{padding-top:20px}
.learning-room .desk-footer>.lesson-nav-prev,.learning-room .desk-footer>.lesson-nav-next{width:44px;height:44px;justify-content:center;padding:0;border-radius:50%}
.learning-room .desk-footer>.lesson-nav-next{justify-self:end}.lesson-nav-prev>span:last-child,.lesson-nav-next>span:first-child{display:none}
.room-browse-open{background:transparent;border:0}.stage-atlas-open{border:0}
.room-browse-open{width:44px;min-width:44px;height:44px;padding:0;display:grid;place-items:center}.room-browse-open svg,.stage-atlas-open svg{width:21px;height:21px}
.learning-room .stage-topline{position:absolute;right:10px;top:10px;padding:0;min-height:44px;z-index:4}.learning-room .stage-purpose{display:none}
.stage-atlas-open{display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;background:#102d35e8;color:#eef4ea;border:1px solid #b5c8c34d;border-radius:50%}
.learning-room[data-stage=specimen] .stage-topline{position:static;padding:6px 16px}.learning-room[data-stage=specimen] .stage-atlas-open{display:none}
.visual-provenance{max-width:calc(100% - 76px)}
.learning-room .desk-topline{margin-bottom:0}.learning-room .desk-topline .desk-topic{font-size:11px}.learning-room .room-page-selector{margin-bottom:22px}
.footer,.discovery-card p,.empty p,.compare-animal .latin,.compare-row>strong,.notebook-summary span,.room-back,.room-title-line .latin,.learning-room .room-topics>button,.learning-room .desk-topic,.learning-room .lesson-takeaway .eyebrow,[data-lesson-position],.room-collection .eyebrow,.room-collection .specimen-shelf small{color:var(--muted)}
.case-number{color:var(--muted)}.learning-room .lesson-kicker{color:var(--body-copy)}
.utility-icon,.page-heading>.utility-icon,.note-actions>.utility-icon{display:inline-grid;place-items:center;min-width:44px;width:44px;height:44px;padding:0;min-height:44px;border:0;border-radius:50%;background:var(--surface-soft);color:var(--ink)}
.utility-icon svg{width:20px;height:20px}.notebook-actions{gap:8px;justify-content:flex-end}.note-actions{gap:8px}.compare-animal .text-link{font-size:0;min-height:44px;justify-content:flex-end}.compare-animal .text-link .icon{width:22px;height:22px}
[data-browser-close],[data-learning-close]{font-size:0!important;width:44px;min-width:44px;height:44px;padding:0!important;border:0!important;border-radius:50%;display:grid;place-items:center}
[data-browser-close]::after,[data-learning-close]::after{content:'×';font:26px/1 system-ui}
.catalogue-heading>button{background:transparent}.note-actions button:hover,.utility-icon:hover{background:var(--line)}
@media(min-width:1000px){.gallery-read{display:none}}

/* Keep image tools outside the artwork so teaching labels stay unobstructed. */
.gallery-controls{flex-wrap:wrap}
.gallery-tools{display:flex;align-items:center;gap:4px;margin-left:auto}
.gallery-tools .editorial-expand,.gallery-tools .editorial-3d{position:static;inset:auto;width:44px;height:44px;min-height:44px;display:grid;place-items:center;padding:0;border:0;background:none;border-radius:50%;color:inherit}
.gallery-tools button:hover{background:#24454b}
.learning-room .stage-topline .stage-atlas-open{display:none}
.gallery-tools .gallery-atlas{width:44px;min-width:44px;height:44px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:inherit}
.gallery-tools .gallery-atlas svg{width:21px;height:21px}
.editorial-copy>.visual-provenance{position:static;display:block;max-width:none;margin:0 0 12px;padding:0;background:none;color:inherit;font-size:11px;line-height:1.5;letter-spacing:.04em;text-shadow:none;opacity:.8}
@media(max-width:700px){
 .learning-room .room-heading{gap:0}.room-heading-copy{padding-right:0}.room-back{font-size:13px;margin-bottom:14px;min-height:44px;display:flex;align-items:center;max-width:105px;line-height:1.3}
 .learning-room .room-heading-actions{position:absolute;right:12px;top:0;gap:0}.learning-room .room-heading-actions>button{padding:0;gap:0;flex:none}
 .room-heading-actions .appearance-open,.specimen-open .room-heading-actions .appearance-open{position:static;box-shadow:none}
 .learning-room .room-heading-actions .button>span,.learning-room .room-question-open b{display:none}
 .learning-room .desk-topline{gap:4px}.learning-room .room-stage-jump{width:44px;min-width:44px;padding:0;margin:0;display:grid;place-items:center;font-size:22px}
 .learning-room .room-stage-jump svg{width:21px;height:21px}
 .filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;width:100%;gap:6px;padding:2px 0 10px}.filters .chip{flex:none;white-space:nowrap}
 .toolbar{gap:12px}.result-count{margin-top:0}.page-heading>.utility-icon .icon{display:block}.notebook-actions{justify-content:flex-start}
}
@media print{.appearance-open,.gallery-controls,.editorial-filmstrip{display:none!important}:root[data-theme=dark]{color-scheme:light;--ink:#143b43;--paper:white;--surface:white;--body-copy:#405e59;--muted:#5e7375}}
