/* ci-gamebook.css — scoped BEM module, block prefix .ci-gamebook */
/* All selectors under .ci-gamebook — no bare element selectors */

/* ─── Design tokens (local, consistent with site :root) ─────────────────── */
.ci-gamebook,
.ci-gamebook-head {
  --cig-primary:      var(--primary, #0B3C5D);
  --cig-accent:       var(--accent, #1a4a8a);
  --cig-surface:      #ffffff;
  --cig-surface-alt:  #f4f6f9;
  --cig-border:       #d0d8e4;
  --cig-text:         #1a1f2e;
  --cig-text-muted:   #5a6478;
  --cig-serve:        var(--secondary, #1D7874);
  --cig-normal:       #7a5a0a;
  --cig-fail:         #a01818;
  /* MacLeamy curve mapping — site palette only (§7.1):
     ① ability = navy · ② cost = brick · ③ traditional = dark neutral · ④ preferred = gold */
  --cig-curve-ability: var(--primary, #0B3C5D);
  --cig-curve-cost:    #a01818;
  --cig-curve-trad:    var(--text-dark, #333);
  --cig-curve-pref:    var(--accent, #D9B310);
  --cig-radius:       0.5rem;
  --cig-gap:          1.25rem;
  --cig-transition:   0.35s ease;
}

/* ─── Compact page header (replaces the A.1 page hero) ───────────────────── */
.ci-gamebook-head {
  padding: 0.875rem 0 0.625rem;
}

.ci-gamebook-head__title {
  font-size: 1.25rem;
  color: var(--cig-primary);
  margin: 0;
}

.ci-gamebook-head__sub {
  font-size: 0.85rem;
  color: var(--cig-text-muted);
  margin: 0.25rem 0 0;
}

/* ─── Block root ─────────────────────────────────────────────────────────── */
.ci-gamebook {
  width: 100%;
  overflow-x: hidden;
}

/* ─── Fallback (hidden when JS-enhanced) ─────────────────────────────────── */
.ci-gamebook__fallback {
  background: var(--cig-surface-alt);
  border-top: 2px solid var(--cig-border);
}

.ci-gamebook__fallback-inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 2rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.ci-gamebook__disclaimer {
  font-size: 0.8rem;
  color: var(--cig-text-muted);
  border-left: 3px solid var(--cig-border);
  padding-left: 0.75rem;
  margin: 0;
}

.ci-gamebook__fallback-scene {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ci-gamebook__fallback-prompt {
  font-weight: 600;
  color: var(--cig-text);
  margin: 0;
}

.ci-gamebook__fallback-options {
  margin: 0;
  padding-left: 1.25rem;
  color: var(--cig-text-muted);
}

.ci-gamebook__fallback-options li + li {
  margin-top: 0.25rem;
}

/* Opening text in fallback */
.ci-gamebook__opening-text {
  font-size: 0.95rem;
  line-height: 1.75;
  color: var(--cig-text);
  margin: 0;
}

/* Hidden when JS-enhanced */
.ci-gamebook.is-enhanced .ci-gamebook__fallback {
  display: none;
}

/* ─── MacLeamy SVG — fallback + stage scene ──────────────────────────────── */
.ci-gamebook__macleamy-fallback,
.ci-gamebook__macleamy {
  margin: 0 auto;
  width: 100%;
  max-width: 440px;
  display: block;
}

.ci-gamebook__macleamy-fallback svg,
.ci-gamebook__macleamy svg {
  width: 100%;
  height: auto;
  display: block;
}

/* Axes + phase ticks */
.ci-gamebook__ml-axis {
  stroke: var(--cig-border);
  stroke-width: 1.5;
}

.ci-gamebook__ml-tick {
  stroke: var(--cig-border);
  stroke-width: 1;
}

.ci-gamebook__ml-axis-label,
.ci-gamebook__ml-phase {
  fill: var(--cig-text-muted);
  font-size: 10px;
  font-family: inherit;
  text-anchor: middle;
}

/* Canonical curves — ① ability ② cost ③ traditional ④ preferred */
.ci-gamebook__ml-curve {
  stroke-width: 2.5;
  fill: none;
  stroke-linecap: round;
}

.ci-gamebook__ml-curve--ability { stroke: var(--cig-curve-ability); }
.ci-gamebook__ml-curve--cost    { stroke: var(--cig-curve-cost); }

/* Effort humps ③/④ carry a subtle translucent fill under the stroke */
.ci-gamebook__ml-curve--trad {
  stroke: var(--cig-curve-trad);
  stroke-width: 2;
  fill: var(--cig-curve-trad);
  fill-opacity: 0.08;
}

.ci-gamebook__ml-curve--pref {
  stroke: var(--cig-curve-pref);
  stroke-width: 3;
  fill: var(--cig-curve-pref);
  fill-opacity: 0.16;
}

/* Legend (figcaption) */
.ci-gamebook__ml-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: var(--cig-text);
}

.ci-gamebook__ml-key {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  white-space: nowrap;
}

.ci-gamebook__ml-key::before {
  content: "";
  width: 1.125rem;
  height: 3px;
  border-radius: 2px;
  flex-shrink: 0;
}

.ci-gamebook__ml-key--ability::before { background: var(--cig-curve-ability); }
.ci-gamebook__ml-key--cost::before    { background: var(--cig-curve-cost); }
.ci-gamebook__ml-key--trad::before    { background: var(--cig-curve-trad); }
.ci-gamebook__ml-key--pref::before    { background: var(--cig-curve-pref); }

/* ─── Stepped reveal (stage only — figure carries data-step="0|1|2|3") ────
   Without [data-step] (server fallback) all four curves are fully visible. */
.ci-gamebook__macleamy[data-step] .ci-gamebook__ml-curve {
  stroke-dasharray: 1;        /* paths declare pathLength="1" */
  stroke-dashoffset: 1;
  fill-opacity: 0;
  transition: stroke-dashoffset 0.9s ease, fill-opacity 0.6s ease 0.45s;
}

.ci-gamebook__macleamy[data-step] .ci-gamebook__ml-key {
  opacity: 0;
  transition: opacity 0.5s ease 0.3s;
}

/* step ≥ 1: ① ability + ② cost */
.ci-gamebook__macleamy[data-step="1"] .ci-gamebook__ml-curve--ability,
.ci-gamebook__macleamy[data-step="1"] .ci-gamebook__ml-curve--cost,
.ci-gamebook__macleamy[data-step="2"] .ci-gamebook__ml-curve--ability,
.ci-gamebook__macleamy[data-step="2"] .ci-gamebook__ml-curve--cost,
.ci-gamebook__macleamy[data-step="3"] .ci-gamebook__ml-curve--ability,
.ci-gamebook__macleamy[data-step="3"] .ci-gamebook__ml-curve--cost {
  stroke-dashoffset: 0;
}

/* step ≥ 2: ③ traditional hump */
.ci-gamebook__macleamy[data-step="2"] .ci-gamebook__ml-curve--trad,
.ci-gamebook__macleamy[data-step="3"] .ci-gamebook__ml-curve--trad {
  stroke-dashoffset: 0;
  fill-opacity: 0.08;
}

/* step 3: ④ preferred hump */
.ci-gamebook__macleamy[data-step="3"] .ci-gamebook__ml-curve--pref {
  stroke-dashoffset: 0;
  fill-opacity: 0.16;
}

/* Legend keys appear with their curves */
.ci-gamebook__macleamy[data-step="1"] .ci-gamebook__ml-key--ability,
.ci-gamebook__macleamy[data-step="1"] .ci-gamebook__ml-key--cost,
.ci-gamebook__macleamy[data-step="2"] .ci-gamebook__ml-key--ability,
.ci-gamebook__macleamy[data-step="2"] .ci-gamebook__ml-key--cost,
.ci-gamebook__macleamy[data-step="2"] .ci-gamebook__ml-key--trad,
.ci-gamebook__macleamy[data-step="3"] .ci-gamebook__ml-key {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .ci-gamebook__macleamy[data-step] .ci-gamebook__ml-curve,
  .ci-gamebook__macleamy[data-step] .ci-gamebook__ml-key {
    transition: none;   /* curves appear instantly */
  }
}

/* ─── Stage (shown when JS-enhanced) ─────────────────────────────────────── */
.ci-gamebook__stage[hidden] {
  display: none;
}

.ci-gamebook.is-enhanced .ci-gamebook__stage {
  display: flex;
  flex-direction: column;
}

.ci-gamebook__stage {
  background: var(--cig-surface);
  border-top: 2px solid var(--cig-border);
  /* No height cap: stage sizes to content (compaction keeps it inside a normal
     desktop viewport); on short screens the PAGE scrolls — never an inner element. */
}

/* ─── Capacity bar — status strip at the stage BOTTOM ────────────────────── */
.ci-gamebook__bar {
  order: 99;                /* always last in the stage flex column */
  background: var(--cig-surface-alt);
  color: var(--cig-text);
  border-top: 1px solid var(--cig-border);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 1rem;
  flex-wrap: wrap;
}

.ci-gamebook__bar-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
  color: var(--cig-text-muted);
}

.ci-gamebook__bar-track {
  flex: 1;
  min-width: 80px;
  height: 14px;             /* thick bar */
  background: var(--cig-border);
  border-radius: 7px;
  overflow: hidden;
}

.ci-gamebook__bar-fill {
  height: 100%;
  width: 100%;
  background: var(--cig-primary);   /* navy on neutral track — site tokens only */
  border-radius: 7px;
  transition: width 0.6s ease, background-color 0.4s ease;
}

.ci-gamebook__bar-fill--sotto-pressione { background: var(--cig-normal); }
.ci-gamebook__bar-fill--quasi-esaurita  { background: var(--cig-fail); }
.ci-gamebook__bar-fill--esaurita        { background: var(--cig-fail); }

.ci-gamebook__bar-state {
  font-size: 0.8rem;
  font-weight: 600;
  min-width: 8rem;
  white-space: nowrap;
}

/* ─── Stage body: scene then skeleton (stacked) ──────────────────────────── */
.ci-gamebook__stage-body {
  padding: 1.25rem 1rem;
  display: flex;
  flex-direction: column;   /* scene on top, skeleton below */
  gap: var(--cig-gap);
}

.ci-gamebook__scene {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Scene transitions */
.ci-gamebook__scene--exiting {
  animation: cig-slide-out 0.25s ease forwards;
}

.ci-gamebook__scene--entering {
  animation: cig-slide-in 0.3s ease forwards;
}

@keyframes cig-slide-out {
  to { opacity: 0; transform: translateY(-0.5rem); }
}
@keyframes cig-slide-in {
  from { opacity: 0; transform: translateY(0.5rem); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .ci-gamebook__scene--exiting,
  .ci-gamebook__scene--entering {
    animation: none;
  }
}

/* ─── Intro scene: curve left, beat text + button right (≥768px) ─────────── */
.ci-gamebook__intro {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.ci-gamebook__intro-copy {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}

.ci-gamebook__intro-beat .ci-gamebook__opening-text {
  animation: cig-reveal 0.4s ease;
}

@media (prefers-reduced-motion: reduce) {
  .ci-gamebook__intro-beat .ci-gamebook__opening-text {
    animation: none;
  }
}

@media (min-width: 768px) {
  .ci-gamebook__intro {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 4fr);
    gap: 2rem;
    align-items: center;
  }

  .ci-gamebook__intro .ci-gamebook__macleamy {
    margin: 0;            /* left column — no auto-centering */
  }
}

/* ─── Narrative scene ────────────────────────────────────────────────────── */
.ci-gamebook__scene-narrative {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--cig-text);
  max-width: 60ch;
  margin: 0;
}

/* Opening text paragraphs (MacLeamy scene) */
.ci-gamebook__scene .ci-gamebook__opening-text {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--cig-text);
  max-width: 60ch;
  margin: 0;
}

/* ─── Bivio scene ────────────────────────────────────────────────────────── */
.ci-gamebook__bivio-prompt {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--cig-text);
  margin: 0 0 1rem;
}

.ci-gamebook__options {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ci-gamebook__option-btn {
  width: 100%;
  text-align: left;
  background: var(--cig-surface-alt);
  border: 2px solid var(--cig-border);
  border-radius: var(--cig-radius);
  padding: 0.875rem 1rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--cig-text);
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.ci-gamebook__option-btn:hover:not(:disabled) {
  border-color: var(--cig-accent);
  background: #eef3fa;
}

.ci-gamebook__option-btn:focus-visible {
  outline: 3px solid var(--cig-accent);
  outline-offset: 2px;
}

.ci-gamebook__option-btn.is-selected {
  border-color: var(--cig-accent);
  background: #eef3fa;
}

.ci-gamebook__option-btn:disabled {
  cursor: default;
}

.ci-gamebook__option-btn.is-committed {
  border-color: var(--cig-accent);
  background: #dce8f8;
  font-weight: 600;
}

/* Confirm button */
.ci-gamebook__commit-btn {
  margin-top: 0.5rem;
  align-self: flex-start;
  background: var(--cig-accent);
  color: #fff;
  border: none;
  border-radius: var(--cig-radius);
  padding: 0.625rem 1.25rem;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
}

.ci-gamebook__commit-btn:hover {
  background: var(--cig-primary);
}

.ci-gamebook__commit-btn:focus-visible {
  outline: 3px solid var(--cig-accent);
  outline-offset: 2px;
}

/* Consequence reveal */
.ci-gamebook__consequence {
  margin-top: 1rem;
  padding: 0.875rem 1rem;
  background: var(--cig-surface-alt);
  border-left: 3px solid var(--cig-accent);
  border-radius: 0 var(--cig-radius) var(--cig-radius) 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--cig-text);
  animation: cig-reveal 0.4s ease;
}

@keyframes cig-reveal {
  from { opacity: 0; transform: translateY(0.25rem); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .ci-gamebook__consequence { animation: none; }
}

/* Continue button */
.ci-gamebook__continue-btn {
  align-self: flex-start;
  background: transparent;
  border: 2px solid var(--cig-accent);
  border-radius: var(--cig-radius);
  padding: 0.5rem 1.125rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--cig-accent);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

.ci-gamebook__continue-btn:hover {
  background: var(--cig-accent);
  color: #fff;
}

.ci-gamebook__continue-btn:focus-visible {
  outline: 3px solid var(--cig-accent);
  outline-offset: 2px;
}

/* Event card */
.ci-gamebook__event-setup {
  background: #fffbe6;
  border: 2px solid #c8a800;
  border-radius: var(--cig-radius);
  padding: 1rem;
  font-size: 0.95rem;
  line-height: 1.6;
}

.ci-gamebook__event-resolution {
  padding: 0.75rem 1rem;
  border-left: 3px solid #c8a800;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--cig-text-muted);
  animation: cig-reveal 0.4s ease;
}

/* Case select */
.ci-gamebook__cases {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ci-gamebook__case-btn {
  width: 100%;
  text-align: left;
  background: var(--cig-surface-alt);
  border: 2px solid var(--cig-border);
  border-radius: var(--cig-radius);
  padding: 1rem;
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.ci-gamebook__case-btn:not(:disabled):hover {
  border-color: var(--cig-accent);
}

.ci-gamebook__case-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.ci-gamebook__case-title {
  display: block;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--cig-text);
}

.ci-gamebook__case-subtitle {
  display: block;
  font-size: 0.8rem;
  color: var(--cig-text-muted);
  margin-top: 0.2rem;
}

/* Replay strip */
.ci-gamebook__replay-intro {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--cig-text);
  max-width: 60ch;
  margin: 0;
}

.ci-gamebook__replay-strip {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
}

.ci-gamebook__replay-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.75rem 1rem;
  border-radius: var(--cig-radius);
  border: 1px solid var(--cig-border);
  background: var(--cig-surface-alt);
  animation: cig-reveal 0.35s ease backwards;
}

.ci-gamebook__replay-verdict {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.ci-gamebook__replay-verdict--serve  { color: var(--cig-serve); }
.ci-gamebook__replay-verdict--normal { color: var(--cig-normal); }
.ci-gamebook__replay-verdict--fail   { color: var(--cig-fail); }

.ci-gamebook__replay-text {
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--cig-text);
}

/* Band card */
.ci-gamebook__band-card {
  background: var(--cig-primary);
  color: #fff;
  border-radius: var(--cig-radius);
  padding: 1.5rem;
  max-width: 52ch;
}

.ci-gamebook__band-title {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0 0 0.75rem;
}

.ci-gamebook__band-text {
  font-size: 0.95rem;
  line-height: 1.65;
  margin: 0;
}

.ci-gamebook__gate-stub {
  margin-top: 1.25rem;
  padding: 0.875rem 1rem;
  background: var(--cig-surface-alt);
  border: 1px dashed var(--cig-border);
  border-radius: var(--cig-radius);
  font-size: 0.85rem;
  color: var(--cig-text-muted);
}

/* ─── Lead gate form container ───────────────────────────────────────────── */
.ci-gamebook__gate-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.25rem;
  max-width: 36ch;
}

/* Trust note and error: gamebook-specific, no shared equivalent */
.ci-gamebook__gate-trust {
  font-size: 0.78rem;
  color: var(--cig-text-muted);
  line-height: 1.5;
  margin: 0;
}

.ci-gamebook__gate-error {
  font-size: 0.85rem;
  color: var(--cig-fail);
  margin: 0;
}

/* ─── Download confirmed card ─────────────────────────────────────────────── */
.ci-gamebook__download-card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
  background: var(--cig-surface-alt);
  border: 1px solid var(--cig-border);
  border-left: 3px solid var(--cig-serve);
  border-radius: var(--cig-radius);
  max-width: 52ch;
}

.ci-gamebook__download-msg {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--cig-text);
  margin: 0;
}

.ci-gamebook__download-cta {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--cig-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ─── Clash Report cross-link (coordinamento band scene) ─────────────────── */
.ci-gamebook__clashreport-link {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--cig-serve);
  text-decoration: underline;
  text-underline-offset: 2px;
  margin-top: 0.5rem;
}

.ci-gamebook__clashreport-link:hover {
  color: var(--cig-primary);
}

/* Ending card */
.ci-gamebook__ending-card {
  background: var(--cig-surface-alt);
  border: 2px solid var(--cig-border);
  border-radius: var(--cig-radius);
  padding: 1.5rem;
  max-width: 52ch;
}

.ci-gamebook__ending-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--cig-fail);
  margin: 0 0 0.75rem;
}

.ci-gamebook__ending-text {
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--cig-text);
  margin: 0;
}

/* Restart button */
.ci-gamebook__restart-btn {
  margin-top: 1rem;
  background: transparent;
  border: 2px solid var(--cig-primary);
  border-radius: var(--cig-radius);
  padding: 0.5rem 1.125rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--cig-primary);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

.ci-gamebook__restart-btn:hover {
  background: var(--cig-primary);
  color: #fff;
}

.ci-gamebook__restart-btn:focus-visible {
  outline: 3px solid var(--cig-accent);
  outline-offset: 2px;
}

/* ─── Skeleton CI panel — below the scene area ───────────────────────────── */
.ci-gamebook__skeleton {
  background: var(--cig-surface-alt);
  border: 1px solid var(--cig-border);
  border-radius: var(--cig-radius);
  overflow: hidden;  /* corner clipping only */
}

.ci-gamebook__skeleton-toggle {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 0.75rem 1rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--cig-text-muted);
  cursor: pointer;
}

.ci-gamebook__skeleton-title {
  display: none; /* shown on desktop via toggle-less layout */
}

.ci-gamebook__skeleton-body {
  padding: 0.5rem 1rem 1rem;
  display: none;
}

.ci-gamebook__skeleton-body.is-open {
  display: block;
}

.ci-gamebook__skeleton-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.ci-gamebook__skeleton-line {
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--cig-text);
  padding: 0.375rem 0;
  border-bottom: 1px solid var(--cig-border);
  animation: cig-reveal 0.5s ease;
}

.ci-gamebook__skeleton-line:last-child {
  border-bottom: none;
}

/* ─── Breakpoint: tablet ≥768px ──────────────────────────────────────────── */
@media (min-width: 768px) {
  .ci-gamebook__stage-body {
    padding: 1.5rem 2rem;
    gap: 1.5rem;
  }

  /* On tablet+ show skeleton body without toggle */
  .ci-gamebook__skeleton-toggle {
    display: none;
  }

  .ci-gamebook__skeleton-body {
    display: block;
    padding: 0.75rem 1rem 1rem;
  }

  .ci-gamebook__skeleton-title {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--cig-text-muted);
    margin: 0 0 0.625rem;
  }
}

/* ─── Breakpoint: desktop ≥1280px ────────────────────────────────────────── */
@media (min-width: 1280px) {
  .ci-gamebook__stage-body {
    padding: 2rem 3rem;
    gap: 2rem;
  }
}
