/* The study remains focused; the rest of the collection lives outside it. */
/* Lesson tools: one divider per disclosure, one home for provenance. */
.learning-room .course-lesson .lesson-questions{border:0;padding:0;margin:0}
.learning-room .course-lesson>details,.learning-room .course-lesson .lesson-questions>.guide-question{border:0;border-top:1px solid #d5dfca;padding:0;margin:0}
.learning-room .course-lesson>details>summary,.learning-room .course-lesson .lesson-questions>.guide-question>summary{display:block;position:relative;list-style:none;padding:23px 28px 23px 0;font:22px/1.4 Georgia,serif;color:#315c48;cursor:pointer}
.learning-room .course-lesson summary::-webkit-details-marker{display:none}
.learning-room .course-lesson>details>summary:after,.learning-room .course-lesson .lesson-questions>.guide-question>summary:after{content:'+';position:absolute;right:0;top:23px;font:20px/1.4 system-ui;color:#78916b}
.learning-room .course-lesson>details[open]>summary:after,.learning-room .course-lesson .lesson-questions>.guide-question[open]>summary:after{content:'−'}
.learning-room .course-lesson>details[open],.learning-room .course-lesson .lesson-questions>.guide-question[open]{padding-bottom:20px}
.lesson-reference-content h3{font:20px/1.4 Georgia,serif;color:#315c48;margin:15px 0 10px}
.lesson-reference-content .guide-citations a{font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.learning-room .lesson-reference-content .room-fine{font-size:12px;line-height:1.7}
.lesson-image-credits>details,.lesson-model-credit{border-top:1px solid #e0e6d7;margin:0;padding:0}
.lesson-image-credits summary,.lesson-model-credit summary{font-size:13px;line-height:1.6;min-height:44px;padding:13px 18px 13px 0;cursor:pointer;list-style:revert}
.lesson-reference-content .editorial-credit p,.lesson-model-credit p{font-size:12px!important;line-height:1.8!important;color:#61735e!important}
.lesson-reference-content .editorial-credit a{color:#315f50;overflow-wrap:anywhere}
.lesson-source-archive{display:block;background:transparent;text-align:left;color:#345e4d;font-size:12px;line-height:1.7;padding:15px 0;min-height:44px}
.learning-room .desk-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;min-height:86px;padding:10px 0}
.learning-room .desk-footer>.lesson-nav-prev,.learning-room .desk-footer>.lesson-nav-next{display:flex;align-items:center;gap:9px;font-size:12px;padding:8px 0;min-width:0;min-height:44px;line-height:1.4}
.learning-room .desk-footer>.lesson-nav-next{justify-content:flex-end;text-align:right}
.lesson-nav-prev>span:first-child,.lesson-nav-next>span:last-child{font-size:23px}
.lesson-footer-status{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}
[data-lesson-position]{font-size:10px;line-height:1.5;color:#74876e;font-variant-numeric:tabular-nums;text-align:center}
.learning-room .desk-footer .lesson-read{width:auto;min-width:118px;min-height:40px;margin:0;justify-content:center;font-size:12px;padding:8px 13px;border:1px solid #ccd8c3;border-radius:6px;background:transparent}
.learning-room .desk-footer .lesson-read[aria-pressed=true]{background:#e8eedf;color:#365a42}
.learning-room .desk-footer .lesson-read[hidden]{display:none}
.learning-room .room-heading-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}
.learning-room .room-note-open,.learning-room .room-question-open,.learning-room .room-heading-actions .button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:12px;padding:10px 12px;border:1px solid #c8d5c0;border-radius:7px;background:transparent;color:#3c6652}
.room-note-open .icon{width:16px;height:16px}.learning-room .room-question-open b{font-size:12px;font-weight:400}
#note-dialog{width:min(600px,94vw);max-height:90dvh;overflow-y:auto}
#note-purpose{font-size:14px;line-height:1.7;color:#627669;margin:8px 0 18px}
#note-context{font:21px/1.4 Georgia,serif;color:#315b49;padding:14px 16px;background:#edf1e6;border-radius:7px;margin:0 0 20px}
.note-prompts{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 17px}
.note-prompts button{min-height:44px;padding:9px 12px;background:#edf1e6;color:#41634e;border:1px solid #d4deca;border-radius:6px;font-size:12px}
#note-dialog textarea{font-size:16px;line-height:1.7}
#note-dialog .dialog-actions{position:sticky;bottom:-27px;z-index:1;margin:18px -27px -27px;padding:14px 27px;background:var(--paper);border-top:1px solid #d4deca}
@media(max-width:700px){
 .learning-room .room-heading{flex-direction:column;align-items:stretch;gap:17px}.learning-room .room-heading-actions{justify-content:flex-start;gap:7px;flex-wrap:nowrap}
 .learning-room .room-heading-actions>button{flex:1;min-width:0;padding:9px 7px;font-size:11px;gap:6px}.learning-room .room-heading-actions .button>span,.learning-room .room-question-open b{display:inline;font-size:11px}
 .learning-room .desk-footer{gap:7px;min-height:88px}.learning-room .desk-footer>.lesson-nav-prev,.learning-room .desk-footer>.lesson-nav-next{font-size:11px;gap:5px}.learning-room .desk-footer .lesson-read{min-width:106px;font-size:11px}
 [data-lesson-position]{font-size:9px}.learning-room .course-lesson>details>summary,.learning-room .course-lesson .lesson-questions>.guide-question>summary{font-size:21px;padding-top:20px;padding-bottom:20px}
 #note-dialog{padding:20px}.note-prompts{gap:5px}.note-prompts button{font-size:11px;padding:8px}#note-dialog .dialog-actions{bottom:-20px;margin:18px -20px -20px;padding:14px 20px}
}
.specimen-open main{height:auto;min-height:100dvh;padding-bottom:32px}
.learning-room{height:auto}
.learning-room .room-spread{flex:none;height:calc(100dvh - 190px);min-height:570px}
.learning-room .room-stage{height:auto;min-height:0}
.learning-room .room-stage-media{overflow-y:auto;overflow-x:hidden;scrollbar-width:auto;scrollbar-color:#8ca396 #e4eadd;overscroll-behavior:contain;display:block;padding:12px 18px 20px}
.learning-room .room-visual-study{position:relative;inset:auto;overflow:visible;border-radius:10px;min-height:0}
.learning-room .editorial-plate,.learning-room .editorial-plate[data-single-image=true]{display:block;height:auto;overflow:hidden;border-radius:10px}
.learning-room .editorial-image{height:auto;min-height:0;aspect-ratio:3/2}
.learning-room .editorial-image>img{height:100%;width:100%;object-fit:contain;padding:0}
.learning-room .editorial-copy{max-height:none;overflow:visible;padding:24px 26px 16px}
.learning-room .editorial-copy h2{font-size:26px;line-height:1.25}
.learning-room .editorial-copy>p{font-size:14px;line-height:1.8;max-width:75ch}
.learning-room .art-observation summary,.learning-room .editorial-actions summary{font-size:12px;min-height:44px;padding:12px 0}
.learning-room .art-observation p,.learning-room .art-callout-details p{font-size:14px;line-height:1.8}
.learning-room .editorial-credit,.learning-room .editorial-credit p{font-size:12px!important}
.learning-room .editorial-filmstrip{height:auto;overflow:visible;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;padding:16px 24px 24px}
.learning-room .editorial-filmstrip[hidden]{display:none}
.gallery-label{grid-column:1/-1;display:flex;justify-content:space-between;margin:0 0 1px;font-size:12px;color:#c1d2c6;letter-spacing:.02em}
.gallery-label span{color:#9bb5a6}
.learning-room .editorial-filmstrip button{display:flex;flex-direction:column;flex:none;min-width:0;background:#193a40;min-height:44px;border-radius:6px}
.learning-room .editorial-filmstrip button>img{height:auto;aspect-ratio:3/2;object-fit:contain;opacity:1;background:#0b2930}
.learning-room .editorial-filmstrip button>span{position:static;background:none;font-size:12px;line-height:1.45;padding:11px 10px;text-wrap:pretty}
.learning-room .editorial-filmstrip button[aria-pressed=true]{background:#264b4d;border-color:#dfc486}
.learning-room .stage-topline{padding:12px 20px 0;min-height:52px;gap:10px}
.stage-atlas-open{margin-left:auto;display:flex;gap:9px;align-items:center;min-height:44px;background:transparent;color:#294f45;font-size:13px;text-align:left}
.stage-atlas-open span{font-size:11px;color:#607b6a}
.learning-room .stage-purpose{font-size:9px;max-width:none!important}
.learning-room .room-model-return{min-height:44px}
.learning-room .room-desk{padding-top:17px}
.learning-room .desk-topline{margin-bottom:7px;flex-wrap:wrap;gap:8px;font-size:9px}
.room-browse-open{margin-left:auto;display:flex;align-items:center;gap:10px;border:1px solid #bdccba;border-radius:6px;min-height:44px;background:#edf1e5;padding:9px 12px;font-size:12px;color:#2b5646;letter-spacing:0;text-transform:none}
.learning-room .desk-position{display:none}
.learning-room .room-page-selector{margin-bottom:23px}
.learning-room .room-page-selector select{font-size:13px;min-height:44px}
.learning-room .desk-scroll{scrollbar-width:auto;scrollbar-color:#8ca396 #f1f3e9}
.room-collection{padding:30px 0 0}
.room-collection>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.room-collection .eyebrow{font-size:9px;color:#6b806e;letter-spacing:.14em}
.room-collection h2{font:28px/1.2 Georgia,serif;letter-spacing:-.02em;margin:8px 0 0;color:#234d44}
.room-collection>header>a{font-size:12px;min-height:44px;display:flex;align-items:center;color:#4c705c}
.room-collection .specimen-shelf{position:static;width:auto;padding:0;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.room-collection .specimen-shelf a{padding:14px 12px 18px;background:#f8f8ef;border-color:#d7decd;gap:7px;min-height:135px}
.room-collection .specimen-shelf a[aria-current]{background:#e5ecdf;border-color:#88a086}
.room-collection .specimen-shelf img{height:70px;width:100%}
.room-collection .specimen-shelf span{display:block;font-size:13px;line-height:1.5;white-space:normal;overflow:visible;text-align:center;color:#315643}
.room-collection .specimen-shelf small{display:block;font-size:11px;color:#748774;margin-top:3px}
.learning-room[data-stage=specimen] .room-stage-media{display:flex;padding-bottom:0}
.learning-room[data-stage=specimen] .room-model-slot{width:100%}
.learning-room[data-visual-experiment=true] .room-visual-study{height:100%;min-height:460px;overflow:hidden}
.learning-room .room-body-caption{max-height:220px}

/* A single catalogue, with two ways into the same sourced lessons. */
.collection-browser{width:min(1140px,96vw);height:min(920px,92dvh);max-height:92dvh;padding:0;border:1px solid #b8c9b0;border-radius:16px;background:#f8f8ef;color:#224c43;overflow:hidden}
.collection-browser[open]{display:flex;flex-direction:column}
.collection-browser::backdrop{background:#082b35d9;backdrop-filter:blur(6px)}
.catalogue-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 30px 18px;flex-shrink:0}
.catalogue-heading .eyebrow{font-size:9px;letter-spacing:.15em;color:#698572}
.catalogue-heading h2{font:34px/1.2 Georgia,serif;letter-spacing:-.03em;margin:7px 0 0}
.catalogue-heading>button{min-height:44px;padding:10px 16px;border:1px solid #b6c7ae;border-radius:6px;background:transparent;color:#365c49;font-size:13px}
.catalogue-tools{padding:0 30px;flex-shrink:0;border-bottom:1px solid #cfdbc6;display:grid;grid-template-columns:auto minmax(200px,1fr);gap:14px 22px}
.catalogue-modes{display:flex;gap:5px;align-items:center}
.catalogue-modes button{min-height:44px;padding:10px 14px;color:#56705c;background:transparent;border-radius:6px;font-size:14px;white-space:nowrap}
.catalogue-modes button[aria-pressed=true]{background:#234e44;color:#f8f5e9}
.catalogue-modes button span{font-size:11px;opacity:.7;margin-left:7px;font-variant-numeric:tabular-nums}
.catalogue-search input{width:100%;min-height:46px;border:1px solid #bdcdb5;border-radius:7px;background:#fffef8;padding:11px 14px;font-family:inherit;font-size:14px;line-height:1.4;color:#21483e}
.catalogue-filters{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px}
.catalogue-filters button{min-height:44px;border-bottom:2px solid transparent;border-radius:0;padding:10px 12px;background:transparent;color:#6b7e6a;font-size:12px}
.catalogue-filters button[aria-pressed=true]{border-color:#496e52;color:#244c3d}
.catalogue-count{grid-column:1/-1;font-size:12px;color:#74856f;margin:0 0 14px}
.catalogue-results{overflow-y:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:auto;scrollbar-color:#97ab8e transparent;padding:24px 30px 36px;flex:1}
.catalogue-topic+ .catalogue-topic{margin-top:42px}
.catalogue-topic>header{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-bottom:1px solid #c7d3be;padding-bottom:14px;margin-bottom:20px}
.catalogue-topic h3{font:30px/1.2 Georgia,serif;margin:0}.catalogue-topic>header>span{font-size:12px;color:#72836b}
.catalogue-cluster{margin:0 0 24px}.catalogue-cluster h4{font-size:11px;font-weight:500;letter-spacing:.06em;color:#70826a;margin:0 0 11px;text-transform:uppercase}
.catalogue-lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.catalogue-lesson{display:flex;align-items:start;gap:14px;width:100%;padding:14px;text-align:left;border:1px solid #d1ddc7;border-radius:9px;background:#fffff8;color:#2a5343}
.catalogue-lesson:hover,.catalogue-lesson[aria-current=true]{background:#eaf0e1;border-color:#819c7a}
.catalogue-lesson>img{width:80px;aspect-ratio:1;object-fit:cover;border-radius:5px;flex:none}
.catalogue-lesson>span{min-width:0}.catalogue-lesson small{display:block;font-size:10px;color:#76866a;margin-bottom:7px}
.catalogue-lesson strong{display:block;font:20px/1.25 Georgia,serif;font-weight:400;margin-bottom:8px}
.catalogue-lesson>span>span{display:block;font-size:12px;line-height:1.65;color:#62755d}
.catalogue-lesson>b{margin-left:auto;font-size:15px;font-weight:400}
.atlas-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.atlas-image-card{border:1px solid #cedbc3;border-radius:9px;overflow:hidden;background:#fffff8}
.atlas-image-open{display:block;width:100%;padding:0;text-align:left;background:none;color:#214a3c}
.atlas-image-open img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:#15383e}
.atlas-image-open>span{display:block;font:22px/1.25 Georgia,serif;padding:17px 17px 9px}
.atlas-image-open small{display:block;font-size:10px;line-height:1.5;color:#78886e;padding:0 17px 17px}
.atlas-image-card>details{border-top:1px solid #d5dfcc;padding:0 17px}
.atlas-image-card summary{font-size:12px;min-height:44px;padding:14px 0;cursor:pointer;color:#3b654e}
.atlas-image-card details button{display:flex;align-items:center;gap:10px;justify-content:space-between;width:100%;min-height:44px;text-align:left;background:none;border-top:1px solid #e0e7d8;font-size:12px;line-height:1.5;color:#45644d;padding:12px 0}
.catalogue-empty{padding:45px 0;text-align:center}.catalogue-empty h3{font:30px Georgia,serif}.catalogue-empty p{font-size:14px;line-height:1.7;color:#657a60}.catalogue-empty button{min-height:44px;margin-top:14px;background:#285247;color:#faf9ed;border-radius:6px;padding:12px 18px}
.collection-browser input:focus-visible{outline:2px solid #af893e;outline-offset:2px}
@media(min-width:1000px) and (max-height:800px){.learning-room .room-spread{height:calc(100dvh - 170px);min-height:460px}.learning-room .editorial-copy{max-height:none}.learning-room .editorial-image{min-height:0}}
@media(max-width:999px){
 .learning-room .room-spread{height:auto;min-height:0}.learning-room .room-stage{height:auto!important;min-height:0}
 .learning-room .room-stage-media{overflow:visible;flex:none;padding:10px 18px 20px}
 .learning-room .room-visual-study{height:auto}.learning-room .editorial-copy{max-height:none}.learning-room .editorial-image{min-height:0;max-height:550px}
 .learning-room .room-desk{padding-top:24px}.learning-room .desk-scroll{overflow:visible}
 .learning-room[data-stage=specimen] .room-stage-media{height:480px;flex:none}
 .learning-room[data-visual-experiment=true] .room-visual-study{height:520px}
 .room-collection .specimen-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}
 .atlas-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .catalogue-tools{grid-template-columns:1fr}.catalogue-modes{justify-content:start}
}
@media(max-width:700px){
 .learning-room .stage-topline{padding:8px 13px 0;flex-wrap:wrap;gap:5px}.stage-atlas-open{font-size:12px;gap:7px}.stage-atlas-open span{font-size:10px}
 .learning-room .room-stage-media{padding:8px 10px 14px}.learning-room .editorial-copy{padding:20px 18px 12px}
 .learning-room .editorial-copy h2{font-size:24px}.learning-room .editorial-copy>p{font-size:14px}
 .learning-room .editorial-image{min-height:210px;aspect-ratio:1.2}
 .learning-room .editorial-filmstrip{padding:15px 16px 18px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .learning-room .editorial-filmstrip button>span{font-size:11px;padding:9px 8px}
 .learning-room .room-desk{padding:21px 18px 0}.learning-room .desk-topline{font-size:8px}.room-browse-open{font-size:11px;padding:8px}
 .room-collection{padding-top:27px}.room-collection h2{font-size:26px}.room-collection>header{gap:10px}.room-collection>header>a{font-size:10px}
 .room-collection .specimen-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .room-collection .specimen-shelf span{font-size:12px}.room-collection .specimen-shelf img{height:65px}
 .collection-browser{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}
 .catalogue-heading{padding:18px 18px 14px}.catalogue-heading h2{font-size:29px}.catalogue-heading .eyebrow{font-size:8px}.catalogue-heading>button{font-size:12px;padding:10px}
 .catalogue-tools{padding:0 18px;gap:9px}.catalogue-modes button{font-size:13px;padding:9px 13px}.catalogue-search input{font-size:16px}
 .catalogue-filters{gap:0}.catalogue-filters button{font-size:11px;padding:9px;min-height:40px}
 .catalogue-count{font-size:11px;margin-bottom:10px}.catalogue-results{padding:20px 18px calc(30px + env(safe-area-inset-bottom))}
 .catalogue-lessons{grid-template-columns:1fr}.catalogue-lesson{gap:11px;padding:12px}.catalogue-lesson>img{width:60px}.catalogue-lesson strong{font-size:20px}
 .atlas-image-grid{gap:12px;grid-template-columns:1fr}.atlas-image-open>span{font-size:25px}.atlas-image-open small{font-size:11px}
}
@media(max-height:600px){
 .collection-browser{height:100dvh;max-height:100dvh}.catalogue-heading{padding:8px 18px}.catalogue-heading .eyebrow{display:none}.catalogue-heading h2{font-size:24px;margin:0}
 .catalogue-tools{padding:0 18px;gap:5px 14px}.catalogue-filters button{min-height:40px;padding:8px}.catalogue-count{margin:0 0 6px}.catalogue-results{padding:15px 18px 25px}
}
@media(min-width:701px) and (max-height:600px){.catalogue-tools{grid-template-columns:auto minmax(180px,1fr)}}
@media print{.room-collection,.room-browse-open,.stage-atlas-open,.collection-browser{display:none!important}.learning-room .room-spread{height:auto;min-height:0;display:block}.learning-room .room-stage-media{overflow:visible}.learning-room .editorial-copy{max-height:none}}
