
/* V14 shelf page refinements: serif typography + convex outward tarot perspective. */
#studentLibrary[data-view=shelf]{
  --mw-shelf-serif-zh:"STSong","Songti SC","Noto Serif CJK SC","Source Han Serif SC","Times New Roman",serif;
  --mw-shelf-serif-en:"Baskerville","Iowan Old Style","Georgia","Times New Roman",serif;
}

/* Shelf page typography: all visible text switches to a more bookish serif mood. */
#studentLibrary[data-view=shelf] .sl-brand.mw-scene-brand b,
#studentLibrary[data-view=shelf] .sl-brand.mw-scene-brand small,
#studentLibrary[data-view=shelf] .stage-shelf-title h2,
#studentLibrary[data-view=shelf] .stage-shelf-title small,
#studentLibrary[data-view=shelf] .stage-book-caption b,
#studentLibrary[data-view=shelf] .stage-tarot span,
#studentLibrary[data-view=shelf] .sl-nav button span{
  font-family:var(--mw-shelf-serif-zh);
}
#studentLibrary[data-view=shelf] .sl-brand.mw-scene-brand b{
  font-weight:700;
  letter-spacing:2.2px;
}
#studentLibrary[data-view=shelf] .sl-brand.mw-scene-brand small{
  font-family:var(--mw-shelf-serif-en);
  font-weight:600;
  letter-spacing:1.7px;
}
#studentLibrary[data-view=shelf] .stage-shelf-title h2{
  font-family:var(--mw-shelf-serif-zh);
  font-weight:700;
  letter-spacing:1.8px;
}
#studentLibrary[data-view=shelf] .stage-shelf-title small{
  font-family:var(--mw-shelf-serif-en);
  font-style:normal;
  font-weight:650;
  letter-spacing:.8px;
}
#studentLibrary[data-view=shelf] .stage-book-caption b{
  font-family:var(--mw-shelf-serif-zh);
  font-weight:700;
  letter-spacing:.4px;
}
#studentLibrary[data-view=shelf] .stage-tarot span{
  font-family:var(--mw-shelf-serif-zh);
  font-weight:700;
  letter-spacing:.2px;
}
#studentLibrary[data-view=shelf] .sl-nav button{
  font-family:var(--mw-shelf-serif-zh);
  font-weight:700;
  letter-spacing:.2px;
}

/* Convex, outward card arc: center comes forward, sides fan outward. */
#studentLibrary[data-view=shelf] .stage-tarot-rail{
  perspective:1200px;
  perspective-origin:50% 78%;
  transform-style:preserve-3d;
  overflow-x:auto;
  overflow-y:visible;
  padding-inline:4px;
}
#studentLibrary[data-view=shelf] .stage-tarot{
  transform-origin:center 92%;
  transition:transform .22s ease, filter .18s ease;
  will-change:transform;
}
#studentLibrary[data-view=shelf] .stage-tarot[data-arc="center"]{
  transform:translateY(-8px) scale(1.08) translateZ(22px);
  z-index:5;
  filter:drop-shadow(0 6px 10px #180c3444) drop-shadow(0 0 9px #f1c77855);
}
#studentLibrary[data-view=shelf] .stage-tarot[data-arc="left-near"]{
  transform:translateY(1px) rotateY(-24deg) rotateZ(2deg) scale(0.98) translateZ(8px);
  z-index:4;
}
#studentLibrary[data-view=shelf] .stage-tarot[data-arc="right-near"]{
  transform:translateY(1px) rotateY(24deg) rotateZ(-2deg) scale(0.98) translateZ(8px);
  z-index:4;
}
#studentLibrary[data-view=shelf] .stage-tarot[data-arc="left-far"]{
  transform:translateY(8px) rotateY(-38deg) rotateZ(4deg) scale(0.92);
  z-index:2;
  filter:saturate(.97) brightness(.98);
}
#studentLibrary[data-view=shelf] .stage-tarot[data-arc="right-far"]{
  transform:translateY(8px) rotateY(38deg) rotateZ(-4deg) scale(0.92);
  z-index:2;
  filter:saturate(.97) brightness(.98);
}
#studentLibrary[data-view=shelf] .stage-tarot[aria-pressed=true]{
  filter:drop-shadow(0 5px 10px #24113f55) drop-shadow(0 0 12px #d6aaf6b6);
}
@media (max-width:390px){
  #studentLibrary[data-view=shelf] .stage-tarot[data-arc="center"]{transform:translateY(-6px) scale(1.065) translateZ(18px)}
  #studentLibrary[data-view=shelf] .stage-tarot[data-arc="left-near"]{transform:translateY(2px) rotateY(-21deg) rotateZ(2deg) scale(.97) translateZ(6px)}
  #studentLibrary[data-view=shelf] .stage-tarot[data-arc="right-near"]{transform:translateY(2px) rotateY(21deg) rotateZ(-2deg) scale(.97) translateZ(6px)}
  #studentLibrary[data-view=shelf] .stage-tarot[data-arc="left-far"]{transform:translateY(7px) rotateY(-34deg) rotateZ(4deg) scale(.91)}
  #studentLibrary[data-view=shelf] .stage-tarot[data-arc="right-far"]{transform:translateY(7px) rotateY(34deg) rotateZ(-4deg) scale(.91)}
}
@media(prefers-reduced-motion:reduce){
  #studentLibrary[data-view=shelf] .stage-tarot{transition:none!important}
}
