/* Resource reader, September 2026. Scoped to the resource detail page. */
.resource-detail-page.resource-reader-page {
  color:#233b53;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:400;
  background:#f3f6fa;
}
.resource-detail-page.resource-reader-page .shell { width:min(1500px,100%); padding:16px 24px 32px; }
.resource-detail-page.resource-reader-page .topbar { min-height:60px; border-radius:14px; box-shadow:none; }
.resource-detail-page.resource-reader-page .topbar .brand { font-weight:700; }
.resource-detail-page.resource-reader-page .topbar .link-button { min-height:44px; font-size:.84rem; font-weight:600; }
.resource-detail-page.resource-reader-page .resource-detail { grid-template-columns:minmax(0,1fr); gap:14px; margin-top:14px; }
.resource-detail-page.resource-reader-page .resource-summary-header {
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:12px 24px;
  padding:20px 22px!important;
  border-radius:16px;
  box-shadow:0 3px 14px rgba(32,60,92,.035);
}
.resource-detail-page.resource-reader-page .resource-heading-title-row { align-items:center; flex-wrap:nowrap; }
.resource-detail-page.resource-reader-page .resource-summary-header h1 {
  font-size:clamp(1.45rem,2.6vw,2rem)!important;
  font-weight:750;
  line-height:1.18!important;
  white-space:normal;
  overflow-wrap:anywhere;
  letter-spacing:-.035em;
}
.resource-detail-page.resource-reader-page .resource-summary-header .file-type { min-height:28px!important; font-size:.68rem; font-weight:700; }
.resource-detail-page.resource-reader-page .resource-badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.resource-detail-page.resource-reader-page .resource-badges>span { padding:4px 9px; border-radius:6px; background:#f0f5fa; color:#45627c; font-size:.78rem; line-height:1.4; overflow-wrap:anywhere; }
.resource-detail-page.resource-reader-page .resource-badges>span:first-child { background:#eaf3ff; color:#225f96; }
.resource-detail-page.resource-reader-page .resource-summary-header .resource-actions {
  display:flex;
  flex-direction:row;
  align-items:center;
  align-self:start;
  justify-content:flex-end;
  max-width:440px;
  gap:8px;
  padding-top:1px;
}
.resource-detail-page.resource-reader-page .resource-actions .nav-button,
.resource-detail-page.resource-reader-page .resource-actions .link-button {
  min-height:44px!important;
  padding:10px 13px!important;
  gap:7px;
  border-radius:10px;
  font-size:.82rem!important;
  font-weight:600;
  line-height:1.3;
  box-shadow:none;
  transition:background-color .16s,border-color .16s;
}
.resource-detail-page.resource-reader-page .resource-actions [data-saved-button][aria-pressed="true"] { background:#eaf6ee; color:#20603a; border-color:#bcdac6; }
.resource-detail-page.resource-reader-page .resource-actions .interactive-game-link { background:#197046; border:1px solid #197046; color:#fff; }
.resource-detail-page.resource-reader-page .resource-actions .interactive-game-link:hover { background:#125735; border-color:#125735; }
.resource-detail-page.resource-reader-page .resource-actions .share-status { font-size:.78rem; min-height:0; }
.resource-detail-page.resource-reader-page .share-status:empty { display:none; }
.resource-icon { width:18px; height:18px; flex:0 0 18px; }
.resource-detail-page.resource-reader-page .resource-description-block { grid-column:1/-1; min-width:0; }
.resource-detail-page.resource-reader-page .resource-summary-header .resource-description { max-width:100%!important; margin:0!important; font-size:.88rem!important; line-height:1.6!important; color:#526980; overflow-wrap:anywhere; }
.resource-detail-page.resource-reader-page .resource-description.is-collapsed { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.resource-detail-page.resource-reader-page .resource-read-more { min-height:44px; padding:6px 0; margin-top:0; border:0; background:none; color:#1268ad; font:inherit; font-size:.82rem; font-weight:650; cursor:pointer; }
.resource-detail-page.resource-reader-page [hidden] { display:none!important; }

/* Reading progress sits alongside the reader instead of inside the details. */
.resource-detail-page.resource-reader-page .resource-reading-summary { display:flex; align-items:center; gap:20px; padding:11px 16px; border:1px solid #dce7ef; border-radius:12px; background:#fff; }
.resource-detail-page.resource-reader-page .reading-summary-label { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 12px; }
.resource-detail-page.resource-reader-page .reading-summary-label h2 { margin:0; font-size:.85rem; font-weight:650; }
.resource-detail-page.resource-reader-page .reading-summary-label>span { font-size:.8rem; color:#526980; }
.resource-detail-page.resource-reader-page .reading-summary-track { display:flex; align-items:center; gap:10px; min-width:140px; max-width:250px; flex:1; }
.resource-detail-page.resource-reader-page .reading-summary-track progress { appearance:none; border:0; width:100%; height:6px; border-radius:6px; overflow:hidden; background:#e5edf5; accent-color:#1676c2; }
.resource-detail-page.resource-reader-page .reading-summary-track progress::-webkit-progress-bar { background:#e5edf5; }
.resource-detail-page.resource-reader-page .reading-summary-track progress::-webkit-progress-value { background:#1676c2; border-radius:6px; }
.resource-detail-page.resource-reader-page .reading-summary-track progress::-moz-progress-bar { background:#1676c2; border-radius:6px; }
.resource-detail-page.resource-reader-page .reading-summary-track strong { font-size:.82rem; font-weight:650; color:#1268ad; }
.resource-detail-page.resource-reader-page .reading-summary-status { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; margin-left:auto; font-size:.76rem; color:#577086; }
.resource-detail-page.resource-reader-page .reading-summary-status a { color:#1767a7; text-underline-offset:3px; }
.resource-detail-page.resource-reader-page [data-auto-progress-status][data-tone="error"] { color:#a82a26; }
.resource-detail-page.resource-reader-page [data-auto-progress-status][data-tone="success"] { color:#246848; }

/* A single continuous reader surface with reachable controls. */
.resource-detail-page.resource-reader-page .viewer { min-width:0; width:100%; grid-column:1; }
.resource-detail-page.resource-reader-page .viewer.pdf-auto-viewer { display:block; min-height:0; overflow:visible; border:1px solid #d6e1eb; border-radius:16px; background:#e8eef4; box-shadow:0 5px 22px rgba(32,60,92,.055); scroll-margin-top:12px; }
.resource-detail-page.resource-reader-page .pdf-reader { display:grid; grid-template-rows:auto auto auto; width:100%; height:auto; min-height:0; overflow:visible; border-radius:16px; background:#e8eef4; }
.resource-detail-page.resource-reader-page .pdf-reader-toolbar {
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:8px;
  min-height:62px;
  padding:9px 12px;
  overflow:visible;
  border-radius:15px 15px 0 0;
  border-bottom:1px solid #283e54;
  background:#1d3044;
}
.resource-detail-page.resource-reader-page .pdf-toolbar-group { display:flex; align-items:center; flex-wrap:nowrap; gap:6px; min-width:0; }
.resource-detail-page.resource-reader-page .pdf-toolbar-spacer { display:block; flex:1; min-width:0; }
.resource-detail-page.resource-reader-page .pdf-reader-toolbar button,
.resource-detail-page.resource-reader-page .pdf-view-options>summary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding:0 11px;
  gap:6px;
  border:1px solid #496076;
  border-radius:9px;
  background:#2a4056;
  color:#f7faff;
  font:inherit;
  font-size:.8rem;
  font-weight:550;
  line-height:1.2;
  white-space:nowrap;
  cursor:pointer;
}
.resource-detail-page.resource-reader-page .pdf-reader-toolbar button b { font-weight:550; }
.resource-detail-page.resource-reader-page .pdf-toolbar-pages .pdf-tool-button b { display:inline; }
.resource-detail-page.resource-reader-page .pdf-reader-toolbar button:hover:not(:disabled),
.resource-detail-page.resource-reader-page .pdf-view-options>summary:hover { background:#354f68; }
.resource-detail-page.resource-reader-page .pdf-reader-toolbar button:disabled { opacity:.4; cursor:default; }
.resource-detail-page.resource-reader-page .pdf-reader-toolbar .pdf-tool-button--icon { width:44px; min-width:44px!important; font-size:1.15rem; padding:0; }
.resource-detail-page.resource-reader-page .pdf-page-display { min-width:130px; background:#182a3c!important; font-variant-numeric:tabular-nums; }
.resource-detail-page.resource-reader-page .pdf-zoom-state { height:44px; min-width:46px; padding:0 3px; border-radius:0; background:transparent; color:#e2ecf6; font-size:.78rem; font-weight:500; }
.resource-detail-page.resource-reader-page .pdf-page-editor input { width:64px; height:44px; font-size:1rem; font-weight:500; }
.resource-detail-page.resource-reader-page .pdf-view-options { position:relative; flex:0 0 auto; }
.resource-detail-page.resource-reader-page .pdf-view-options>summary { list-style:none; }
.resource-detail-page.resource-reader-page .pdf-view-options>summary::-webkit-details-marker { display:none; }
.resource-detail-page.resource-reader-page .pdf-view-options-panel { position:absolute; top:calc(100% + 8px); right:0; z-index:30; display:grid; gap:4px; width:220px; padding:7px; border:1px solid #d5e1ec; border-radius:12px; background:#fff; box-shadow:0 12px 36px #0d253333; }
.resource-detail-page.resource-reader-page .pdf-view-options-panel .pdf-tool-button { justify-content:flex-start; width:100%; border:1px solid transparent; background:#fff; color:#2a455f; }
.resource-detail-page.resource-reader-page .pdf-view-options-panel .pdf-tool-button:hover:not(:disabled) { background:#f0f5fa; }
.resource-detail-page.resource-reader-page .pdf-view-options-panel .pdf-tool-button.is-active { background:#eaf3ff; color:#125f9f; border-color:#d4e7fc; }
.resource-detail-page.resource-reader-page .pdf-view-options-panel .pdf-tool-button.is-active::after { content:"✓"; margin-left:auto; }
.resource-detail-page.resource-reader-page .pdf-reader-stage { height:clamp(260px,calc(100dvh - 340px),800px); min-height:0!important; padding:18px 68px; align-items:flex-start; justify-content:flex-start; overflow:auto; background:#e8eef4; border-radius:0 0 15px 15px; transition:none; }
.resource-detail-page.resource-reader-page .pdf-book-spread { min-width:0; flex:0 0 auto; margin-inline:auto; }
.resource-detail-page.resource-reader-page .pdf-book-spread.is-cover .pdf-page-sheet--left { box-shadow:3px 4px 0 #bac7d180,0 6px 16px #203c5c1a; }
.resource-detail-page.resource-reader-page .pdf-page-sheet canvas { box-shadow:0 5px 18px #233e571f; }
.resource-detail-page.resource-reader-page .pdf-stage-nav { width:44px; height:52px; border-radius:12px; border:1px solid #cfdfed; font-size:1.7rem; font-weight:500; box-shadow:0 3px 12px #203c5c12; }
.resource-detail-page.resource-reader-page .pdf-stage-nav--prev { left:12px; }
.resource-detail-page.resource-reader-page .pdf-stage-nav--next { right:12px; }
.resource-detail-page.resource-reader-page .pdf-reader[data-zoomed="true"] .pdf-stage-nav { display:none; }
.resource-detail-page.resource-reader-page .pdf-reader-status { min-height:0; padding:8px 14px; background:#edf3f9; color:#435e75; border:0; border-radius:0 0 15px 15px; font-size:.78rem; }
.resource-detail-page.resource-reader-page .pdf-reader-status:empty { display:none; }
.resource-detail-page.resource-reader-page .pdf-reader-status[data-tone="error"] { color:#a82a26; }

/* Keep the loading state readable while the real document/page is prepared. */
.resource-detail-page.resource-reader-page .pdf-reader-loading {
  position:absolute;
  z-index:10;
  top:50%;
  left:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  width:min(300px,calc(100% - 32px));
  padding:20px 18px;
  border:1px solid #d5e4f1;
  border-radius:18px;
  background:rgba(255,255,255,.98);
  color:#21476a;
  box-shadow:0 10px 30px rgba(30,65,100,.12);
  text-align:center;
  pointer-events:none;
  transform:translate(-50%,-50%);
}
.resource-detail-page.resource-reader-page .pdf-reader-loading strong { font-size:.91rem; font-weight:650; line-height:1.4; }
.resource-detail-page.resource-reader-page .pdf-loading-caption { font-size:.76rem; font-weight:400; line-height:1.4; color:#526c83; }
.resource-detail-page.resource-reader-page .pdf-loading-book { position:relative; width:68px; height:48px; margin-bottom:2px; perspective:160px; }
.resource-detail-page.resource-reader-page .pdf-loading-book>span { position:absolute; top:6px; width:28px; height:36px; border:2px solid #2778bc; background:#eff7ff; }
.resource-detail-page.resource-reader-page .pdf-loading-book-left { left:6px; border-radius:6px 0 0 4px; transform:skewY(7deg); }
.resource-detail-page.resource-reader-page .pdf-loading-book-right { left:33px; border-radius:0 6px 4px 0; transform:skewY(-7deg); }
.resource-detail-page.resource-reader-page .pdf-loading-book>span::after { content:""; position:absolute; top:9px; left:5px; right:5px; height:2px; border-radius:2px; background:#9ac4e8; box-shadow:0 6px #9ac4e8,0 12px #9ac4e8; }
.resource-detail-page.resource-reader-page .pdf-loading-book .pdf-loading-book-leaf { left:33px; z-index:2; background:#fff; border-color:#438eca; border-radius:0 5px 4px 0; transform-origin:left center; animation:lh-reader-loading-page 1.6s ease-in-out infinite; }
.resource-detail-page.resource-reader-page .pdf-loading-meter { display:block; width:132px; height:4px; margin-top:6px; overflow:hidden; border-radius:4px; background:#e2edf7; }
.resource-detail-page.resource-reader-page .pdf-loading-meter>span { display:block; width:45%; height:100%; border-radius:inherit; background:#2778bc; animation:lh-reader-loading-bar 1.45s ease-in-out infinite; }
.resource-detail-page.resource-reader-page .pdf-reader[data-loading-phase="initial"] .pdf-book-spread,
.resource-detail-page.resource-reader-page .pdf-reader[data-loading-phase="initial"] .pdf-stage-nav { visibility:hidden; }
@keyframes lh-reader-loading-page {
  0%,12% { transform:rotateY(0deg); }
  72%,100% { transform:rotateY(-180deg); }
}
@keyframes lh-reader-loading-bar {
  0% { transform:translateX(-110%); }
  100% { transform:translateX(330%); }
}
@media(prefers-reduced-motion:reduce) {
  .resource-detail-page.resource-reader-page .pdf-loading-book .pdf-loading-book-leaf,
  .resource-detail-page.resource-reader-page .pdf-loading-meter>span { animation:none; }
  .resource-detail-page.resource-reader-page .pdf-loading-meter>span { margin-inline:auto; }
}
.resource-detail-page.resource-reader-page .pdf-native-fallback-frame { min-height:0; height:100%; max-height:none; }
.resource-detail-page.resource-reader-page .pdf-reader:fullscreen { height:100dvh; min-height:0; border-radius:0; grid-template-rows:auto minmax(0,1fr) auto; }
.resource-detail-page.resource-reader-page .pdf-reader:fullscreen .pdf-reader-stage { height:auto!important; min-height:0; border-radius:0; }
.resource-detail-page.resource-reader-page .pdf-reader:fullscreen .pdf-reader-toolbar { border-radius:0; }

.resource-detail-page.resource-reader-page .resource-about { border:1px solid #dce5ee; border-radius:12px; background:#fff; }
.resource-detail-page.resource-reader-page .resource-about>summary { display:flex; align-items:center; gap:14px; min-height:54px; padding:13px 18px; list-style:none; cursor:pointer; font-size:.9rem; font-weight:650; color:#294d6d; }
.resource-detail-page.resource-reader-page .resource-about>summary::-webkit-details-marker { display:none; }
.resource-detail-page.resource-reader-page .resource-about>summary small { font-size:.78rem; font-weight:400; color:#5b7186; }
.resource-detail-page.resource-reader-page .resource-about-chevron { margin-left:auto; transition:transform .15s; }
.resource-detail-page.resource-reader-page .resource-about[open] .resource-about-chevron { transform:rotate(180deg); }
.resource-detail-page.resource-reader-page .resource-about-content { padding:0 18px 18px; }
.resource-detail-page.resource-reader-page .resource-about-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; margin:0; padding-top:14px; border-top:1px solid #edf1f6; }
.resource-detail-page.resource-reader-page .resource-about-facts dt { margin-bottom:5px; color:#657b8e; font-size:.73rem; }
.resource-detail-page.resource-reader-page .resource-about-facts dd { margin:0; color:#28435c; font-size:.86rem; overflow-wrap:anywhere; }
.resource-detail-page.resource-reader-page .resource-about-facts small { display:block; margin-top:5px; color:#60788f; font-size:.73rem; }
.resource-detail-page.resource-reader-page .resource-keywords { margin-top:16px; }
.resource-detail-page.resource-reader-page .resource-manual-progress { padding:18px; border:1px solid #dce5ee; border-radius:12px; background:#fff; }
.resource-detail-page.resource-reader-page .resource-manual-progress .progress-form { max-width:480px; margin:0; }
.resource-detail-page.resource-reader-page .qr-dialog { width:min(620px,calc(100% - 24px)); max-height:calc(100dvh - 32px); border-radius:18px; overflow:auto; }
.resource-detail-page.resource-reader-page .qr-dialog-body { grid-template-columns:200px minmax(0,1fr); }
.resource-detail-page.resource-reader-page .qr-dialog-header h2 { font-size:1.3rem; }
.resource-detail-page.resource-reader-page .qr-dialog .share-link-row { grid-template-columns:1fr; }
.resource-detail-page.resource-reader-page .qr-dialog img { width:100%; height:auto; max-width:200px; padding:0; border-radius:4px; box-shadow:none; }
.resource-detail-page.resource-reader-page .qr-dialog button { font-weight:600; border-radius:10px; box-shadow:none; }
.resource-detail-page.resource-reader-page .qr-dialog-actions { flex-wrap:wrap; gap:8px; }
.resource-detail-page.resource-reader-page .qr-close-icon { min-width:44px; }
.resource-detail-page.resource-reader-page .qr-error { font-size:.82rem; color:#a82a26; }
.resource-detail-page.resource-reader-page :is(button,a,summary,input):focus-visible { outline:3px solid #edb33f; outline-offset:3px; }

@media(max-width:1000px) {
  .resource-detail-page.resource-reader-page .resource-summary-header { grid-template-columns:1fr; }
  .resource-detail-page.resource-reader-page .resource-summary-header .resource-actions { justify-content:flex-start; max-width:none; }
  .resource-detail-page.resource-reader-page .resource-description-block { grid-row:2; }
}
@media(max-width:850px) {
  .resource-detail-page.resource-reader-page .shell { padding:12px 16px 24px; }
  .resource-detail-page.resource-reader-page .pdf-reader-stage { padding:14px; }
  .resource-detail-page.resource-reader-page .pdf-stage-nav { display:none; }
  .resource-detail-page.resource-reader-page .reading-summary-status { width:100%; margin-left:0; }
  .resource-detail-page.resource-reader-page .resource-reading-summary { flex-wrap:wrap; gap:8px 16px; }
}
@media(max-width:900px) {
  .resource-detail-page.resource-reader-page .pdf-reader-toolbar { flex-wrap:wrap; gap:6px; padding:8px; }
  .resource-detail-page.resource-reader-page .pdf-toolbar-pages { flex:1 0 100%; justify-content:space-between; }
  .resource-detail-page.resource-reader-page .pdf-toolbar-spacer { display:none; }
  .resource-detail-page.resource-reader-page .pdf-toolbar-zoom { margin-right:auto; }
  .resource-detail-page.resource-reader-page .pdf-toolbar-fullscreen b { display:none; }
  .resource-detail-page.resource-reader-page .pdf-toolbar-fullscreen button { width:44px; padding:0; font-size:1.15rem; }
  .resource-detail-page.resource-reader-page .pdf-options-word { display:none; }
}
@media(max-width:700px) {
  .resource-detail-page.resource-reader-page .shell { padding:10px 10px 22px; }
  .resource-detail-page.resource-reader-page .topbar { flex-wrap:wrap; gap:6px; padding:8px 10px; }
  .resource-detail-page.resource-reader-page .topbar .brand { font-size:.85rem; }
  .resource-detail-page.resource-reader-page .brand-logo-mini { width:32px!important; height:32px!important; max-width:32px!important; max-height:32px!important; flex-basis:32px; border-radius:9px; }
  .resource-detail-page.resource-reader-page .nav-actions { gap:4px; }
  .resource-detail-page.resource-reader-page .topbar .link-button { padding:7px; font-size:.76rem; }
  .resource-detail-page.resource-reader-page .resource-summary-header { padding:16px!important; gap:10px; }
  .resource-detail-page.resource-reader-page .resource-actions form,
  .resource-detail-page.resource-reader-page .resource-actions .nav-button,
  .resource-detail-page.resource-reader-page .resource-actions .link-button { width:auto; }
  .resource-detail-page.resource-reader-page .resource-badges { gap:5px; margin-top:8px; }
  .resource-detail-page.resource-reader-page .resource-badges>span { font-size:.73rem; }
  .resource-detail-page.resource-reader-page .resource-summary-header .resource-description { font-size:.84rem!important; }
  .resource-detail-page.resource-reader-page .pdf-reader-stage { padding:12px; }
  .resource-detail-page.resource-reader-page .pdf-page-display { min-width:124px; }
  .resource-detail-page.resource-reader-page .resource-reading-summary { padding:10px 12px; }
  .resource-detail-page.resource-reader-page .reading-summary-label { width:100%; justify-content:space-between; }
  .resource-detail-page.resource-reader-page .reading-summary-track { max-width:100%; }
  .resource-detail-page.resource-reader-page .resource-about>summary { gap:8px; padding:12px 14px; }
  .resource-detail-page.resource-reader-page .resource-about>summary small { display:none; }
  .resource-detail-page.resource-reader-page .resource-about-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .resource-detail-page.resource-reader-page .qr-dialog-body { grid-template-columns:1fr; }
  .resource-detail-page.resource-reader-page .qr-code-panel { padding:12px; }
  .resource-detail-page.resource-reader-page .qr-dialog img { max-width:170px; }
}
@media(max-width:380px) {
  .resource-detail-page.resource-reader-page .pdf-toolbar-pages .pdf-tool-button b { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .resource-detail-page.resource-reader-page *,
  .resource-detail-page.resource-reader-page *::before,
  .resource-detail-page.resource-reader-page *::after { scroll-behavior:auto!important; transition:none!important; }
}
