/* A visual lesson lives beside every field-book chapter. */
.room-visual-study{position:absolute;inset:10px 18px 0;min-width:0;min-height:0;border-radius:10px;overflow:hidden;background:#0d3038}
.study-plate{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;color:#eef4e8;background:#103941;overflow:auto;scrollbar-width:thin}
.study-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.study-plate.art:after,.study-plate.record:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#09262d4d,transparent 30%,#061b2599 58%,#061b25f7 100%);z-index:-1}
.visual-provenance{position:absolute;left:22px;top:20px;right:20px;font-size:7px;line-height:1.6;letter-spacing:.11em;color:#fffdf0;text-shadow:0 1px 6px #000c;z-index:2}
.visual-caption{padding:30px 30px 20px;position:relative;flex-shrink:0}
.visual-kicker{display:block;font-size:8px;letter-spacing:.15em;line-height:1.6;color:#c5d8c8;margin-bottom:13px;text-transform:uppercase}
.visual-caption h2{font:400 clamp(27px,2.7vw,46px)/1.08 Georgia,serif;letter-spacing:-.035em;color:#f7f5e8;margin:0 0 13px;max-width:520px}
.visual-caption p{font-size:12px;line-height:1.75;max-width:440px;color:#d4e1d7;margin:0 0 12px}
.visual-source{font-size:9px;color:#c2d5c5;text-underline-offset:4px}
.visual-open-model{align-self:flex-start;background:#f1f4e617;color:#f8f5e7;border:1px solid #c3d7cc66;border-radius:5px;padding:12px 15px;margin:0 30px 26px;font-size:10px;min-height:40px}
.visual-record-button{display:block;background:#fff1;color:#f8f5e7;border:1px solid #aec6bb88;font-size:10px;padding:10px 14px;margin-top:17px}
.visual-life-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px 25px 23px;flex-shrink:0}
.visual-life-rail button{background:none;border-top:1px solid #8da89f77;border-radius:0;color:#a9c1b6;padding:10px 5px 2px;text-align:left;min-height:58px}
.visual-life-rail button[aria-pressed=true]{border-color:#f1e5bd;color:#fff7d8;border-width:2px;padding-top:9px}
.visual-life-rail span{display:block;font-size:10px;margin-bottom:7px;font-variant-numeric:tabular-nums}
.visual-life-rail b{font-size:8px;line-height:1.4;font-weight:400;display:block}
.visual-sequence{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:8px 30px 26px;flex-shrink:0}
.visual-sequence li{border-top:1px solid #a6bbaa55;padding-top:12px;position:relative}
.visual-sequence li+li:before{content:'→';position:absolute;right:100%;margin-right:4px;top:10px;color:#94afa4;font-size:10px}
.visual-sequence span{display:block;font-size:8px;letter-spacing:.1em;color:#aac0b3;margin-bottom:7px}
.visual-sequence b{font:400 14px/1.3 Georgia,serif;color:#f0efdf}
.study-specimen{object-fit:contain;width:100%;height:45%;min-height:0;position:relative;padding:30px 20px 0;filter:drop-shadow(0 20px 20px #092b2c15)}
.mechanism-study,.evidence-plate,.diagram-plate,.landscape-plate{background:radial-gradient(ellipse at 50% 20%,#f2f2e7,#dae4d5);color:#284b42}
.diagram-plate .visual-caption h2,.mechanism-study .visual-caption h2,.evidence-plate .visual-caption h2,.landscape-plate .visual-caption h2{color:#23463c}
.diagram-plate .visual-caption p,.mechanism-study .visual-caption p,.evidence-plate .visual-caption p,.landscape-plate .visual-caption p{color:#526f5c}
.diagram-plate .visual-kicker,.mechanism-study .visual-kicker,.evidence-plate .visual-kicker,.landscape-plate .visual-kicker,.diagram-plate .visual-source,.mechanism-study .visual-source,.evidence-plate .visual-source,.landscape-plate .visual-source{color:#4f6d56}
.diagram-plate .visual-provenance,.mechanism-study .visual-provenance,.evidence-plate .visual-provenance,.landscape-plate .visual-provenance{color:#56715e;text-shadow:none}
.diagram-plate .visual-sequence b,.mechanism-study .visual-sequence b,.evidence-plate .visual-sequence b{color:#2f5647}
.diagram-plate .visual-sequence span,.mechanism-study .visual-sequence span,.evidence-plate .visual-sequence span{color:#72866b}
.diagram-plate .visual-life-rail button{color:#63785e;border-color:#9daf94}.diagram-plate .visual-life-rail button[aria-pressed=true]{color:#234e3b;border-color:#315d41}
.diagram-plate .visual-open-model{color:#2c5544;border-color:#91aa8d;background:#f7f8ec66}
.nest-study{width:100%;flex:1;min-height:110px;max-height:48%;padding-top:25px}.nest-study text{font:11px sans-serif;fill:#486054}
.development-study{flex:1;display:flex;align-items:center;min-height:150px}.development-study .visual-sequence{width:100%;padding-top:60px}.development-study .visual-sequence li:after{content:'';display:block;width:42px;height:56px;border:1px solid #789787;border-radius:50%;margin:15px auto;background:radial-gradient(ellipse at center,#9cb499 24%,#e6ebda 26%,transparent 60%)}
.unknown-study{flex:1;display:grid;place-content:center;min-height:100px;text-align:center;padding-top:40px}.unknown-study>span{font:90px/1 Georgia,serif;color:#7e9580}.unknown-study p{font-size:12px;line-height:1.8;color:#6d806a}
.visual-connections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 25px 23px;flex-shrink:0}
.visual-connections button{background:#d4e9d80d;border:1px solid #87a9a066;color:#bfdbcf;font-size:10px;text-align:left;padding:13px 10px;min-height:85px;line-height:1.4}
.visual-connections button span{display:block;font:25px/1 Georgia,serif;margin-bottom:11px;color:#c8d8b2}.visual-connections button[aria-pressed=true]{background:#e5efde;color:#254d42;border-color:#e5efde}.visual-connections button[aria-pressed=true] span{color:#557446}
.ocean-landscape{width:100%;height:48%;object-fit:contain;padding:30px 6px 0;min-height:100px}
.visual-zones{display:flex;flex-wrap:wrap;gap:5px;padding:0 25px 20px}.visual-zones button{font-size:9px;background:#f1f5e4;color:#4d6b54;padding:10px;min-height:38px}.visual-zones button[aria-pressed=true]{background:#41654e;color:white}
.research-plate{background:radial-gradient(ellipse at 50% 15%,#284f53,#102e37)}
.research-plate .visual-caption h2{font-size:clamp(25px,2.4vw,37px)}
.visual-tracking{flex:1;min-height:150px;display:flex;flex-direction:column;justify-content:center;padding-top:40px}.visual-tracking .study-specimen{height:65%;padding:0 25px;min-height:80px}.visual-tracking svg{width:100%;height:32%;min-height:75px}.visual-tracking text{fill:#ccdfd4;font:12px sans-serif}.visual-tracking small,.visual-measurement small{font-size:7px;letter-spacing:.07em;text-align:center;display:block;color:#a2b9ad}
.visual-contrast{position:relative;margin:52px 20px 0;flex:1;min-height:150px;border-radius:7px;display:flex;align-items:center;justify-content:center}.visual-contrast.dark{background:#162629}.visual-contrast.light{background:#e5dec4}.visual-contrast .study-specimen{filter:brightness(var(--brightness));height:100%;padding:0;max-height:300px}.visual-contrast>span{position:absolute;bottom:12px;left:15px;font-size:8px;letter-spacing:.1em;color:#c3d4c8}.visual-contrast.light>span{color:#526450}
.visual-patterns{flex:1;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 28px 0;gap:15px}.visual-reference{width:36%;max-width:190px}.visual-patterns span{display:block;font-size:8px;letter-spacing:.14em;color:#bdcdb8;margin:0 0 7px}.visual-patterns svg{width:100%;height:auto;display:block}.visual-catalogue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:450px}.visual-catalogue>div{border:1px solid transparent;border-radius:7px;padding:5px}.visual-catalogue>div.selected{border-color:#d8c18a}
.visual-measurement{padding:50px 25px 0;flex:1;min-height:160px;display:flex;flex-direction:column;justify-content:center;gap:11px}.visual-measurement .study-specimen{height:55%;min-height:80px;padding:0}.study-ruler{height:23px;display:flex;flex-shrink:0}.study-ruler span{border-top:1px solid #cee0c8;color:#d9e5ce;font-size:10px;padding-top:7px}.study-ruler i{border-top:1px dashed #e5b090}.visual-measurement small{margin-top:8px;font-size:6px}
.evidence-orbit{position:relative;flex:1;min-height:140px;margin:45px 35px 0;border:1px solid #9db5a580;border-radius:50%;max-height:48%}.evidence-orbit .study-specimen{height:100%;padding:0}.evidence-orbit>span{position:absolute;font-size:7px;letter-spacing:.1em;color:#52715c;background:#e7ecdc;padding:6px}.evidence-orbit>span:nth-of-type(1){top:0;left:20%;transform:translateY(-50%)}.evidence-orbit>span:nth-of-type(2){right:-8px;bottom:25%}.evidence-orbit>span:nth-of-type(3){bottom:-8px;left:20%}
.sound-rings{position:relative;flex:1;min-height:160px;display:grid;place-items:center}.sound-rings>span{font:110px Georgia,serif;color:#d6e4cc}.sound-rings i{position:absolute;width:150px;height:150px;border:1px solid #83b1a460;border-radius:50%}.sound-rings i:nth-child(2){width:230px;height:230px}.sound-rings i:nth-child(3){width:310px;height:310px}.sound-study{background:radial-gradient(ellipse at center,#30656a,#10313a)}
.eye-concept{width:100%;flex:1;min-height:120px;padding-top:40px}.eye-concept text{fill:#b8cfc1;font:12px sans-serif}
.room-stage[data-visual-topic] .stage-topline>span{max-width:135px}
.stage-modes{flex-shrink:0}.stage-modes button{padding-left:8px;padding-right:8px}
.room-body-caption{margin:0 23px 12px;border-left:2px solid #879f79;padding:3px 0 3px 13px;color:#46654b;flex-shrink:0}.room-body-caption span{font-size:8px;letter-spacing:.12em;display:block;margin-bottom:5px}.room-body-caption strong{font:19px/1.2 Georgia,serif;font-weight:400}
@media(min-width:1000px){.specimen-room[data-stage=study][data-topic=research] .room-lesson :is(.track-model,.contrast-model,.spot-reference,.spot-catalogue,.measurement-art){display:none}.specimen-room[data-stage=study][data-topic=ecology] .room-lesson .habitat-model{display:none}}
.visual-learning-note{border-top:1px solid #d6dfcc;padding-top:20px;margin-top:25px}.visual-learning-note span{font-size:8px;letter-spacing:.13em;color:#7a916b}.visual-learning-note p{font-size:13px!important;color:#4c6d50!important;margin-top:11px}
@media(min-width:1000px) and (max-height:800px){.visual-caption{padding:20px 23px 14px}.visual-caption h2{font-size:30px}.visual-caption p{font-size:11px}.visual-life-rail{padding-bottom:15px}.visual-life-rail b{font-size:7px}.visual-connections button{min-height:67px}.visual-patterns{padding-top:40px;gap:5px}.visual-reference{width:27%}.visual-catalogue{max-width:350px}.room-body-caption{margin-bottom:7px}.visual-provenance{top:12px;font-size:6px}.visual-sequence{padding-bottom:18px}.visual-open-model{margin-bottom:18px}.visual-kicker{margin-bottom:8px}}
@media(max-width:999px){.specimen-room[data-stage=study] .room-stage{height:560px}.room-visual-study{inset:10px 18px 0}.visual-caption h2{font-size:36px}.study-backdrop{object-position:center 37%}.visual-patterns{flex-direction:row;gap:28px}.visual-reference{width:27%}.visual-catalogue{width:65%}.visual-caption{padding-top:25px}.visual-tracking .study-specimen{height:60%}.room-body-caption{margin-bottom:0}}
@media(max-width:700px){.specimen-room[data-stage=study] .room-stage{height:550px}.room-visual-study{inset:8px 11px 0}.stage-topline>span{max-width:72px!important}.stage-topline b{display:none}.stage-modes button{padding:5px 7px;font-size:8px}.visual-provenance{left:17px;top:16px;font-size:6px}.visual-caption{padding:22px 20px 17px}.visual-kicker{font-size:7px;margin-bottom:11px}.visual-caption h2{font-size:30px;margin-bottom:12px}.visual-caption p{font-size:11px;line-height:1.7}.visual-source{font-size:8px}.visual-open-model{margin:0 20px 20px;font-size:9px}.visual-life-rail{padding:0 17px 19px;gap:5px}.visual-life-rail button{padding-left:2px;padding-right:2px;min-height:62px}.visual-life-rail b{font-size:7px}.visual-sequence{padding:0 20px 20px;gap:13px}.visual-sequence b{font-size:12px}.visual-connections{gap:5px;padding:0 16px 18px}.visual-connections button{font-size:8px;padding:10px 8px;min-height:78px}.visual-connections button span{font-size:21px}.visual-patterns{flex-direction:column;padding:43px 20px 0;gap:8px}.visual-reference{width:31%}.visual-catalogue{width:100%;gap:8px}.visual-tracking{padding-top:38px}.visual-tracking text{font-size:14px}.research-plate .visual-caption h2{font-size:27px}.visual-contrast{margin:45px 14px 0}.visual-contrast .study-specimen{max-height:230px}.visual-measurement{padding:45px 18px 0}.visual-zones{padding:0 16px 18px;gap:4px}.visual-zones button{font-size:8px;padding:8px}.room-body-caption{margin:0 15px 5px;padding-left:9px}.room-body-caption strong{font-size:16px}.room-body-caption span{font-size:7px}.room-stage:has(.room-model-slot:not([hidden])){height:365px}.room-stage:has(.room-model-slot:not([hidden]) .model-controls:not([hidden])){height:455px}.sound-rings i:nth-child(3){width:250px;height:250px}}
@media print{.room-visual-study{position:relative;inset:auto;min-height:430px}.room-stage:has(.room-visual-study:not([hidden])){height:440px}.visual-provenance{display:block}.study-plate{print-color-adjust:exact}}
