/* Shared mobile reader. ECG palette tokens come from the course UI contract.
   Silver = secondary actions/comparison; blue = recommendation; green = seen/continue.
   Exam gold, desktop geometry and the measured expansion timing remain independent. */
body.mobile-reader {
  background:var(--ecg-ui-bg,#0c121c)!important;
  overflow-x:hidden
}

body.mobile-reader #academy-map#academy-map .view-unit {
  display:block!important;
  height:auto!important;
  min-height:75dvh!important;
  padding:0!important;
  background:none!important;
  overflow:visible!important;
  transform:none!important
}

html body.mobile-reader #academy-map#academy-map .view-unit>:not(.study-reader) {
  display:none!important
}

body.mobile-reader .academy-scene,body.mobile-reader .course-stars,body.mobile-reader .course-scene-image {
  display:none!important
}

body.mobile-reader #academy-map#academy-map {
  height:auto!important;
  min-height:0!important;
  padding-bottom:24px!important;
  background:none!important;
  overflow:visible!important
}

body.mobile-reader #academy-map#academy-map .study-reader {
  --reader-edge:var(--ecg-ui-border,#8292a6);
  color:var(--ecg-ui-text,#e6edf7);
  max-width:620px;
  margin:0 auto;
  padding:10px 16px 32px;
  scroll-margin-top:80px;
  text-align:left;
  line-height:1.5;
  font-size:14px;
  transition:opacity .2s ease,transform .2s ease
}

body.mobile-reader #academy-map#academy-map .study-reader * {
  box-sizing:border-box;
  min-width:0
}

body.mobile-reader #academy-map#academy-map .study-reader button,body.mobile-reader #academy-map#academy-map .study-reader input,body.mobile-reader #academy-map#academy-map .study-reader select {
  font:inherit
}

body.mobile-reader #academy-map#academy-map .study-reader button {
  cursor:pointer;
  border:1px solid var(--reader-edge);
  border-radius:11px;
  color:var(--ecg-ui-silver,#cbd5e2);
  background:var(--ecg-ui-action-bg,linear-gradient(145deg,#2c384a,#192634));
  padding:11px 14px;
  min-height:44px;
  box-shadow:0 3px 0 #060d16;
  transition:background .2s,box-shadow .2s,transform .2s
}

body.mobile-reader #academy-map#academy-map .study-reader button:hover {
  border-color:var(--ecg-ui-accent,#55b8ef);
  box-shadow:0 3px 0 #060d16,0 0 14px rgb(var(--ecg-ui-blue-rgb,85 184 239)/.13)
}

body.mobile-reader #academy-map#academy-map .study-reader button:active {
  transform:translateY(2px);
  box-shadow:0 1px 0 #060d16
}

body.mobile-reader #academy-map#academy-map .study-reader button:focus-visible,body.mobile-reader #academy-map#academy-map .study-reader input:focus-visible,body.mobile-reader #academy-map#academy-map .study-reader select:focus-visible {
  outline:2px solid var(--ecg-ui-focus,#55b8ef);
  outline-offset:3px
}

.reader-nav,.reader-context,.reader-progress {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px
}

.reader-nav {
  margin-bottom:12px
}

.reader-nav button {
  font-weight:700;
  font-size:13px
}

.reader-context {
  font-size:12px;
  color:var(--ecg-ui-silver,#cbd5e2);
  padding:4px 0
}

.reader-context button {
  padding:7px 10px;
  font-size:12px;
  min-height:40px
}

.reader-progress {
  font-size:11px;
  color:var(--ecg-ui-muted,#adbacd);
  border-bottom:1px solid #28374a;
  padding:10px 0
}

.reader-progress span:last-child {
  white-space:nowrap
}

.reader-notice {
  min-height:0;
  margin:0;
  color:var(--ecg-ui-success,#8bdbb1);
  font-weight:700
}

.reader-notice:not(:empty) {
  padding-top:12px
}

.reader-heading {
  margin:18px 0 14px
}

.reader-heading small {
  color:var(--ecg-ui-accent-soft,#9cd5f5);
  font-weight:700;
  font-size:11px;
  letter-spacing:.08em
}

.reader-heading h1 {
  font-size:22px;
  line-height:1.25;
  margin:7px 0 12px;
  color:var(--ecg-ui-silver-bright,#e1e7ee);
  text-transform:none;
  letter-spacing:normal
}

.reader-heading h1:focus {
  outline:none
}

.reader-heading p {
  font-size:14px;
  color:var(--ecg-ui-muted,#adbacd);
  margin:0
}

.reader-heading button {
  font-size:12px
}

.reader-options {
  display:grid;
  gap:14px;
  margin:20px 0
}

.reader-options>button {
  padding:18px;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:7px
}

.reader-options strong {
  font-size:17px;
  color:var(--ecg-ui-silver-bright,#e1e7ee)
}

.reader-options span {
  font-size:13px;
  color:var(--ecg-ui-muted,#adbacd)
}

.reader-options b {
  font-size:12px;
  color:var(--ecg-ui-accent-soft,#9cd5f5);
  margin-top:6px
}

.reader-options-compact {
  grid-template-columns:repeat(auto-fit,minmax(115px,1fr))
}

.reader-options-compact>button {
  text-align:center;
  align-items:center;
  padding:15px 9px
}

.reader-options-compact strong {
  font-size:14px
}

body.mobile-reader #academy-map#academy-map .study-reader .map-popover.mobile-inline-lesson {
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:none!important;
  overflow:visible!important;
  animation:none!important;
  opacity:1!important;
  visibility:visible!important
}

body.mobile-reader #academy-map#academy-map .study-reader .map-popover-close,body.mobile-reader #academy-map#academy-map .study-reader .map-preview-content>header,body.mobile-reader #academy-map#academy-map .study-reader .lesson-popover-meta,body.mobile-reader #academy-map#academy-map .study-reader .lesson-preview-action,body.mobile-reader #academy-map#academy-map .study-reader .sector-study-actions>small,body.mobile-reader #academy-map#academy-map .study-reader .tree-guide-fit,body.mobile-reader #academy-map#academy-map .study-reader .tree-preview-coverage {
  display:none!important
}

body.mobile-reader #academy-map#academy-map .study-reader .map-preview-content {
  padding:0!important;
  max-height:none!important;
  overflow:visible!important;
  display:block!important;
  position:static!important;
  height:auto!important
}

body.mobile-reader #academy-map#academy-map .study-reader .map-preview-requirement {
  font-size:14px!important;
  line-height:1.6!important;
  color:#bfcbdb!important;
  margin:14px 0!important;
  text-align:left!important
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-lesson-media {
  margin:0 0 16px
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-stage,.reader-video-placeholder {
  position:relative;
  aspect-ratio:16/9;
  border-radius:14px;
  overflow:hidden;
  background:radial-gradient(ellipse at 50% 0,#243247,#0a131e 85%);
  border:1px solid #34445b;
  box-shadow:inset 0 3px 12px #0009;
  display:grid;
  place-items:center
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-placeholder,.reader-video-placeholder {
  text-align:center;
  color:#aebed1;
  padding:15px
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-placeholder span,.reader-video-placeholder>span {
  display:block;
  font-size:32px;
  color:var(--ecg-ui-silver,#cbd5e2);
  margin-bottom:8px
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-placeholder strong,.reader-video-placeholder strong {
  display:block;
  font-size:14px
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-placeholder p,.reader-video-placeholder p {
  margin:6px 0;
  font-size:12px
}

.reader-video-placeholder {
  display:flex;
  flex-direction:column;
  justify-content:center
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-player:empty {
  display:none
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-player:not(:empty) {
  position:absolute;
  inset:0
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-player iframe {
  width:100%;
  height:100%;
  border:0
}

body.mobile-reader #academy-map#academy-map .study-reader [data-media-state=ready] .mobile-media-placeholder {
  display:none
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-note {
  font-size:12px;
  color:#acbbcf;
  margin:8px 0
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-note:empty {
  display:none
}

body.mobile-reader #academy-map#academy-map .study-reader [hidden] {
  display:none!important
}

body.mobile-reader #academy-map#academy-map .study-reader .sector-study-actions {
  display:flex!important;
  flex-direction:column;
  gap:10px;
  padding:10px 0!important;
  margin:0!important;
  border:0!important;
  background:none!important;
  position:static!important
}

body.mobile-reader #academy-map#academy-map .study-reader [data-study-action=seen],body.mobile-reader #academy-map#academy-map .study-reader .reader-primary {
  width:100%;
  color:var(--ecg-ui-success-text)!important;
  background:var(--ecg-ui-success-action-bg)!important;
  border:1px solid var(--ecg-ui-success-border)!important;
  font-weight:800;
  padding:14px!important;
  min-height:54px;
  box-shadow:0 4px 0 #091e16!important
}

.reader-next {
  font-size:12px;
  line-height:1.5;
  color:var(--ecg-ui-accent-soft,#9cd5f5);
  padding:10px 12px;
  border-radius:9px;
  background:#172032;
  box-shadow:inset 0 2px 5px #0005;
  margin:12px 0
}

.reader-previous {
  margin-top:20px;
  font-size:12px!important
}

.reader-end-actions {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
}

body.mobile-reader #academy-map#academy-map .study-reader .reader-end-actions>button {
  width:100%;
  min-height:54px;
}

.reader-consult {
  padding:12px;
  background:var(--ecg-ui-inset-bg,#14283a);
  border:1px solid var(--ecg-ui-border,#8292a6);
  border-radius:12px;
  margin-top:15px;
  font-size:12px;
  color:var(--ecg-ui-silver,#cbd5e2)
}

.reader-consult button {
  margin-top:10px;
  width:100%
}

.reader-search {
  display:block;
  font-size:12px;
  color:#b6c4d7;
  margin:14px 0
}

.reader-search input,.reader-search select {
  display:block;
  width:100%;
  padding:12px;
  margin-top:6px;
  color:#edf2fb;
  background:#111c2b;
  border:1px solid #3b4b61;
  border-radius:10px;
  min-height:46px;
  font-size:16px
}

.reader-index-results h2 {
  font-size:13px;
  color:var(--ecg-ui-silver,#cbd5e2);
  margin:24px 0 10px
}

.reader-index-results button {
  display:flex;
  text-align:left;
  flex-direction:column;
  gap:5px;
  width:100%;
  margin-bottom:10px;
  font-size:13px
}

.reader-index-results small {
  color:#a9c8bc;
  font-size:11px
}

.reader-leaving {
  opacity:.1;
  transform:translateY(4px);
  pointer-events:none
}

@keyframes reader-arrive {
  from {
    opacity:.4;
    transform:translateY(6px)
  }

  to {
    opacity:1;
    transform:none
  }

}

@media(max-height:599px) and (orientation:landscape) {
  body.mobile-reader #academy-map#academy-map .study-reader {
    max-width:760px;
    scroll-margin-top:55px
  }

  body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-stage {
    max-width:520px;
    margin:auto
  }

  .reader-context {
    padding:0
  }

  .reader-heading {
    margin-top:10px
  }

}

@media(prefers-reduced-motion:reduce) {
  body.mobile-reader #academy-map#academy-map .study-reader,body.mobile-reader #academy-map#academy-map .study-reader * {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }

}

body.mobile-reader .ecg-mobile-nav {
  display:none!important
}

body.mobile-reader #academy-map#academy-map .study-reader .map-popover::before,body.mobile-reader #academy-map#academy-map .study-reader .map-popover::after {
  display:none!important
}

body.mobile-reader #academy-map#academy-map .study-reader .mobile-media-stage {
  padding:0!important
}

body.mobile-reader #academy-map#academy-map .study-reader .exam-open-button {
  background:linear-gradient(140deg,#cfaa55,#a78032)!important;
  border-color:#edcc79!important;
  color:#221d10!important;
  font-weight:800;
  box-shadow:0 4px 0 #493719!important
}

body.mobile-reader #academy-map#academy-map .study-reader .reader-native[data-kind=exam] .tree-preview-guide {
  display:none!important
}

body.mobile-reader #academy-map#academy-map .study-reader button:disabled {
  opacity:.6;
  cursor:not-allowed;
  transform:none;
  box-shadow:none!important
}

/* One choice component and one lesson surface throughout the V1/V2 mobile pilot. */
body.mobile-reader #academy-map#academy-map .lateral-reader {
  padding:10px 16px calc(150px + env(safe-area-inset-bottom));
  overflow:clip;
  scroll-margin-top:76px
}

.lateral-reader .reader-nav {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:0 0 14px
}

.lateral-reader .reader-nav button {
  width:100%;
  font-weight:650;
  font-size:13px
}

.reader-course-label {
  display:flex;
  justify-content:space-between;
  color:var(--ecg-ui-muted,#adbacd);
  font-size:12px;
  margin-bottom:7px
}

.reader-course-label strong {
  color:var(--ecg-ui-silver-bright,#e1e7ee)
}

.reader-course-track {
  height:6px;
  background:#080f18;
  border-radius:9px;
  box-shadow:inset 0 1px 3px #0009;
  overflow:hidden
}

.reader-course-track i {
  display:block;
  height:100%;
  background:linear-gradient(90deg,var(--ecg-ui-accent,#55b8ef),var(--ecg-ui-accent-soft,#9cd5f5));
  border-radius:inherit;
  transition:width .8s ease
}

.lateral-reader .reader-context {
  min-height:48px;
  margin-bottom:6px;
  gap:8px
}

.lateral-reader .reader-context span {
  font-size:12px
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-context button {
  padding:8px;
  font-size:13px;
  flex-shrink:0;
  min-height:44px
}

.reader-body {
  position:relative;
  min-height:220px
}

.reader-detail-holder {
  overflow:hidden;
  padding:3px 0 6px
}

.reader-card {
  position:relative;
  border:1px solid var(--ecg-ui-border,#8292a6);
  border-radius:15px;
  background:linear-gradient(135deg,var(--ecg-ui-surface,#263244),#192535);
  box-shadow:inset 0 2px 10px #030a1445;
  overflow:hidden
}

.reader-card.is-open {
  border-color:var(--ecg-ui-accent,#55b8ef);
  background:linear-gradient(145deg,var(--ecg-ui-open,#192e43),var(--ecg-ui-inset-bg,#14283a) 70%);
  box-shadow:inset 2px 0 var(--ecg-ui-accent,#55b8ef),inset 0 -2px rgb(var(--ecg-ui-blue-rgb,85 184 239)/.38),inset 0 2px 10px #030a1445
}

.lateral-reader .reader-card .reader-heading {
  padding:18px 16px 14px;
  margin:0;
  text-align:left
}

.lateral-reader .reader-heading h1,.lateral-reader .reader-heading h2 {
  font-size:20px;
  line-height:1.35;
  margin:7px 0 12px;
  color:var(--ecg-ui-silver-bright,#e1e7ee);
  text-transform:none;
  letter-spacing:normal
}

.lateral-reader .reader-heading h2:focus {
  outline:none
}

.lateral-reader .reader-heading small {
  font-size:11px
}

.lateral-reader [data-current-state] {
  color:var(--ecg-ui-success,#8bdbb1);
  letter-spacing:0
}

body.mobile-reader #academy-map#academy-map .lateral-reader button {
  border:1px solid #738499a3;
  border-top-color:var(--ecg-ui-line-strong,#b4c2d2);
  border-bottom:3px solid #080f18;
  box-shadow:inset 0 1px #ffffff12,0 2px #050c14;
  background:var(--ecg-ui-action-bg,linear-gradient(145deg,#2c384a,#192634));
  border-radius:11px;
  min-height:46px;
  color:var(--ecg-ui-silver-bright,#e1e7ee);
  transition:filter .2s,transform .2s,box-shadow .2s
}

body.mobile-reader #academy-map#academy-map .lateral-reader button:active {
  transform:translateY(2px);
  box-shadow:inset 0 2px 7px #0005,0 1px #050c14
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-card-heading {
  padding:0
}

.lateral-reader .reader-card-heading h2 {
  margin:0;
  font-size:inherit
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-title-toggle {
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  padding:18px 16px;
  text-align:left;
  border:0;
  border-radius:14px;
  box-shadow:none;
  background:transparent;
  transform:none;
  min-height:92px
}

.reader-title-copy {
  flex:1;
  min-width:0
}

/* The current lesson has a blue heading; its video keeps the quiet inset surface. */
.reader-card.is-open:not(.is-complete):not(.is-locked):not(.reader-exam-card):not(.reader-state-card)>.reader-card-heading {
  background:var(--ecg-ui-selected-surface);
}
.reader-card.is-open:not(.is-complete):not(.is-locked):not(.reader-exam-card):not(.reader-state-card) :is(.reader-lesson-title,.reader-title-copy>small,.reader-title-affordance) {
  color:var(--ecg-ui-selected-text);
}

.reader-title-copy>small {
  display:block;
  line-height:1.5;
  margin-bottom:7px
}

.reader-lesson-title {
  display:block;
  font-size:20px;
  font-weight:750;
  line-height:1.35;
  color:var(--ecg-ui-silver-bright,#e1e7ee)
}

.reader-title-affordance {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  flex:none;
  color:var(--ecg-ui-silver,#cbd5e2);
  font-size:10px
}

.reader-title-chevron {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid var(--ecg-ui-border,#8292a6);
  border-radius:10px;
  background:var(--ecg-ui-action-bg,linear-gradient(145deg,#2c384a,#192634));
  box-shadow:0 2px #101020;
  transition:transform .5s ease
}

.reader-title-toggle[aria-expanded=false] .reader-title-chevron {
  transform:rotate(180deg)
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-title-toggle:focus-visible {
  outline-offset:-4px
}

.reader-card-fold {
  display:block;
  transition:none!important
}

.reader-card:not(.is-open)>.reader-card-fold {
  display:none
}

.reader-card-fold .reader-native,.reader-card-fold .reader-after {
  margin-left:15px;
  margin-right:15px
}

.reader-card-fold .reader-after {
  padding-bottom:15px
}

.lateral-reader .choice-heading {
  margin:12px 0 18px
}

.lateral-reader .choice-heading h1 {
  font-size:21px
}

.lateral-reader .choice-heading p {
  font-size:15px;
  line-height:1.55
}

.lateral-reader .choice-heading>button {
  margin-top:12px;
  font-size:13px
}

.reader-choice-branch {
  position:relative;
  padding:30px 0 14px
}

.lateral-reader .reader-options-compact {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:1fr;
  grid-template-columns:none;
  position:relative;
  gap:10px;
  margin:0;
  padding:0;
  border:0
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-options-compact>button {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:112px;
  height:100%;
  padding:15px 6px;
  gap:7px;
  text-align:center;
  border:1px solid #738499a3;
  border-top-color:var(--ecg-ui-line-strong,#b4c2d2);
  border-bottom:3px solid #070d16;
  border-radius:13px;
  background:var(--ecg-ui-action-bg,linear-gradient(145deg,#2c384a,#192634));
  box-shadow:inset 0 1px #eaf1ff13,0 3px #050b13,0 7px 12px #0003
}

.lateral-reader .reader-option-image {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:clamp(64px,18vw,78px);
  flex:none;
  pointer-events:none
}

.lateral-reader .reader-option-image img {
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
  image-rendering:auto
}

.lateral-reader .reader-options-compact strong {
  font-size:14px;
  line-height:1.3
}

.lateral-reader .reader-options-compact .reader-option-state {
  font-size:11px;
  line-height:1.4;
  color:var(--ecg-ui-muted,#adbacd)
}

.lateral-reader .reader-options-compact .reader-option-action {
  font-size:11px;
  color:var(--ecg-ui-accent-soft,#9cd5f5);
  line-height:1.4
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-options-compact>.is-selected {
  border-color:var(--ecg-ui-selected-border);
  border-bottom-color:var(--ecg-ui-selected-base);
  background:var(--ecg-ui-selected-surface);
  color:var(--ecg-ui-selected-text);
  box-shadow:inset 0 1px #fff2,inset 0 -3px var(--ecg-ui-selected-border),0 3px #050b13
}

.lateral-reader .reader-options-compact>.is-selected :is(.reader-option-state,.reader-option-action) {
  color:var(--ecg-ui-selected-detail);
}

.lateral-reader .reader-options-compact>.is-selected .reader-option-action {
  font-weight:750;
}

/* Preview and confirmed route are separate; the badge persists when browsing another option. */
.lateral-reader .reader-option-selection {
  display:block;
  width:fit-content;
  max-width:100%;
  padding:3px 6px;
  border-radius:5px;
  background:var(--ecg-ui-selected-border);
  color:var(--ecg-ui-bg);
  font-size:10px;
  font-weight:750;
  line-height:1.4;
}

.lateral-reader .reader-option-selection[hidden] {
  display:none;
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-options-compact>.is-current-route:not(.is-selected) {
  border-color:var(--ecg-ui-selected-border);
  box-shadow:inset 0 0 0 1px var(--ecg-ui-selected-border),0 3px #050b13,0 7px 12px #0003;
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-options-compact>.is-complete {
  background:var(--ecg-ui-success-surface);
  border-color:#88c9ae66;
  border-top-color:#b0e6c67d;
  border-bottom-color:#081711
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-options-compact>.is-complete.is-selected {
  border-color:var(--ecg-ui-selected-border);
  border-bottom-color:var(--ecg-ui-selected-base);
  box-shadow:inset 0 -3px var(--ecg-ui-selected-border),inset 0 0 0 1px var(--ecg-ui-selected-border),0 3px #050b13
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-options-compact>.is-complete .reader-option-state {
  color:var(--ecg-ui-success,#8bdbb1)
}

.reader-choice-empty {
  padding:17px 14px;
  border:1px solid #8192ac35;
  border-top-color:#050b16;
  border-radius:13px;
  color:#becbdc;
  font-size:15px;
  text-align:center;
  box-shadow:inset 0 2px 9px #0003;
  background:#111b2b
}

.reader-choice-empty p {
  margin:6px 0;
  line-height:1.55
}

.reader-route-preview {
  padding-bottom:16px
}

.reader-route-preview>p {
  margin:0 16px 18px;
  font-size:15px;
  color:#bdcadb
}

.reader-route-preview>.reader-primary {
  display:block!important;
  width:calc(100% - 32px)!important;
  margin:0 16px
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-compare {
  display:block;
  width:100%;
  min-height:54px;
  margin:7px 0 0;
  padding:13px 9px;
  font-size:14px;
  font-weight:750;
  color:var(--ecg-ui-compare-text);
  background:var(--ecg-ui-compare-surface);
  border:1px solid var(--ecg-ui-compare-border);
  border-top-color:var(--ecg-ui-silver-bright);
  border-bottom:3px solid var(--ecg-ui-shadow);
  box-shadow:inset 0 1px #ffffff19,0 3px #080d17
}

body.mobile-reader #academy-map#academy-map .lateral-reader [data-study-action=seen],body.mobile-reader #academy-map#academy-map .lateral-reader .reader-primary {
  font-size:14px!important;
  border-bottom:3px solid #0b2017!important;
  background:var(--ecg-ui-success-action-bg)!important
}

.lateral-reader .reader-next {
  font-size:12px;
  margin:14px 0 0
}

.reader-change-choice {
  margin-bottom:14px
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-dock {
  display:block!important;
  position:fixed!important;
  inset:auto 0 0!important;
  transform:none!important;
  margin:0 auto!important;
  width:min(100%,620px)!important;
  max-width:620px!important;
  padding:10px 16px calc(12px + env(safe-area-inset-bottom))!important;
  z-index:45!important;
  text-align:left!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  background:#101a29f5;
  border-top:1px solid #3c4a60;
  border-radius:18px 18px 0 0;
  box-shadow:0 -10px 24px #070d1770;
  backdrop-filter:blur(12px)
}

.lateral-reader .reader-dock .reader-notice {
  min-height:30px;
  padding:0 0 8px;
  margin:0;
  text-align:center;
  color:#bfcede;
  font-size:12px;
  font-weight:400;
  line-height:1.4
}

.reader-dock-controls {
  display:grid;
  grid-template-columns:1fr 60px 1fr;
  gap:10px;
  align-items:center
}

.reader-dock-controls>span {
  text-align:center;
  font-size:10px;
  color:#a5b4c9
}

.reader-dock-controls strong {
  display:block;
  color:var(--ecg-ui-silver,#cbd5e2);
  font-size:11px;
  margin-bottom:2px
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-dock-controls>button {
  width:100%;
  height:48px;
  min-height:48px;
  padding:8px 4px;
  font-size:13px;
  font-weight:650
}

body.mobile-reader #academy-map#academy-map .lateral-reader button:disabled {
  opacity:.5;
  cursor:not-allowed;
  transform:none;
  filter:none;
  box-shadow:none!important
}

.reader-card.reader-arrival {
  outline:2px solid var(--reader-arrival-color,var(--ecg-ui-accent,#55b8ef));
  outline-offset:-3px;
  animation:reader-context-arrival 2.4s ease-in-out both
}

@keyframes reader-context-arrival {
  0%,100% {
    outline-color:transparent
  }

  25%,65% {
    outline-color:var(--reader-arrival-color,var(--ecg-ui-accent,#55b8ef))
  }

}

@media(hover:hover) {
  body.mobile-reader #academy-map#academy-map .lateral-reader button:hover:not(:disabled) {
    filter:brightness(1.1);
    border-color:var(--ecg-ui-accent,#55b8ef);
    transform:translateY(-1px)
  }

}

@media(max-width:350px) {
  body.mobile-reader #academy-map#academy-map .lateral-reader {
    padding-left:12px;
    padding-right:12px
  }

  .reader-dock-controls {
    grid-template-columns:1fr 48px 1fr;
    gap:7px
  }

  .lateral-reader .reader-options-compact {
    gap:7px
  }

  .lateral-reader .reader-options-compact strong {
    font-size:13px
  }

  .lateral-reader .reader-heading h1,.lateral-reader .reader-heading h2 {
    font-size:19px
  }

}

@media(max-height:500px) and (orientation:landscape) {
  .lateral-reader .reader-dock .reader-notice {
    display:none
  }

  .lateral-reader .reader-context {
    min-height:36px
  }

  body.mobile-reader #academy-map#academy-map .lateral-reader {
    padding-bottom:92px
  }

}

@media(prefers-reduced-motion:reduce) {
  body.mobile-reader #academy-map#academy-map .lateral-reader button {
    transform:none!important
  }

  .reader-card.reader-arrival {
    animation:none!important;
    outline-color:var(--reader-arrival-color,var(--ecg-ui-accent,#55b8ef))
  }

}

/* Quick navigation stays above the current lesson without replacing or pausing it. */
.reader-quicknav {
  position:fixed;
  z-index:95;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px;
  border:1px solid var(--ecg-ui-border,#8292a6);
  border-radius:15px;
  background:linear-gradient(145deg,#253044,#162235);
  box-shadow:0 16px 40px #030710a8,inset 0 1px #fff1;
  overflow:hidden
}

.reader-quicknav-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px
}

.reader-quicknav-heading strong {
  display:block;
  font-size:17px;
  color:var(--ecg-ui-silver-bright,#e1e7ee)
}

.reader-quicknav-heading small {
  display:block;
  font-size:11px;
  color:var(--ecg-ui-muted,#adbacd);
  margin-top:3px
}

body.mobile-reader #academy-map#academy-map .reader-quicknav-heading button {
  flex:none;
  padding:0;
  width:44px;
  height:44px;
  font-size:23px
}

.reader-quicknav-filters {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  gap:10px
}

.reader-quicknav .reader-search {
  margin:0;
  font-size:11px
}

.reader-quicknav .reader-search input,.reader-quicknav .reader-search select {
  margin-top:4px;
  padding:9px 8px;
  min-height:44px
}

.reader-quicknav .reader-index-results {
  overflow:auto;
  overscroll-behavior:contain;
  min-height:0;
  padding:4px;
  scrollbar-width:thin;
  scrollbar-color:var(--ecg-ui-silver,#cbd5e2) #111c2b;
  border-radius:10px;
  background:#0b15234d;
  box-shadow:inset 0 2px 8px #0004
}

.reader-quicknav .reader-index-results h3 {
  font-size:12px;
  color:var(--ecg-ui-silver,#cbd5e2);
  margin:14px 5px 8px
}

.reader-quicknav-filters>label:only-child {
  grid-column:1/-1;
}

.reader-quicknav .reader-index-results section:first-child h3 {
  margin-top:5px
}

body.mobile-reader #academy-map#academy-map .reader-quicknav .reader-index-results button {
  font-size:13px;
  line-height:1.45;
  margin:0 0 8px;
  padding:12px;
  text-align:left
}

.reader-quicknav .reader-index-results small {
  font-size:11px;
  color:var(--ecg-ui-muted,#adbacd)
}

body.mobile-reader #academy-map#academy-map .reader-quicknav [aria-current=step] {
  border-color:var(--ecg-ui-selected-border);
  background:var(--ecg-ui-selected-surface);
  color:var(--ecg-ui-selected-text);
  box-shadow:inset 3px 0 var(--ecg-ui-selected-border),0 2px #050c14
}

.reader-quicknav .reader-index-results [aria-current=step]:not(.is-complete):not(.reader-index-exam) small {
  color:var(--ecg-ui-selected-detail);
}

.reader-choice-hint {
  position:absolute;
  left:50%;
  top:-3px;
  transform:translateX(-50%);
  width:max-content;
  max-width:100%;
  padding:3px 12px;
  border:1px solid var(--ecg-ui-accent,#55b8ef);
  border-radius:7px;
  background:var(--ecg-ui-selected-bg,#192e43);
  text-align:center;
  color:var(--ecg-ui-silver-bright,#e1e7ee);
  pointer-events:none;
  animation:reader-soft-pulse 3s ease-in-out both
}

.reader-choice-hint::after {
  content:'';
  position:absolute;
  left:calc(50% - 4px);
  bottom:-5px;
  width:7px;
  height:7px;
  transform:rotate(45deg);
  background:var(--ecg-ui-selected-bg,#192e43);
  border-right:1px solid var(--ecg-ui-accent,#55b8ef);
  border-bottom:1px solid var(--ecg-ui-accent,#55b8ef)
}

.reader-choice-hint strong {
  display:block;
  font-size:12px;
  line-height:1.4
}

.reader-needs-choice:focus {
  outline:none
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-needs-choice>button::after,body.mobile-reader #academy-map#academy-map .lateral-reader .reader-action-cue::after {
  content:'';
  position:absolute;
  inset:-1px;
  border:1px solid var(--reader-cue-color,var(--ecg-ui-accent,#55b8ef));
  border-radius:inherit;
  box-shadow:0 0 20px 2px var(--reader-cue-shadow,rgb(var(--ecg-ui-blue-rgb,85 184 239)/.36)),inset 0 0 12px rgb(var(--ecg-ui-blue-rgb,85 184 239)/.13);
  pointer-events:none;
  animation:reader-soft-pulse 3s ease-in-out both
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-action-cue {
  position:relative;
  --reader-cue-color:#c0f5d9;
  --reader-cue-shadow:#83d6ac66
}

@keyframes reader-soft-pulse {
  0%,100% {
    opacity:0
  }

  50% {
    opacity:1
  }

}

.reader-card.is-complete:not(.reader-exam-card) {
  border-color:#83bea0;
  background:linear-gradient(145deg,#233e36,#172d29 70%);
  box-shadow:inset 2px 0 #81bca070,inset 0 2px 10px #030a1445
}

.reader-card.is-complete:not(.reader-exam-card) .reader-title-copy>small {
  color:var(--ecg-ui-success,#8bdbb1)
}

/* Completed content remains green; the expanded boundary still identifies current context. */
.reader-card.is-complete.is-open {
  border-color:var(--ecg-ui-selected-border);
}

.reader-choice-empty.is-complete {
  border-color:#639e7f60;
  background:#142a24;
  color:#c2e7d2
}

.reader-choice-empty>strong {
  display:block;
  font-size:15px;
  font-weight:650
}

.reader-choice-empty>p {
  font-size:14px;
  color:#b9c7d8
}

.reader-choice-empty.is-complete>p {
  color:#b5d5c3
}

body.mobile-reader #academy-map#academy-map .reader-quicknav .reader-index-results button.is-complete {
  background:linear-gradient(135deg,#27483e,#17302b);
  border-color:#88c9ae66;
  border-top-color:#b7e6cc8a;
  border-bottom-color:#081711
}

.reader-quicknav .reader-index-results button.is-complete small {
  color:var(--ecg-ui-success,#8bdbb1)
}

body.mobile-reader #academy-map#academy-map .reader-quicknav .reader-index-results button.is-complete[aria-current=step] {
  border-color:var(--ecg-ui-accent,#55b8ef);
  box-shadow:inset 3px 0 var(--ecg-ui-accent,#55b8ef),0 2px #050c14
}

.reader-card.is-locked:not(.reader-exam-card) {
  border-color:var(--ecg-ui-locked-border,#536072);
  background:var(--ecg-ui-locked,#181e27);
  box-shadow:inset 0 2px 8px #030a1445
}

.reader-card.is-locked:not(.reader-exam-card) .reader-title-copy>small {
  color:var(--ecg-ui-warning,#dcc18b)
}

.reader-card.is-locked [data-current-state] {
  color:var(--ecg-ui-warning,#dcc18b)
}

.reader-state-card {
  background:var(--ecg-ui-inset-bg);
}

.reader-state-card[data-state-kind=decision]:not(.is-complete):not(.is-locked)>.reader-card-heading {
  background:var(--ecg-ui-selected-surface);
}

.reader-state-card[data-state-kind=decision]:not(.is-complete):not(.is-locked) :is(.reader-lesson-title,.reader-title-copy>small,.reader-title-affordance) {
  color:var(--ecg-ui-selected-text);
}

.reader-state-card:is([data-state-kind=pause],[data-state-kind=support]):not(.is-complete) {
  border-color:var(--ecg-ui-warning);
  background:linear-gradient(145deg,#2d2b25,var(--ecg-ui-inset-bg));
  box-shadow:inset 3px 0 var(--ecg-ui-warning),inset 0 2px 10px #030a1445;
}

.reader-state-card:is([data-state-kind=pause],[data-state-kind=support]) .reader-title-copy>small {
  color:var(--ecg-ui-warning);
}

.reader-exam-card,.reader-exam-card.is-open {
  --reader-arrival-color:var(--ecg-ui-exam,#dfbe77);
  border-color:#bc9d60;
  background:linear-gradient(135deg,#343735,#202a34 65%,#192331);
  box-shadow:inset 0 1px #e5cc8b40,0 4px 0 #100f0b
}

.reader-exam-emblem {
  display:grid;
  place-items:center;
  flex:none;
  width:54px;
  height:64px;
  color:var(--ecg-ui-exam,#dfbe77);
  filter:drop-shadow(0 3px 2px #0007)
}

.reader-exam-emblem svg {
  fill:#7d684433
}

.reader-exam-card .reader-title-copy>small {
  color:var(--ecg-ui-exam,#dfbe77)
}

.reader-exam-card .reader-title-chevron {
  background:linear-gradient(145deg,#4b4335,#302f2c);
  border-color:#af965961;
  color:var(--ecg-ui-exam,#dfbe77)
}

.reader-exam-card .reader-title-affordance {
  color:var(--ecg-ui-exam,#dfbe77)
}

.reader-exam-card .reader-card-fold {
  border-top:1px solid #a48c583b;
  padding-top:15px
}

.reader-exam-card:not(.is-open) .reader-card-fold {
  padding-top:0
}

.reader-exam-card.is-complete .reader-exam-emblem {
  color:var(--ecg-ui-success,#8bdbb1)
}

.reader-exam-card.is-complete [data-current-state] {
  color:var(--ecg-ui-success,#8bdbb1)
}

body.mobile-reader #academy-map#academy-map .lateral-reader .reader-exam-card .exam-open-button {
  width:100%;
  min-height:54px;
  font-size:15px;
  border-radius:11px
}

@media(prefers-reduced-motion:reduce) {
  .reader-choice-hint,.reader-needs-choice>button::after,.reader-action-cue::after {
    animation:none!important;
    opacity:1
  }

}

@media(max-width:350px) {
  .reader-lesson-title {
    font-size:18px
  }

  .reader-quicknav {
    padding:12px
  }

  .reader-title-toggle {
    gap:10px
  }

}

@media(max-height:500px) and (orientation:landscape) {
  .reader-quicknav {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,2fr);
    grid-template-rows:auto minmax(0,1fr);
    padding:10px;
    gap:8px
  }

  .reader-quicknav-heading {
    gap:8px
  }

  .reader-quicknav-heading small {
    display:none
  }

  .reader-quicknav-filters .reader-search {
    font-size:0
  }

  .reader-quicknav-filters .reader-search input,.reader-quicknav-filters .reader-search select {
    margin:0;
    font-size:16px!important
  }

  .reader-quicknav-heading strong {
    font-size:15px
  }

  .reader-quicknav .reader-index-results {
    grid-column:1/-1
  }

}

/* Assessment keeps its identity inside quick navigation, including approved/current states. */
body.mobile-reader #academy-map#academy-map .reader-quicknav .reader-index-results .reader-index-exam {
  flex-direction:row;
  align-items:center;
  gap:13px;
  border-color:#af925d;
  border-top-color:#d6bb7c;
  border-bottom-color:#221e14;
  background:linear-gradient(135deg,#39392f,#222b34);
  box-shadow:inset 0 1px #ffe5a31c,0 3px #0c100e
}

.reader-index-medal {
  display:grid;
  place-items:center;
  flex:none;
  width:38px;
  color:var(--ecg-ui-exam,#dfbe77)
}

.reader-index-medal svg {
  width:36px;
  height:42px;
  fill:#8b73382e
}

.reader-index-exam-copy {
  display:flex;
  flex-direction:column;
  gap:5px
}

.reader-index-exam-copy>span:not(.reader-index-exam-label) {
  font-weight:700
}

.reader-index-exam-label {
  color:var(--ecg-ui-exam,#dfbe77);
  font-size:10px;
  font-weight:750;
  letter-spacing:.08em
}

body.mobile-reader #academy-map#academy-map .reader-quicknav .reader-index-results .reader-index-exam.is-complete {
  background:linear-gradient(135deg,#29483b,#1b302b);
  border-color:#adbc82;
  border-bottom-color:#0b1e16
}

.reader-index-exam.is-complete .reader-index-medal {
  color:var(--ecg-ui-success,#8bdbb1)
}

body.mobile-reader #academy-map#academy-map .reader-quicknav .reader-index-results .reader-index-exam[aria-current=step] {
  outline:2px solid var(--ecg-ui-accent,#55b8ef);
  outline-offset:-4px
}

/* Persistent recommendation, distinct from the open card and its short arrival cue. */
.reader-heading .reader-recommendation-label,
.reader-quicknav .reader-recommendation-label {
  display:inline-block;
  width:fit-content;
  padding:3px 7px;
  border-radius:5px;
  background:var(--ecg-ui-recommended-mark);
  color:var(--ecg-ui-bg);
  font-size:11px;
  font-weight:750;
  line-height:1.4;
  letter-spacing:0;
}
.reader-card.is-recommended:not(.is-complete):not(.is-locked):not(.reader-exam-card):not(.reader-state-card) {
  border-color:var(--ecg-ui-recommended-mark);
  box-shadow:inset 4px 0 var(--ecg-ui-recommended-mark),inset 0 1px #e5edf526,0 4px #060d16;
}
.reader-card.is-recommended:not(.is-complete):not(.is-locked):not(.reader-exam-card):not(.reader-state-card)>.reader-card-heading {
  background:var(--ecg-ui-recommended-surface);
}
.reader-card.is-recommended:not(.is-complete):not(.is-locked):not(.reader-exam-card):not(.reader-state-card) :is(.reader-lesson-title,.reader-title-copy>small,.reader-title-affordance) {
  color:var(--ecg-ui-recommended-text);
}
body.mobile-reader #academy-map#academy-map .reader-quicknav .reader-index-results .is-recommended:not(.is-complete):not(.reader-index-exam) {
  background:var(--ecg-ui-recommended-surface);
  color:var(--ecg-ui-recommended-text);
  border-color:var(--ecg-ui-recommended-mark);
  box-shadow:inset 4px 0 var(--ecg-ui-recommended-mark),0 3px #060d16;
}
.reader-quicknav .reader-index-results .is-recommended:not(.is-complete):not(.reader-index-exam) small {
  color:var(--ecg-ui-recommended-detail);
}
