/* Compatibility/accessibility additions; designer CSS and SVG geometry stay intact. */
.lesson-header-main{min-width:0}.lesson-header a{flex-shrink:0}.lesson-header-main>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.pop{max-width:calc(100vw - 32px);max-height:min(65vh,600px);overflow:auto}
.story-context-link{display:inline-block;min-height:44px;font-size:14px;margin-top:8px}.paper .story-context-link{color:#5A5960}
.media-status{margin-top:18px}.play:disabled{cursor:default;opacity:.75}
.back.scrollable-story{display:block!important;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b5651a transparent}
.family-group{width:min(700px,100%);margin:40px auto 52px;transform:rotate(-1.5deg)}.family-group figcaption{padding-top:10px;font-size:14px;color:#3b3a40}.family-source{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#5a5960}
.family-portrait{position:absolute;inset:0;overflow:hidden;display:block}.family-childhood{position:relative;display:block;width:100%;height:320px}.family-childhood-label{display:block;position:relative;padding:10px 12px;font-size:14px;color:#1e1d21;background:#e8e3d7}
.fallow-explanation{margin-top:36px}.fallow-explanation>summary{display:list-item;cursor:pointer;min-height:44px;color:#f7a23b;font-weight:600}
.soil-comparison{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:24px;padding:28px;background:transparent}.soil-comparison figure{margin:0;padding:8px;background:transparent}.soil-comparison svg{display:block;width:100%;border-bottom:1px solid #8c8c93}.soil-comparison figcaption{margin-top:22px;font-size:22px;font-weight:600;line-height:1.4;text-align:center}
@media(max-width:700px){.soil-comparison{grid-template-columns:1fr;padding:10px 0;gap:32px}.soil-comparison figcaption{font-size:20px}}
#reflection-form{display:flex;flex-direction:column;gap:14px;margin-top:24px}#reflection-form label{display:flex;flex-direction:column;gap:8px}
#reflection-form input,#reflection-form textarea{box-sizing:border-box;width:100%;padding:14px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:#28272c;color:#f5f3ee;font:inherit}
#reflection-form button{min-height:44px;border-radius:999px;padding:10px 20px;border:1px solid #f7a23b;background:#f7a23b;color:#141416;font:inherit;cursor:pointer}
.paper #reflection-form input,.paper #reflection-form textarea{background:#f8f3ea;color:#1e1d21;border-color:#5a5960}
@media(max-width:700px){.lesson-header{padding-inline:16px!important;gap:10px!important}.lesson-header-main{gap:8px!important}.lesson-header-main>span{font-size:12px!important;white-space:normal!important;line-height:1.15}.lesson-header>span{display:none}.lesson-header-main{flex:1;justify-content:flex-end}.lesson-header .ringP{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){.fPin,.drPin{height:auto!important}.fStick,.drStick{position:static!important}.rv,.rv1,.rv2,.rvL,.rvR,.rvN,.zm,.wp{opacity:1!important;translate:none!important;scale:none!important;clip-path:none!important}.sm .cityC{animation:none!important}.play{animation:none!important}}
@supports not(animation-timeline:view()){.rv,.rv1,.rv2,.rvL,.rvR,.rvN,.zm,.wp{opacity:1;translate:none;scale:none;clip-path:none}}

/* Approved printing types retained inside the glossary layer, not replacing the final designer composition. */
.physical-types {
  display: block;
  position: relative;
  width: min(420px, 100%);
  height: auto;
  min-height: 0;
  aspect-ratio: 1;
  padding: 0;
  margin-bottom: 30px;
  justify-self: center;
}
.physical-types .ros { inset: 0; width: 100%; opacity: .35; }
.type-orbit { position: absolute; inset: 0; }
.type-piece {
  position: absolute;
  width: 22%;
  height: 28%;
  display: grid;
  place-items: center;
  border: 1px solid #8c8c93;
  border-radius: 3px;
  background: linear-gradient(145deg, #f5f3ee, #bdbbc2);
  box-shadow: 3px 4px 0 #8c8c93, 0 8px 16px rgba(30,29,33,.12);
}
.type-piece::before { content: ""; position: absolute; inset: 5px; border: 1px solid rgba(30,29,33,.16); }
.type-a { left: 25%; top: 9%; color: #b5651a; rotate: -8deg; }
.type-b { left: 62%; top: 46%; color: #f7a23b; rotate: 9deg; background: linear-gradient(145deg,#4a4a50,#2a2a2f); }
.type-v { left: 20%; top: 64%; color: #1e1d21; rotate: -5deg; }
.type-face { display: block; font-size: clamp(64px,6.6vw,94px); line-height: 1; animation: rock 2.6s ease-in-out infinite; }
.physical-types > .type-caption { position: absolute; bottom: -26px; left: 0; width: 100%; margin: 0; font-size: 16px; }

.pop .physical-types{flex-shrink:0;margin-inline:auto}

/* Original video frame preserved; external player appears only after activation. */
.mur-player{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}.video-fallback{display:inline-block;margin-top:12px;min-height:44px}.pop .physical-types{display:block}#download-certificate{margin-top:20px}#certificate-status{font-size:15px;line-height:1.5}

/* Certificate audit: restore the original .field metrics and primary action rhythm. */
#reflection-form.certificate-form{margin:0;gap:20px}
#reflection-form.certificate-form .field{border-radius:14px;border:1.5px solid rgba(255,255,255,.22);background:#19181C;color:#F5F3EE;font:inherit;font-size:19px;padding:16px 18px;outline:none}
#reflection-form.certificate-form .field:focus{border-color:#F7A23B}
#certificate-status{margin:0;color:#A3A1A8}
.certificate-local{font-size:14px;line-height:1.5;color:#A3A1A8}
.certificate-local>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}
.certificate-local .form-actions{display:flex;flex-wrap:wrap;gap:10px}
#s6>.wrap>.certificate-local button{min-height:44px;border-radius:999px;padding:10px 20px;border:1px solid #F7A23B;background:transparent;color:#F5F3EE;font:inherit;font-size:14px;cursor:pointer}
#reflection-form.certificate-form #download-certificate{max-width:100%;white-space:normal}
#download-certificate svg{flex-shrink:0}
#confirm-reading{width:auto!important;flex-shrink:0}

#s6>.wrap>.certificate-local{margin-top:28px;max-width:760px}

/* Approved small certificate refinement: reserve a neat note area below the raised name. */
#certificate-name{margin-bottom:12px!important}
#cert [data-if=hasNote]{display:contents!important}
#cert [data-if=hasNote][hidden]{visibility:hidden}
#cert [data-if=hasNote] p{min-height:54.6px;-webkit-line-clamp:3!important;white-space:pre-wrap;overflow-wrap:anywhere}
.certificate-note-count{font-size:14px;color:#A3A1A8}

/* Working original route geometry, with real links and touch-sized mobile targets. */
.course-route-scroll{width:100%;max-width:1200px;box-sizing:border-box}.course-route-point{color:inherit;border-radius:10px}.course-route-point:focus-visible{outline:2px solid #F7A23B;outline-offset:2px}.course-route-point:hover .fa{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.course-route-scroll{overflow-x:auto;overflow-y:hidden;padding:6px 0 18px;scrollbar-color:#F7A23B #28272c}.course-route-track{min-width:660px}.mapC .mb image{width:110px;height:54px;x:-55px;y:-49px}.boatR{top:18px}.sail{bottom:calc(114px - (0.0975 * clamp(180px, 22vw, 300px)))!important}}

/* Page-level nonmodal explanations: above the sticky header (20), outside animated/clipped ancestors. */
.course-popover-foreground{position:fixed;z-index:21;margin:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 96px);overflow:auto}
