.book-catalog-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-bottom:1px solid var(--scene-line,#d7b9d530);margin:12px 0 30px}.book-catalog-tabs button{font:400 16px Prompt,sans-serif;color:var(--scene-muted,#bdb1c7);background:none;border:0;border-bottom:2px solid transparent;padding:17px 10px;text-align:left;cursor:pointer}.book-catalog-tabs button small{font:500 10px Inter,sans-serif;margin-right:13px;opacity:.7}.book-catalog-tabs button[aria-selected=true]{color:#e6bfdc;border-bottom-color:#d3a7c8}.book-category[hidden]{display:none!important}.book-category{scroll-margin-top:30px}.book-category-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:0 0 25px}.book-category-heading h3{font:500 22px Prompt,sans-serif;margin:0}.book-category-heading p{color:var(--scene-muted,#bdb1c7);font:400 12px/1.8 Prompt,sans-serif;margin:0}
.store-book{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;align-items:center;gap:55px;padding:36px 45px;margin:0 0 30px;background:radial-gradient(ellipse at 90% 0%,#ad769e1f,transparent 70%),linear-gradient(120deg,#303044a1,#242b3f99);border:1px solid #d9b5cf40;border-radius:5px 32px 5px 32px}.store-cover-scene{display:flex;align-items:center;justify-content:center;min-height:320px;perspective:900px;position:relative}.store-cover-scene:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse,#d3a7c82b,transparent 67%);pointer-events:none}.store-book-cover{width:220px;min-height:310px;background:linear-gradient(140deg,#eee0ec,#baaaca);color:#45384d;box-shadow:5px 2px 0 #f2e8ef,9px 3px 0 #9c89aa,18px 20px 40px #080c1a66;border-radius:3px 8px 8px 3px;padding:25px 23px;transform:rotate(-6deg) rotateY(-12deg);display:flex;flex-direction:column;position:relative;overflow:hidden;border-left:7px solid #ab90b4}.store-book-cover:after{content:'';position:absolute;width:210px;height:120px;right:-85px;top:125px;border:1px solid #785a8855;border-radius:50%;transform:rotate(-40deg);pointer-events:none}.store-book-cover small{font:600 9px Inter,sans-serif;letter-spacing:.16em}.store-book-cover .cover-series{font:400 8px Inter,sans-serif;letter-spacing:.2em;margin-top:30px}.store-book-cover strong{font:600 36px/1.2 Inter,Prompt,sans-serif;letter-spacing:-.04em;margin-top:9px}.store-book-cover em{font:italic 35px Georgia,serif;margin:22px 0}.store-book-cover .cover-footer{font:400 10px Prompt,sans-serif;margin-top:auto;border-top:1px solid #81678f44;padding-top:12px}.store-book-cover.complete{background:linear-gradient(145deg,#e8dce4,#bfc8d9);border-left-color:#8e9bb4;color:#3d4560}.store-book-cover.complete strong{font-size:29px}.store-book-cover.complete:after{border-color:#677f9e55}
.store-book-copy .store-label{font:500 10px Inter,Prompt,sans-serif;letter-spacing:.14em;color:#d0abc7}.store-book-copy h3{font:500 clamp(24px,2.6vw,34px)/1.5 Prompt,sans-serif;margin:15px 0}.store-book-copy p{font:400 13px/1.9 Prompt,sans-serif;color:var(--scene-muted,#bdb1c7);max-width:470px}.store-book-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.store-book-tags span{font:400 10px Prompt,sans-serif;border:1px solid #d0adcb3b;color:#d7bdd4;padding:5px 10px;border-radius:20px}.store-book-status{font:400 11px/1.9 Prompt,sans-serif;color:#bcaec5;display:block;margin:18px 0}.store-book-status b{font-weight:500;color:#e6c9df}.store-book-copy a{display:inline-block;border:1px solid #fce3f2a1;background:#e7cee1;color:#362b40;font:500 12px Prompt,sans-serif;padding:12px 20px;border-radius:12px;text-decoration:none}#exam-chapters .story-library{border:0;padding-top:0}#exam-chapters .catalog-bar{margin-top:0}
.light-theme .book-catalog-tabs button[aria-selected=true]{color:#9d5e91;border-color:#b075a4}.light-theme .store-book{background:radial-gradient(ellipse at 0% 0%,#ffc8de4d,transparent 65%),linear-gradient(120deg,#fffbf2,#ecdef2 58%,#dce4f7);border-color:#fff9ff;box-shadow:0 14px 36px #75538726,inset 0 1px 0 #fff}.light-theme .store-book-copy .store-label{color:#a1839b}.light-theme .store-book-tags span{color:#8b6491;border-color:#c8a7ce66}.light-theme .store-book-status,.light-theme .store-book-status b{color:#806987}.light-theme .store-book-copy a{background:linear-gradient(110deg,#c679aa,#a77cc2 60%,#8e90d1);color:#fffaff;border-color:#d99bca}.light-theme .store-book-cover{box-shadow:5px 2px 0 #fff8fc,9px 3px 0 #b5a6c0,18px 20px 40px #705a8d33}
@media(max-width:700px){.book-catalog-tabs{gap:10px;margin-bottom:24px}.book-catalog-tabs button{font-size:14px;padding:14px 5px}.book-catalog-tabs button small{font-size:9px;margin-right:7px}.book-category-heading{display:block}.book-category-heading h3{font-size:20px}.book-category-heading p{font-size:11px;margin-top:8px}.store-book{grid-template-columns:1fr;gap:25px;padding:27px 24px}.store-cover-scene{min-height:305px}.store-book-cover{width:205px;min-height:290px}.store-book-copy h3{font-size:26px}.store-book-copy p{font-size:12px}}

.alevel-shelf + .alevel-shelf { margin-top:32px; padding-top:24px; border-top:1px solid var(--scene-line,#c49fbd55); }
.alevel-shelf h4 { margin:0 0 12px; font-size:18px; }
.alevel-shelf-heading { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.alevel-shelf-heading a { text-decoration:underline; }
.alevel-cover-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:14px; }
.alevel-free-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.alevel-cover-card { padding:12px; border:1px solid var(--scene-line,#c49fbd55); border-radius:14px; }
.alevel-cover-card img { display:block; width:100%; height:auto; max-width:230px; margin:0 auto 12px; border-radius:6px; }
.alevel-cover-card h5,.alevel-cover-card p { margin:0 0 5px; }
.alevel-cover-card h5 { font-size:15px; }
.alevel-cover-card p { font-size:13px; }
.alevel-set-actions { display:flex; flex-wrap:wrap; gap:8px; }
.alevel-set-actions a {
  padding:8px 12px;
  border:1px solid var(--scene-line,#c49fbd66);
  border-radius:999px;
  font-size:14px;
  color:inherit;
}
.alevel-set-actions a:first-child { background:#b88bab33; }
.alevel-set-actions a:hover { background:#b88bab55; }
.alevel-set-actions a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
@media(max-width:450px) {
  .alevel-free-grid { grid-template-columns:1fr; }
}

/* A luminous edge and two slow-moving wisps around the free sets. */
.alevel-free-grid {
  --free-panel: #211a31;
  --free-edge: #d791d8;
  --free-edge-cool: #9999ee;
  --free-glow: #cf75db40;
  --free-wisp: #df92ed80;
  --free-wisp-cool: #919bf66b;
  gap:20px;
}
.light-theme .alevel-free-grid {
  --free-panel: #fff5fc;
  --free-edge: #c17ab5;
  --free-edge-cool: #9590d3;
  --free-glow: #ac5ab831;
  --free-wisp: #c273c364;
  --free-wisp-cool: #8f8cda60;
}
.alevel-free-grid .alevel-cover-card {
  position:relative;
  isolation:isolate;
  border-color:transparent;
  background:
    linear-gradient(var(--free-panel),var(--free-panel)) padding-box,
    linear-gradient(135deg,var(--free-edge),var(--free-glow) 42%,var(--free-edge-cool)) border-box;
  box-shadow:0 0 22px var(--free-glow);
}
.alevel-free-grid .alevel-cover-card::before,
.alevel-free-grid .alevel-cover-card::after {
  content:"";
  position:absolute;
  inset:-8px 1px;
  z-index:-1;
  border-radius:inherit;
  pointer-events:none;
  filter:blur(9px);
}
.alevel-free-grid .alevel-cover-card::before {
  background:radial-gradient(ellipse 44% 12% at 20% 0%,var(--free-wisp),transparent 90%),
    radial-gradient(ellipse 35% 10% at 84% 100%,var(--free-wisp-cool),transparent 90%);
  animation:free-aura-drift 7s ease-in-out infinite alternate;
}
.alevel-free-grid .alevel-cover-card::after {
  background:radial-gradient(ellipse 10% 37% at 100% 26%,var(--free-wisp-cool),transparent 90%),
    radial-gradient(ellipse 10% 30% at 0% 78%,var(--free-wisp),transparent 90%);
  animation:free-aura-drift 9s ease-in-out -4s infinite alternate-reverse;
}
.alevel-free-grid .alevel-cover-card:nth-child(2)::before { animation-delay:-3s; }
.alevel-free-grid .alevel-cover-card:nth-child(2)::after { animation-delay:-7s; }
@keyframes free-aura-drift {
  from { transform:translate(-3px,2px) scale(.99); opacity:.52; }
  to { transform:translate(4px,-4px) scale(1.02); opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
  .alevel-free-grid .alevel-cover-card::before,
  .alevel-free-grid .alevel-cover-card::after { animation:none; opacity:.7; }
}

/* The overlapping covers show both parts of the physics bundle. */
.volume-bundle {
  --bundle-border:#d6a8d87a;
  --bundle-text:#fff3fc;
  --bundle-accent:#efc2ea;
  --bundle-subtle:#e0cce2;
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr);
  align-items:center;
  gap:clamp(20px,4vw,64px);
  padding:clamp(22px,4vw,58px);
  margin-bottom:26px;
  border:1px solid var(--bundle-border);
  border-radius:24px;
  color:var(--bundle-text);
  background:radial-gradient(ellipse at 67% 46%,#653e7540,transparent 58%),
    linear-gradient(130deg,#35234b,#211b38 52%,#16182d);
}
.light-theme .volume-bundle {
  --bundle-border:#a678b85e;
  --bundle-text:#39264c;
  --bundle-accent:#6d367c;
  --bundle-subtle:#563d63;
  background:radial-gradient(ellipse at 68% 47%,#e1a3e557,transparent 63%),
    linear-gradient(130deg,#fff5fb,#eeddf6 55%,#e5e9fa);
}
.volume-bundle-kicker {
  color:var(--bundle-accent);
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
}
.volume-bundle .volume-bundle-copy h3 {
  color:var(--bundle-text);
  margin:12px 0;
  font:600 clamp(32px,4.4vw,64px)/1.12 Prompt,sans-serif;
}
.volume-bundle-copy > p:not(.volume-bundle-kicker) {
  color:var(--bundle-subtle);
  max-width:38ch;
  line-height:1.75;
}
.volume-bundle-includes { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:18px 0; }
.volume-bundle-includes a,.volume-bundle-cta {
  display:inline-block;
  padding:8px 12px;
  border:1px solid var(--bundle-border);
  border-radius:999px;
  color:var(--bundle-text);
  font-size:13px;
}
.volume-bundle-includes a:hover { background:#af78bc30; }
.volume-bundle .volume-bundle-cta { color:#382340; background:#f0cceb; font-weight:600; }
.volume-cover-fan { margin:0; min-width:0; }
.volume-cover-stack { position:relative; aspect-ratio:1.5; }
.volume-cover {
  position:absolute;
  top:50%;
  left:var(--cover-x);
  width:36%;
  height:auto;
  aspect-ratio:17/24;
  object-fit:cover;
  border:1px solid #ecd5ec80;
  border-radius:7px;
  box-shadow:0 12px 24px #0c081b70;
  transform:translate(-50%,calc(-50% + var(--cover-y))) rotate(var(--cover-angle));
  transition:transform .35s ease;
}
.volume-cover:nth-child(1) { --cover-x:23%; --cover-angle:-12deg; --cover-y:8px; }
.volume-cover:nth-child(2) { --cover-x:40%; --cover-angle:-4deg; --cover-y:-6px; }
.volume-cover:nth-child(3) { --cover-x:58%; --cover-angle:5deg; --cover-y:-6px; }
.volume-cover:nth-child(4) { --cover-x:76%; --cover-angle:12deg; --cover-y:8px; }
.volume-cover-fan figcaption { color:var(--bundle-subtle); text-align:center; font-size:12px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .volume-cover-stack:hover .volume-cover { transform:translate(-50%,calc(-50% + var(--cover-y) - 5px)) rotate(var(--cover-angle)); }
}
@media (max-width:700px) {
  .volume-bundle { grid-template-columns:1fr; }
  .volume-cover-fan { width:min(100%,470px); justify-self:center; }
}
@media (prefers-reduced-motion:reduce) {
  .volume-cover { transition:none; }
}

:is(.alevel-bundle,.chapter-bundle) { box-shadow:0 0 24px #d887e53b; }
:is(.alevel-bundle,.chapter-bundle) h5 {
  color:var(--bundle-text);
  margin:12px 0;
  font:600 clamp(29px,4vw,56px)/1.15 Prompt,sans-serif;
}
:is(.alevel-bundle-price,.chapter-bundle-price) { margin:14px 0; }
:is(.alevel-bundle-price,.chapter-bundle-price) s { margin-right:6px; }
:is(.alevel-bundle-price,.chapter-bundle-price) strong { color:var(--bundle-text); font-size:clamp(22px,2.6vw,34px); }
:is(.alevel-bundle-price,.chapter-bundle-price) span { display:block; font-size:13px; }
.alevel-bundle .volume-cover { width:30%; }
.alevel-bundle .volume-cover:nth-child(1) { --cover-x:18%; --cover-angle:-13deg; --cover-y:10px; }
.alevel-bundle .volume-cover:nth-child(2) { --cover-x:34%; --cover-angle:-7deg; --cover-y:-3px; z-index:1; }
.alevel-bundle .volume-cover:nth-child(3) { --cover-x:50%; --cover-angle:0deg; --cover-y:-10px; z-index:2; }
.alevel-bundle .volume-cover:nth-child(4) { --cover-x:66%; --cover-angle:7deg; --cover-y:-3px; z-index:1; }
.alevel-bundle .volume-cover:nth-child(5) { --cover-x:82%; --cover-angle:13deg; --cover-y:10px; }

.chapter-bundle .volume-cover { width:27%; }
.chapter-bundle .volume-cover:nth-child(1) { --cover-x:16%; --cover-angle:-15deg; --cover-y:14px; }
.chapter-bundle .volume-cover:nth-child(2) { --cover-x:27%; --cover-angle:-10deg; --cover-y:5px; z-index:1; }
.chapter-bundle .volume-cover:nth-child(3) { --cover-x:38%; --cover-angle:-5deg; --cover-y:-4px; z-index:2; }
.chapter-bundle .volume-cover:nth-child(4) { --cover-x:50%; --cover-angle:0deg; --cover-y:-10px; z-index:3; }
.chapter-bundle .volume-cover:nth-child(5) { --cover-x:62%; --cover-angle:5deg; --cover-y:-4px; z-index:2; }
.chapter-bundle .volume-cover:nth-child(6) { --cover-x:73%; --cover-angle:10deg; --cover-y:5px; z-index:1; }
.chapter-bundle .volume-cover:nth-child(7) { --cover-x:84%; --cover-angle:15deg; --cover-y:14px; }
