/* Study guide viewer */
body.guidePage{background:#050a1c;color:#e5e7f2}
.guideHead{padding:44px 0 18px}
.guideHead h1{font-size:clamp(30px,4.5vw,48px);line-height:1.1;margin:10px 0 12px;letter-spacing:-.02em}
.guideHead p{color:#c7cbe0;max-width:760px;line-height:1.7;margin:0 0 18px}
.zoombar{position:sticky;top:70px;z-index:40;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:rgba(5,10,28,.92);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.zoombar button{min-width:44px;height:40px;border-radius:999px;border:1px solid rgba(165,180,252,.45);background:rgba(11,19,43,.9);color:#fff;font:inherit;font-weight:800;font-size:16px;padding:0 14px;cursor:pointer}
.zoombar button:hover{border-color:#a5b4fc}
.zoombar output{min-width:62px;text-align:center;font-weight:800;color:#e0e7ff}
.pages{overflow-x:auto;padding:26px 16px 10px;-webkit-overflow-scrolling:touch}
.pg{margin:0 auto 26px;width:max-content}
.pg img{display:block;width:var(--pg-w,min(860px,calc(100vw - 32px)));height:auto;background:#fff;border-radius:4px;box-shadow:0 20px 50px rgba(0,0,0,.45);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
.viewerFoot{color:#aab0c8;font-size:14px;padding:0 0 48px;text-align:center}
.printModal{position:fixed;inset:0;z-index:100;background:rgba(3,7,18,.72);display:grid;place-items:center;padding:20px}
.printModal[hidden]{display:none}
.printBox{max-width:460px;background:#0b132b;border:1px solid rgba(165,180,252,.5);border-radius:20px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.printBox h2{margin:0 0 10px;font-size:24px}
.printBox p{color:#c7cbe0;line-height:1.6;margin:0 0 18px}
.printNote{display:none}
@media (max-width:900px){.zoombar{top:auto}}
@media print{
  body>*:not(.printNote){display:none!important}
  .printNote{display:block!important;color:#000;font:16px/1.5 Georgia,serif;padding:40px}
  body.guidePage{background:#fff}
}

[hidden]{display:none!important}

/* Viewer extras */
.crumb{color:#a5b4fc;font-size:14px;font-weight:700}
.crumb:hover{text-decoration:underline}
.crumbSep{color:#6b7280;margin:0 8px}
.guideHead .guideMetaLine{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#a5b4fc;margin:0 0 8px}
.guidePage .btnGhost{background:transparent;color:#e0e7ff;border:1.5px solid rgba(165,180,252,.6)}

/* Study guide library */
body.libPage{background:var(--earth-canvas);color:var(--ink)}
.libPage .topbar{background:var(--star-deep);color:#fff}
.libHead{padding:48px 0 6px}
.libHead .refKicker{color:var(--star-electric)}
.libHead h1{font:500 clamp(34px,5vw,54px)/1.08 Georgia,serif;margin:12px 0 12px;letter-spacing:-.02em}
.libHead p{color:#475467;max-width:720px;line-height:1.7;font-size:17px;margin:0}
.libCard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;margin-top:22px;margin-bottom:22px;box-shadow:0 10px 30px #0f172a0d}
.libSearch label{display:block;font-size:14px;font-weight:700;margin-bottom:8px;color:#344054}
.libSearch input{width:100%;height:48px;border:1px solid #cbd5e1;border-radius:10px;padding:0 14px;font-size:16px;background:#f8fafc;color:var(--ink)}
.libSearch input:focus{outline:3px solid #818cf8;outline-offset:1px;background:#fff}
.libFilters{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.libFilters button{min-height:42px;padding:9px 14px;border:1px solid #d0d5dd;border-radius:999px;background:#fff;color:#344054;font-size:14px;font-weight:700}
.libFilters button:hover{border-color:var(--star-violet)}
.libFilters button[aria-pressed=true]{background:var(--star-navy);border-color:var(--star-navy);color:#fff}
.libFilters button:focus-visible,.libLinks a:focus-visible,.libEntry h3 a:focus-visible{outline:3px solid #818cf8;outline-offset:3px}
.libCount{font-size:14px;color:#667085;margin:16px 0 0}
.libLetter{font:500 26px/1.2 Georgia,serif;color:var(--star-electric);border-bottom:2px solid var(--line);padding-bottom:6px;margin:30px 0 6px;letter-spacing:0}
.libBlurb{color:#667085;font-size:15px;line-height:1.6;margin:0}
.libEntry{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line)}
.libThumb{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 4px 14px #0f172a14;transition:transform .2s ease,box-shadow .2s ease}
.libThumb:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0f172a22}
.libThumb img{display:block;width:100%;height:auto}
.libGroup .libEntry:last-child{border-bottom:0}
.libBadges{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:#667085;margin-bottom:8px}
.badge{display:inline-block;border-radius:6px;padding:3px 9px;font-size:12px;font-weight:800;letter-spacing:.03em;border:1px solid}
.t-worksheet{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}
.t-lesson-notes{background:#ecfdf3;color:#166534;border-color:#bbf7d0}
.t-reference{background:#fdf2f8;color:#9d174d;border-color:#fbcfe8}
.t-diagnostic{background:#fffbeb;color:#92400e;border-color:#fde68a}
.t-instructor-packet{background:#f0f9ff;color:#075985;border-color:#bae6fd}
.libEntry h3{font-size:19px;line-height:1.35;margin:0 0 6px}
.libEntry h3 a{color:var(--ink)}
.libEntry h3 a:hover{color:var(--star-electric)}
.libEntry p{color:#475467;font-size:15px;line-height:1.6;margin:0 0 10px}
.libEntry .libLinks{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;font-weight:700;margin:0}
.libLinks a{color:var(--star-electric)}
.libLinks a:hover{text-decoration:underline}
.libLinks a.buy{color:#475467}
.libEmpty{padding:24px 0 4px;color:#667085}
.libNote{background:#eef2ff;border-left:3px solid var(--star-electric);border-radius:0 12px 12px 0;padding:18px 22px;margin-bottom:48px;color:#344054;line-height:1.6}
.libNote a{color:var(--star-electric);font-weight:700;text-decoration:underline}
@media(max-width:620px){.libEntry{grid-template-columns:80px 1fr;gap:14px}.libHead{padding-top:32px}.libCard{padding:18px}.libFilters button{flex:1 1 calc(50% - 8px)}}
.t-poster{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.t-curriculum{background:#eef2ff;color:#1e1b4b;border-color:#a5b4fc}

/* Infographics tab */
.libAlso{margin:0 0 10px!important}
.libAlso a,.igJump a{color:var(--star-electric);font-weight:700}
.igJump{margin-top:12px!important;font-size:15px}
.igGroup+.igGroup{margin-top:12px}
.igGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin:16px 0 8px}
.igCard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease}
.igCard:hover,.igCard:focus-visible{transform:translateY(-3px);box-shadow:0 14px 34px #0f172a1f}
.igCard:focus-visible{outline:3px solid #818cf8;outline-offset:3px}
.igThumb{display:block;aspect-ratio:3/4;overflow:hidden;background:#eef0f8;border-bottom:1px solid var(--line)}
.igThumb img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.igText{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}
.igMeta{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#667085}
.igText strong{font-size:16px;line-height:1.35}
.igOpen{margin-top:4px;font-size:14px;font-weight:700;color:var(--star-electric)}
/* Ghost effect: previews start invisible, then fade in as they scroll into view */
.fx .igCard{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease,box-shadow .2s ease}
.fx .igCard.in{opacity:1;transform:none}
.fx .igCard.in:hover{transform:translateY(-3px)}
@media(max-width:620px){.igGrid{grid-template-columns:1fr;gap:18px}.igThumb{aspect-ratio:auto}.igThumb img{height:auto}.igText{padding:10px 12px 12px}.igText strong{font-size:16px}.igOpen{display:block}}
