/* M05 is optional. Keep the default sky unchanged apart from its question card. */
.lesson-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-eclipse] .intro,body[data-eclipse] #lesson-picker,body[data-eclipse] #lab,body[data-eclipse] .controls,body[data-eclipse] #boundary-details,body[data-eclipse] #real-status,body[data-eclipse] #other-pass,body[data-eclipse] .guided-exploration,body[data-eclipse] #prediction,body[data-eclipse] .notes,body[data-eclipse] .mode-control,body[data-eclipse] .model-label{display:none!important}
body[data-eclipse] .lab-topline{margin-top:18px;margin-bottom:0}body[data-eclipse] .script-control{margin-left:auto}
#eclipse-workbench{padding:8px 0 40px;scroll-margin-top:20px}
#eclipse-workbench button{min-height:44px}#eclipse-workbench input:focus-visible,#eclipse-workbench textarea:focus-visible{outline:3px solid #a56810;outline-offset:3px}
.ec-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.ec-heading-row .text-link{flex:none}
#eclipse-title{font-size:clamp(38px,5.4vw,64px);line-height:1.06;letter-spacing:-.04em;max-width:800px;outline:none}#eclipse-title em{font-weight:400;color:#4d684b}
.ec-intro{font-size:15px;max-width:690px;color:#53634f;margin:18px 0 12px;line-height:1.75}.ec-model-tag{font-size:11px;color:#56634f;border-left:2px solid #7c956c;padding-left:12px;margin-bottom:24px}
.ec-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:22px 0}.ec-steps button{border:1px solid #bfcab2;border-radius:10px;padding:11px 14px;text-align:left;font-size:13px;line-height:1.45;background:#fbf9ef}.ec-steps button span{font-size:10px;display:block;color:#5e7054;margin-bottom:4px}.ec-steps button[aria-pressed=true]{background:#e2ead7;border-color:#688354;font-weight:650}.ec-steps button[aria-pressed=true] span{color:#3c5932}
.ec-observation{margin:26px 0 22px;max-width:880px}.ec-observation .eyebrow{font-size:11px}.ec-observation h2{font-size:clamp(25px,3vw,34px);color:#355b3d;font-weight:650;line-height:1.3;margin:5px 0 8px}.ec-observation>p:last-child{font-size:14px;line-height:1.75;color:#4c5c49;min-height:49px}
.ec-main-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start}.ec-sky-panel{min-width:0;border-radius:16px;padding:22px;background:#172921;color:#e6ecdd;overflow:hidden}.ec-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:15px}.ec-panel-head h3{font:500 21px/1.35 var(--serif)}.ec-panel-head>span{font-size:10px;color:#bacab4;flex:none}.ec-sky-panel svg{width:100%;height:auto}.ec-sky-panel text{font-family:var(--sans)}.ec-svg-label{font-size:17px;fill:#d9e5d0}.ec-sun-label{font-size:17px;fill:#e9bf71}.ec-orbit-line{fill:none;stroke:#c5dba7;stroke-width:2}.ec-plane{fill:none;stroke:#a1b69a;stroke-width:1;stroke-dasharray:5 5;opacity:.65}.ec-node-line{fill:none;stroke:#95c4d7;stroke-width:1.2;stroke-dasharray:3 5}.ec-cross{fill:none;stroke:#bfdeeb;stroke-width:2}.ec-shadow-axis{fill:none;stroke:#d9d9c5;stroke-width:1;stroke-dasharray:9 6;opacity:.55}.ec-rays{fill:none;stroke:#e9bf71;stroke-width:1.5;opacity:.8}.ec-height{fill:none;stroke:#f3ca7f;stroke-width:1.2;stroke-dasharray:3 4}.ec-earth{fill:#477e6d;stroke:#d9e9db;stroke-width:1.5}.ec-moon{fill:#e6dfc8;stroke:#fff7db;stroke-width:1.5}.ec-moon-halo{fill:#ebe7cb0d;stroke:#ece4c350;stroke-width:1}.ec-cone-edge{fill:none;stroke:#c8d4ad;stroke-dasharray:4 4;stroke-width:1.3}.ec-scale{fill:none;stroke:#d9e5d0;stroke-width:2}.ec-scale-note{font-size:11px;line-height:1.8;color:#c1cdb7}.ec-node-key{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #9ab68c40;margin-top:20px;padding-top:15px;gap:16px}.ec-node-key small{font-size:11px;color:#b2c8cf;display:block}.ec-node-key strong{display:block;color:#c2e4eb;font:600 27px/1.5 var(--serif);margin:5px 0}.ec-node-key strong.devanagari{font-family:"Noto Serif Devanagari",serif;font-weight:400;line-height:1.8}#eclipse-nodes-note{font-size:11px;color:#bdccb4;margin-top:10px}.ec-controls{padding:4px 8px 0 6px}.ec-phase-buttons{display:flex;gap:9px}.ec-phase-buttons button{border:1px solid #aebda1;border-radius:8px;flex:1;padding:9px 12px;font-weight:650;font-size:14px}.ec-phase-buttons button[aria-pressed=true]{background:#dce7cc;border-color:#638345}#eclipse-lock-note{font-size:12px;color:#526348;line-height:1.7;margin:9px 0 18px;min-height:21px}.ec-control{padding:16px 0 13px;border-top:1px solid #cdd3c2}.ec-control label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-weight:650;font-size:14px}.ec-control output{font-variant-numeric:tabular-nums;color:#47613a;font-size:13px;white-space:nowrap}.ec-control input[type=range]{display:block;width:100%;height:44px;margin:2px 0;accent-color:#52783e;cursor:pointer}.ec-control p{font-size:11px;line-height:1.7;color:#526348}.ec-small-buttons{display:flex;gap:10px;margin-top:6px}.ec-small-buttons button{border:1px solid #b8c5aa;border-radius:7px;padding:8px 13px;font-size:12px}.ec-transport{display:flex;flex-wrap:wrap;gap:9px 16px;align-items:center;margin-top:12px}.ec-transport .primary-button{padding:10px 16px;border-radius:8px}.ec-transport .text-link{font-size:12px}#eclipse-motion-note{font-size:11px;line-height:1.7;margin-top:12px;color:#59664e}.ec-live-reading{margin-top:19px;padding-top:15px;border-top:1px solid #cdd3c2;font-size:12px;line-height:1.9}.ec-live-reading strong{font-size:18px;font-weight:650;color:#385b36;margin-left:7px}.ec-live-reading>span{font-size:11px;color:#526348}.ec-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0 28px}.ec-secondary-grid .ec-sky-panel{display:flex;flex-direction:column}#eclipse-edge-svg,#eclipse-section-svg{margin-block:auto}.ec-no-section{font-size:14px;line-height:1.7;padding:35px 0;color:#cad7c1}#eclipse-shadow-result{font-size:13px;color:#e9eddd;font-weight:600;margin:4px 0 8px}.ec-prediction{border-block:1px solid #bfcab2;padding:6px 0;margin:25px 0}.ec-prediction summary,.ec-explanation summary{cursor:pointer;min-height:48px;padding:12px 0;font-size:15px;font-weight:600}.ec-prediction fieldset{border:0;padding:8px 0;margin:0;max-width:800px}.ec-prediction legend{font-size:14px;font-weight:600;line-height:1.7;margin-bottom:10px}.ec-prediction label{display:flex;gap:12px;align-items:center;min-height:48px;font-size:14px;cursor:pointer}.ec-prediction input{width:19px;height:19px;accent-color:#43663b;flex:none}.ec-prediction .primary-button{padding:10px 18px;border-radius:7px;margin:8px 0 16px}#eclipse-feedback{font-size:14px;line-height:1.75;max-width:780px;margin-bottom:14px;color:#355b3d}.ec-explanation{max-width:860px;margin-top:30px}.ec-explanation h2{font-size:29px;line-height:1.3}.ec-explanation p,.ec-explanation li{font-size:14px;line-height:1.85;margin:12px 0;color:#4a5c44}.ec-explanation ul{padding-left:22px}.ec-explanation details{margin:20px 0;border-block:1px solid #c5cfb9;padding:4px 0}.ec-explanation label{display:block;font-size:14px;font-weight:600;margin-top:25px}.ec-explanation textarea{display:block;resize:vertical;width:100%;min-height:82px;margin-top:9px;border:1px solid #a9b79c;border-radius:9px;background:#fffdf7;padding:13px;font:14px/1.7 var(--sans);color:var(--ink)}#eclipse-reflection-note{font-size:11px;margin-top:7px}
@media(max-width:780px){.lesson-choices{grid-template-columns:1fr}.ec-heading-row{align-items:flex-start;gap:12px}.ec-heading-row .eyebrow{font-size:9px;line-height:1.8;max-width:145px}.ec-heading-row .text-link{font-size:11px;padding-top:0}.ec-intro{font-size:14px}.ec-model-tag{font-size:11px;line-height:1.8}.ec-steps{grid-template-columns:1fr 1fr;gap:8px}.ec-steps button{font-size:12px;padding:10px 12px}.ec-main-grid,.ec-secondary-grid{grid-template-columns:1fr}.ec-sky-panel{padding:18px 14px}.ec-panel-head h3{font-size:19px}.ec-panel-head>span{font-size:9px}.ec-observation{margin-top:22px}.ec-observation>p:last-child{font-size:13px;min-height:0}.ec-controls{padding:3px 0}.ec-control label{font-size:14px}.ec-node-key{margin-top:12px}.ec-node-key strong{font-size:25px}.ec-scale-note{font-size:11px}.ec-secondary-grid{margin-top:16px}.ec-explanation h2{font-size:25px}.ec-prediction legend,.ec-prediction label,.ec-explanation p,.ec-explanation li{font-size:13px}#eclipse-title{font-size:40px}.ec-panel-head{gap:8px}.ec-transport{gap:9px 12px}}
@media(max-width:350px){.ec-panel-head{display:block}.ec-panel-head>span{display:block;margin-top:4px}#eclipse-title{font-size:35px}.ec-live-reading strong{font-size:16px}.ec-node-key small{font-size:10px}.ec-heading-row .eyebrow{max-width:120px}}

/* Direct controls live with the geometry; the scientific model is unchanged. */
.ec-main-grid{display:block;max-width:820px;margin-inline:auto}.ec-interactive-panel{padding:18px 22px}.ec-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.ec-tools button{border:1px solid #6f8e7c;border-radius:9px;padding:7px 9px;color:#d4e4ce;min-height:55px;text-align:left;background:#20382d}.ec-tools button span{display:block;font-size:12px}.ec-tools output{font:600 21px/1.2 var(--serif);font-variant-numeric:tabular-nums;color:#f1edda}.ec-tools button[aria-pressed=true]{background:#3a5439;border-color:#d3dca5;box-shadow:inset 0 0 0 1px #d3dca5}.ec-tools button:disabled{opacity:.5;cursor:not-allowed}
#ec-drag-help{font-size:12px;line-height:1.5;color:#d1dec8;margin:10px 0 0;min-height:36px}.ec-canvas{position:relative;width:100%;margin:0 auto;isolation:isolate}.ec-canvas svg{display:block;overflow:visible}.ec-canvas button.ec-drag-handle{position:absolute;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border:2px solid #f3e7b9;border-radius:50%;background:#faedc408;transform:translate(-50%,-50%);touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;z-index:2}.ec-canvas button.ec-handle-node{border-color:#9ed4ef;color:#bfe6f8}.ec-canvas button.ec-handle-tilt{border-color:#e9bd68;color:#f4cf89}.ec-drag-handle>span{position:absolute;right:1px;top:0;width:16px;height:17px;font:15px/17px var(--sans);background:#172921;border-radius:50%;color:inherit}.ec-drag-handle:focus-visible{outline:3px solid #fff5d4;outline-offset:4px}.ec-drag-handle:hover{box-shadow:0 0 0 5px #d7dfbd16}#eclipse-workbench[data-dragging] .ec-drag-handle{cursor:grabbing}.ec-drag-guide{fill:none;stroke:#9bd3e8;stroke-width:1.7;stroke-dasharray:4 5}.ec-tilt-guide{fill:none;stroke:#edc67d;stroke-width:3;stroke-linecap:round}
.ec-direct-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;margin-top:4px}.ec-direct-actions .ec-phase-buttons{gap:5px}.ec-direct-actions button,.ec-tilt-actions button{min-height:44px;border:1px solid #74907a;border-radius:7px;padding:6px 10px;color:#e8efdc;font:600 12px/1.3 var(--sans)}.ec-direct-actions .ec-phase-buttons button{font-size:12px;padding-inline:8px}.ec-direct-actions .ec-phase-buttons button[aria-pressed=true]{color:#183723;background:#d9e7bd;border-color:#d9e7bd}.ec-direct-actions>button{background:#294832}.ec-direct-actions button:disabled{opacity:.5}
.ec-interactive-panel #eclipse-lock-note{font-size:11px;line-height:1.5;color:#c5d4bb;margin:7px 0 0;min-height:17px}.ec-interactive-panel .ec-observation{margin:12px 0 0;padding-top:10px;border-top:1px solid #92ac7f40}.ec-interactive-panel .ec-observation .eyebrow{display:none}.ec-interactive-panel .ec-observation h2{font-size:24px;line-height:1.2;margin:0;color:#edf1d4}.ec-interactive-panel #eclipse-feedback{color:#d9e8c6;font-size:12px;line-height:1.6;margin:8px 0 0;min-height:0}.ec-interactive-panel #eclipse-feedback:empty{display:none}.ec-tilt-actions{display:flex;gap:8px;margin-top:10px}#eclipse-workbench:not([data-tool=tilt]) .ec-tilt-actions{display:none}
.ec-interactive-panel .ec-live-reading{display:flex;flex-wrap:wrap;gap:2px 7px;align-items:baseline;border:0;margin:7px 0 0;padding:0;color:#c9d7c0;font-size:11px;line-height:1.6}.ec-interactive-panel .ec-live-reading strong{font-size:16px;line-height:1.3;color:#edcf8f;margin:0}.ec-interactive-panel .ec-live-reading>span{font-size:10px;color:#c3d4b8;margin-left:auto}.ec-interactive-panel .ec-node-key{margin-top:10px;padding-top:8px;gap:10px}.ec-interactive-panel .ec-node-key strong{font-size:18px;margin:0;line-height:1.5}.ec-interactive-panel .ec-node-key small{font-size:10px}.ec-interactive-panel .ec-node-key strong.devanagari{font-size:16px;line-height:1.7}.ec-interactive-panel #eclipse-nodes-note{margin-top:5px;font-size:10px;line-height:1.6}#eclipse-workbench:not([data-tool=node]) #eclipse-nodes-note{display:none}.ec-interactive-panel .ec-scale-note{font-size:10px;line-height:1.5;margin-top:8px}
.ec-precise-controls,.ec-more-views{border-block:1px solid #becbb0;margin:15px 0}.ec-precise-controls>summary,.ec-more-views>summary{min-height:48px;padding:12px 0;cursor:pointer;font-size:13px;font-weight:600;color:#37552f}.ec-precise-controls>p{font-size:12px;line-height:1.7;color:#4b6343}.ec-number-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ec-number-grid .ec-control{border:0;padding:10px 0}.ec-number-grid label{font-size:12px}.ec-number-grid input{width:100%;min-height:44px;margin:6px 0;padding:8px;border:1px solid #9aae87;border-radius:7px;font:15px var(--sans);background:#fffdf2;color:#263d24}.ec-number-grid p{font-size:10px}.ec-number-grid input:invalid{outline:2px solid #994926}.ec-number-grid input:disabled{opacity:.55}
#ec-story-slot{max-width:820px;margin:20px auto}.ec-steps{display:flex;overflow-x:auto;gap:8px;margin:0 0 12px;padding:2px 2px 6px;scroll-snap-type:x proximity}.ec-steps button{flex:1 0 140px;scroll-snap-align:start;padding:8px 12px;font-size:12px}.ec-steps button span{display:inline;margin-right:6px}.ec-steps button[aria-pressed=true]{font-weight:650}#eclipse-story{font-size:13px;line-height:1.75;color:#4a6141}#eclipse-next{font-size:12px;margin-top:7px}.ec-more-views .ec-secondary-grid{margin-block:8px 18px}
body[data-app-view=lesson]:not([data-topic-panel=explore]) #ec-story-slot,body[data-app-view=lesson]:not([data-topic-panel=explore]) .ec-more-views{display:none}
@media(max-width:780px){.ec-interactive-panel{padding:15px 12px}.ec-interactive-panel .ec-panel-head{display:flex;align-items:center;gap:5px}.ec-interactive-panel .ec-panel-head h3{font-size:20px}.ec-interactive-panel .ec-panel-head>span{margin:0;font-size:9px}.ec-tools{gap:6px;margin-top:11px}.ec-tools button{padding:6px 8px}.ec-tools output{font-size:20px}#ec-drag-help{font-size:11px;min-height:33px;margin-top:8px}.ec-interactive-panel .ec-svg-label,.ec-interactive-panel .ec-sun-label{font-size:24px}.ec-interactive-panel .ec-observation h2{font-size:22px}.ec-interactive-panel .ec-node-key{gap:8px}.ec-interactive-panel .ec-live-reading>span{flex-basis:100%;margin-left:0}.ec-steps button{flex-basis:135px}.ec-direct-actions{gap:5px}.ec-direct-actions button{padding-inline:8px}.ec-direct-actions .ec-phase-buttons button{font-size:11px;padding-inline:5px}.ec-precise-controls{margin-top:11px}.ec-number-grid{gap:8px}}
@media(prefers-reduced-motion:reduce){.ec-drag-handle{transition:none}}
.ec-canvas{max-width:610px}

/* The unchanged physical shadow section now stays with the direct orbit controls. */
body[data-topic=eclipse] #topic-hands-on{display:none}
body[data-app-view=lesson][data-topic=eclipse] .learning-topbar .topic-return .lab-topline{position:static;margin:0 0 0 auto;min-width:0}
body[data-app-view=lesson][data-topic=eclipse] .learning-topbar .topic-return :is(#model-label,#topic-model){display:none}
#ec-learning-caption{font-size:14px;line-height:1.7;max-width:1120px;margin:6px auto 12px;color:#35552e}
.ec-main-grid{max-width:1120px}.ec-geometry-pair{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px;align-items:center;margin-top:10px}
.ec-shadow-primary{padding:12px;border:1px solid #829b71;border-radius:12px;background:#20372a;overflow:visible}
.ec-shadow-primary .ec-panel-head{display:block}.ec-shadow-primary .ec-panel-head h3{font-size:21px}.ec-shadow-primary .ec-panel-head>span{font-size:10px}.ec-shadow-primary #eclipse-shadow-result{font-size:12px;line-height:1.65;color:#e6eddc;margin-top:5px}.ec-shadow-primary .ec-scale-note{font-size:10px;line-height:1.65}
.ec-shadow-primary .ec-no-section{font-size:12px;line-height:1.7;margin-block:18px;color:#e6eddc}
.ec-interactive-panel .ec-direct-actions{margin-top:8px;max-width:600px}.ec-interactive-panel #ec-drag-help{min-height:0;margin-bottom:8px}
#ec-story-slot{max-width:1120px}.ec-more-views .ec-secondary-grid{grid-template-columns:minmax(0,1fr);max-width:650px;margin-inline:auto}
body[data-topic=eclipse]:not([data-topic-panel=explore]) #ec-learning-caption{display:none}
@media(max-width:780px){.ec-geometry-pair{grid-template-columns:minmax(0,1fr);gap:8px}.ec-shadow-primary{padding:10px}.ec-shadow-primary .ec-panel-head{display:flex;flex-wrap:wrap;gap:4px 10px}.ec-shadow-primary .ec-panel-head h3{font-size:18px}.ec-shadow-primary .ec-svg-label{font-size:23px}.ec-shadow-primary #eclipse-shadow-result{font-size:11px}.ec-shadow-primary .ec-scale-note{font-size:10px}.ec-shadow-primary svg{max-height:150px}#ec-learning-caption{font-size:12px;margin-top:5px}body[data-app-view=lesson][data-topic=eclipse] .learning-topbar .topic-return{flex-wrap:nowrap;gap:6px}body[data-app-view=lesson][data-topic=eclipse] #topic-back{max-width:calc(100% - 130px);white-space:normal;text-align:left;line-height:1.5}body[data-app-view=lesson][data-topic=eclipse] .learning-topbar .topic-return .jv-language-label{font-size:10px;white-space:nowrap}body[data-app-view=lesson][data-topic=eclipse] .learning-topbar .topic-return .jv-language small{display:none}body[data-app-view=lesson][data-topic=eclipse] .learning-topbar .topic-return .jv-language select{width:124px;max-width:124px;min-width:0;font-size:11px}}

#eclipse-workbench .ec-direct-actions .ec-phase-buttons{min-width:0}#eclipse-workbench .ec-direct-actions button{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
@media(min-width:600px) and (max-width:780px){.ec-geometry-pair{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
@media(max-width:599px){.ec-geometry-pair .ec-canvas{max-width:280px}.ec-shadow-primary{padding:9px}.ec-interactive-panel #ec-status-slot .ec-observation{margin-top:8px;padding-top:8px}.ec-interactive-panel #eclipse-outcome{font-size:20px}}
/* All outcomes occupy the same responsive grid cell, so their longest translated
   text reserves space while the real heading stays accessible and can wrap. */
.ec-outcome-slot{display:grid}.ec-outcome-slot>h2{grid-area:1/1;align-self:start}.ec-outcome-slot>.ec-outcome-measure{visibility:hidden;pointer-events:none}
@media(max-width:599px){.ec-interactive-panel .ec-outcome-slot>h2{font-size:20px}}
/* The compact lesson bar has room for the caption only above 370px; the select keeps its accessible name. */
@media(max-width:370px){body[data-app-view=lesson][data-topic=eclipse] .learning-topbar .topic-return .jv-language-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
