/* Issue 5 · the cave monster (an image model). Numbers that change with the language sit over the art. */

.page--cave { --bg: #2A2440; color: var(--paper); }
.page--cave .tag--course, .page--cave .bubble { color: var(--ink); }
.hero__art--wide { width: min(100%, 640px); }
.issue--canavar .hero__title { max-width: 12ch; font-size: clamp(2.4rem, 5.2vw, 4.9rem); color: var(--mustard); }
.art--cartoon { filter: drop-shadow(var(--shadow)); }
.art--lantern { max-width: 300px; margin: 0 auto; }

.punch { font: 800 1.2rem/1.3 var(--font-display); }
.page--ink .big-number { color: var(--mustard); }
.page:not(.page--ink) .big-number { color: var(--plum); }

/* Art with words on top: the stage keeps the picture's shape, so pins land on the same spot at any size. */
.stage { position: relative; container-type: inline-size; width: 100%; margin: 0 auto; }
.stage .art { width: 100%; }
.pin {
  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%) rotate(var(--r, 0deg));
  font: 800 max(var(--min, 10px), calc(var(--s, 2.4) * 1cqw))/1 var(--font-display);
  color: var(--ink);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.pin--knob { --s: 1.9; --min: 8px; color: var(--paper); background: rgba(30, 34, 64, 0.75); padding: 0.15em 0.35em; border-radius: 4px; }
.pin--tag { --s: 2.4; background: var(--mustard); padding: 0.3em 0.55em; border-radius: 6px; box-shadow: 2px 3px 0 rgba(30, 34, 64, 0.35); }

/* page 5: strip on top, wide card below */
.page--stack { grid-template-columns: 1fr; justify-items: center; align-content: center; gap: 22px; }
.page--stack .page__art { width: 100%; max-width: 760px; }
.card--wide { max-width: 64rem; columns: 2; column-gap: 2.4em; }
.card--wide h2 { column-span: all; }
.card--wide > * { break-inside: avoid; }

/* page 11: three limits, each with a small picture */
@media (min-width: 821px) { .issue--canavar .page--limits { grid-template-columns: 0.62fr 1.6fr; } }
.limits--pics .limit { font-size: 0.95rem; }
.limits--pics .limit::after { content: ""; display: block; clear: both; }
.limit__pic { float: left; width: 112px; height: auto; margin: 0.2em 14px 0.3em 0; }

/* long pages: a little tighter so they fit one screen on a laptop */
.card--long { font-size: 1.02rem; line-height: 1.48; max-width: 36rem; }
.card--long .note { font-size: 0.93rem; }

/* page 13 */
.try { font: 700 1.15rem/1.4 var(--font-display); margin: 0.6em 0 0; }
#s13 .question { font-size: clamp(1.7rem, 3vw, 2.6rem); }
.source--sign { font-family: var(--font-display); font-weight: 700; font-size: 0.85rem; }

@media (max-width: 820px) {
  .hero__art--wide { width: 100%; justify-self: center; }
  .issue--canavar .hero__title { font-size: 2.3rem; }
  .bubble--hero { margin-left: 0; }
  .stage { width: min(100%, calc(30svh * var(--ratio))); }
  .page__art .stage .art { max-height: none; }
  .card--wide { columns: 1; }
  .punch { font-size: 1.05rem; }
  .limit__pic { width: 80px; margin-right: 10px; }
  .page--night .page__art { max-height: 24svh; }
}

@media (max-width: 820px) and (max-height: 700px) {
  .stage { width: min(100%, calc(26svh * var(--ratio))); }
}
