.stage.viewer-status-layout {
  position:relative;
}

.stage.viewer-status-layout .slide {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  transform:scale(var(--viewer-slide-scale,1));
  transform-origin:top center;
}

.stage.viewer-status-layout .viewer-nav {
  position:absolute;
  top:var(--viewer-nav-top,0);
}

.viewer-nav {
  grid-template-columns:76px minmax(0,1fr) 76px;
  gap:8px;
  position:relative;
  left:50%;
  width:min(calc(100vw - 44px),1600px);
  min-height:82px;
  margin-top:14px;
  transform:translateX(-50%);
}

.viewer-nav .pages {
  display:block;
  min-width:0;
}

.viewer-status {
  display:grid;
  gap:6px;
  min-width:0;
  color:var(--ink);
}

.viewer-status-meta {
  display:flex;
  align-items:baseline;
  gap:14px;
  min-width:0;
}

.viewer-status-count {
  flex:0 0 auto;
  color:#056b68;
  font-size:16px;
  line-height:1.2;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  letter-spacing:.05em;
}

.viewer-status-title {
  overflow:hidden;
  min-width:0;
  color:#405960;
  font-size:15px;
  line-height:1.25;
  font-weight:750;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.viewer-status-chapters {
  display:grid;
  grid-template-columns:repeat(var(--page-count),minmax(0,1fr));
  align-items:end;
  min-width:0;
}

.viewer-status-chapter {
  overflow:hidden;
  padding:0 5px 4px;
  border-bottom:2px solid #d8e4e5;
  color:#405960;
  font-size:11px;
  line-height:1.2;
  font-weight:750;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.viewer-status-chapter.is-complete {
  border-bottom-color:var(--teal);
  color:#056b68;
}

.viewer-status-chapter.is-current {
  border-bottom-color:var(--gold);
  color:#765407;
  font-weight:900;
}

.viewer-progress-track {
  display:grid;
  grid-template-columns:repeat(var(--page-count),minmax(3px,1fr));
  gap:0;
  min-width:0;
  padding:3px 0;
}

.viewer-progress-track .page-button {
  display:block;
  width:100%;
  min-width:0;
  min-height:24px;
  height:24px;
  padding:0;
  border:1px solid #60777d;
  border-radius:3px;
  background:#dce7e8;
  color:transparent;
  font-size:0;
  line-height:0;
  cursor:pointer;
  transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease;
}

.viewer-progress-track .page-button:hover {
  background:#9fcac8;
  transform:scaleY(1.2);
}

.viewer-progress-track .page-button.is-complete {
  border-color:#056b68;
  background:var(--teal-2);
}

.viewer-progress-track .page-button.is-current {
  border:2px solid var(--ink);
  background:var(--gold);
  box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink);
  transform:scaleY(1.35);
}

.viewer-progress-track .page-button:focus-visible {
  position:relative;
  z-index:2;
  outline:3px solid var(--ink);
  outline-offset:3px;
}

@media (max-width:1200px) {
  .viewer-nav {
    grid-template-columns:94px minmax(0,1fr) 94px;
    gap:10px;
  }

  .viewer-status-meta { gap:9px; }
  .viewer-status-count { font-size:14px; }
  .viewer-status-title { font-size:13px; }
  .viewer-status-chapter { padding-inline:2px; font-size:9px; }
  .viewer-progress-track { gap:0; }
}

@media (min-width:1600px) {
  .viewer-nav {
    grid-template-columns:150px minmax(0,1fr) 150px;
    gap:20px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .viewer-progress-track .page-button { transition:none; }
}
