/* Akō's feature/status register extends its existing Paper/Night theme. */
.game-page--ako .ako-jump {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .7rem;
  margin: 1rem 0 0;
  font-size: 1rem;
}
.game-page--ako .ako-kicker {
  margin: 0 0 .55rem;
  color: var(--ink-faint);
  font-size: .95rem;
  letter-spacing: .035em;
}
.game-page--ako [id] { scroll-margin-top: 1.5rem; }
.game-page--ako .ako-campaign-arc {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem 2rem;
  list-style: none;
  padding: 1.5rem 0 2rem;
  margin: 0;
  border-top: 1px solid var(--border);
}
.game-page--ako .ako-campaign-arc li {
  margin: 0;
  color: var(--ink-soft);
}
.game-page--ako .ako-campaign-arc strong {
  display: block;
  margin-bottom: .5rem;
  color: var(--ink);
  font-family: var(--display);
  font-size: 1.35rem;
  font-weight: 400;
}
.game-page--ako .ako-campaign-arc span { display: block; }
.game-page--ako .ako-source-register {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 2rem;
  border-top: 1px solid var(--border);
  padding: 1.5rem 0;
  margin: 0;
}
.game-page--ako .ako-source-register dt {
  color: var(--ink);
  font-family: var(--display);
  font-size: 1.3rem;
}
.game-page--ako .ako-source-register dd { margin: .4rem 0 0; color: var(--ink-soft); }
/* Reserve room for promotional captions and all navigation controls. */
.game-page--ako .gallery-stage img { max-height: calc(100dvh - 17rem); }

/* Faction & character roster cards */
.game-page--ako .ako-stats-guide {
  margin-top: 1.5rem;
  padding: 1.35rem;
  border: 1px solid var(--border);
  background: var(--rule-soft);
}
.game-page--ako .ako-stats-guide h3 {
  margin: 0 0 .45rem;
  font-family: var(--display);
  font-size: 1.45rem;
  font-weight: 400;
  color: var(--ink);
}
.game-page--ako .ako-stats-guide > p {
  margin: 0 0 1.15rem;
  color: var(--ink-soft);
  font-size: .98rem;
  line-height: 1.56;
}
.game-page--ako .ako-stats-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
.game-page--ako .ako-stats-block {
  padding: 1rem 1.1rem;
  border: 1px solid var(--border);
  background: var(--ground-deep);
}
.game-page--ako .ako-stats-block h4 {
  margin: 0 0 .55rem;
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: .8rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.game-page--ako .ako-stats-block p {
  margin: 0 0 .65rem;
  font-size: .93rem;
  line-height: 1.52;
  color: var(--ink-soft);
}
.game-page--ako .ako-stats-block p:last-child {
  margin-bottom: 0;
}
.game-page--ako .ako-stats-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .42rem;
  font-size: .91rem;
  line-height: 1.48;
  color: var(--ink-soft);
}
.game-page--ako .ako-stats-list code {
  font-family: 'JetBrains Mono', monospace;
  font-size: .8rem;
  color: var(--ink);
}
.game-page--ako .ako-stats-list strong {
  color: var(--ink);
}
.game-page--ako .ako-faction-group {
  margin-top: 2.25rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--border);
}
.game-page--ako .ako-faction-group:first-of-type {
  margin-top: 1rem;
}
.game-page--ako .ako-faction-head {
  margin-bottom: 1.25rem;
}
.game-page--ako .ako-faction-head h3 {
  margin: 0 0 .35rem;
  font-family: var(--display);
  font-size: clamp(1.5rem, 2.4vw, 1.95rem);
  font-weight: 400;
  color: var(--ink);
}
.game-page--ako .ako-faction-head p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 1.02rem;
}
.game-page--ako .ako-tier-subhead {
  margin: 1.75rem 0 .9rem;
  font-family: var(--display);
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--ink);
  border-bottom: 1px solid var(--rule);
  padding-bottom: .4rem;
}
.game-page--ako .ako-roster-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.35rem;
}
.game-page--ako .ako-char-card {
  display: flex;
  flex-direction: column;
  gap: .8rem;
  padding: 1.15rem;
  border: 1px solid var(--border);
  background: var(--rule-soft);
  min-width: 0;
}
.game-page--ako .ako-char-top {
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 1.05rem;
  align-items: start;
}
.game-page--ako .ako-char-portrait {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border: 1px solid var(--border);
  background: var(--ground-deep);
}
.game-page--ako .ako-char-role {
  margin: 0 0 .25rem;
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: .76rem;
  line-height: 1.35;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.game-page--ako .ako-char-name {
  margin: 0;
  font-family: var(--display);
  font-size: 1.32rem;
  font-weight: 400;
  line-height: 1.22;
  color: var(--ink);
}
.game-page--ako .ako-char-meta {
  margin: .3rem 0 0;
  font-size: .92rem;
  line-height: 1.45;
  color: var(--ink-faint);
}
.game-page--ako .ako-char-stats {
  margin: 0;
  padding: .55rem .7rem;
  background: var(--ground-deep);
  border: 1px solid var(--border);
  font-family: 'JetBrains Mono', monospace;
  font-size: .78rem;
  line-height: 1.55;
  color: var(--ink);
}
.game-page--ako .ako-char-stats div + div {
  margin-top: .25rem;
  padding-top: .25rem;
  border-top: 1px solid var(--rule);
}
.game-page--ako .ako-char-bio {
  margin: 0;
  font-size: .96rem;
  line-height: 1.56;
  color: var(--ink-soft);
}
.game-page--ako .ako-char-bio strong {
  color: var(--ink);
}

@media (max-width: 920px) {
  .game-page--ako .ako-roster-grid,
  .game-page--ako .ako-stats-columns { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .game-page--ako .ako-campaign-arc,
  .game-page--ako .ako-source-register { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .game-page--ako .ako-char-top { grid-template-columns: 92px minmax(0, 1fr); gap: .85rem; }
}
