/* Compendium god-power detail (detail kind "god_power").

   Linked from compendium/partials/god_power_masthead.html (so the Events
   pages that embed the modal get it) and in the <head> of the Compendium
   browser, Tech Tree and Combat Simulator. The modal reuses the unit
   modal's codex cell language from compendium-detail.css and
   compendium-unit-detail.css (fact strip, .cmp-combat grid, .cmp-rules
   columns, .cmp-tech-card, Continue); this sheet only adds the
   .cmp-power-* pieces and the custom properties the unit masthead scopes
   to .cmp-entry--unit. Every rule is scoped to .cmp-entry--godpower. */

.cmp-entry--godpower {
  --cmp-text-caption: rgba(241, 228, 198, 0.6);
  --cmp-text-fact-label: rgba(241, 228, 198, 0.66);
  --cmp-text-availability: rgba(241, 228, 198, 0.68);
  --cmp-text-quote: #f8efdb;
  --cmp-fact-border: rgba(235, 199, 119, 0.72);
  --cmp-fact-rule: rgba(213, 177, 101, 0.28);
  --cmp-notes-fill: rgba(14, 14, 15, 0.6);
  --cmp-inset-ring: inset 0 0 0 2px rgba(8, 8, 9, 0.8), inset 0 0 0 3px rgba(213, 177, 101, 0.24);
  --cmp-power-cross: rgba(241, 228, 198, 0.46);
}

/* The fact strip's column count follows the masthead copy, as for units. */
.cmp-entry--godpower .cmp-entry-masthead-copy {
  align-self: stretch;
  container: cmp-masthead / inline-size;
}

/* ---- Favor cost: initial, then the increase per recast ------------------ */
.cmp-entry--godpower .cmp-power-cost-item small {
  color: var(--cmp-text-caption);
  font-family: var(--site-font-title);
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
}

.cmp-entry--godpower .cmp-power-cost-item--repeat {
  margin-left: 4px;
}

/* ---- Inline links inside rule lists and tables --------------------------- */
.cmp-entry--godpower .cmp-power-link {
  padding: 0;
  border: 0;
  color: inherit;
  background: none;
  cursor: pointer;
  font: inherit;
  line-height: inherit;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: var(--cmp-link-border);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  transition: color 180ms ease, text-decoration-color 180ms ease;
}

.cmp-entry--godpower .cmp-power-link:is(:hover, :focus-visible) {
  color: var(--site-gold-strong);
  text-decoration-color: currentColor;
}

/* ---- Targets ------------------------------------------------------------- */
.cmp-entry--godpower .cmp-power-rule-text {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 10px;
}

.cmp-entry--godpower .cmp-power-count {
  color: var(--cmp-text-note);
  font-size: 0.875rem;
  line-height: 1.3;
  white-space: nowrap;
}

.cmp-entry--godpower .cmp-power-cross {
  stroke: var(--cmp-power-cross);
}

.cmp-entry--godpower .cmp-power-sample {
  display: grid;
  gap: 12px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--cmp-hairline);
}

/* The caption sits above the chips, in the rules-title voice. */
.cmp-entry--godpower .cmp-power-sample-label {
  margin: 0;
  color: var(--cmp-unit-text-title);
  font-family: var(--site-font-title);
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  line-height: 1.25;
  text-transform: uppercase;
}

.cmp-entry--godpower .cmp-power-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.cmp-entry--godpower .cmp-power-more {
  color: var(--cmp-text-note);
  font-size: 0.9375rem;
  line-height: 1.3;
}

/* Engine identifiers: raw tags beside each target, the member names of a
   grouped rule and the uncertain profile values, shown only while the
   section's "Show engine identifiers" disclosure is open. */
.cmp-entry--godpower .cmp-power-raw,
.cmp-entry--godpower .cmp-power-group-names,
.cmp-entry--godpower .cmp-power-engine {
  display: none;
}

.cmp-entry--godpower .cmp-power-raw {
  color: var(--site-gold);
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}

.cmp-entry--godpower .cmp-unit-section:has(.cmp-rules-toggle[open]) .cmp-power-raw {
  display: inline;
}

.cmp-entry--godpower .cmp-unit-section:has(.cmp-rules-toggle[open]) .cmp-power-group-names {
  display: block;
}

.cmp-entry--godpower .cmp-unit-section:has(.cmp-rules-toggle[open]) .cmp-power-engine {
  display: grid;
}

/* Can't target: one row per kind under the Targets columns. */
.cmp-entry--godpower .cmp-power-inverse {
  display: grid;
  gap: 14px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--cmp-hairline);
}

.cmp-entry--godpower .cmp-power-inverse-summary {
  margin-left: 8px;
  color: var(--cmp-text-note);
  font-family: var(--site-font-body, inherit);
  letter-spacing: 0;
  text-transform: none;
}

.cmp-entry--godpower .cmp-power-inverse-row {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.cmp-entry--godpower .cmp-power-inverse-kind {
  margin: 0;
  color: var(--cmp-text-label);
  font-size: 0.9375rem;
  line-height: 1.3;
}

.cmp-entry--godpower .cmp-power-inverse-row--none .cmp-power-inverse-kind {
  color: var(--cmp-text-note);
}

.cmp-entry--godpower .cmp-power-groups {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cmp-entry--godpower .cmp-power-group {
  min-width: 0;
  color: var(--site-text);
  font-size: 1rem;
  line-height: 1.35;
}

.cmp-entry--godpower .cmp-power-group-names {
  max-width: 44ch;
  color: var(--cmp-text-note);
  font-size: 0.8125rem;
  line-height: 1.4;
}

.cmp-entry--godpower .cmp-power-chip {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  min-width: 0;
}

/* Strike damage multipliers under the damage they change. */
.cmp-entry--godpower .cmp-combat-row.has-bonuses {
  flex-wrap: wrap;
  row-gap: 2px;
}

.cmp-entry--godpower .cmp-combat-row dd.cmp-power-bonuses {
  display: flex;
  flex: 1 0 100%;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 2px 12px;
  color: var(--cmp-text-note);
  font-size: 0.875rem;
  line-height: 1.35;
}

.cmp-entry--godpower .cmp-power-engine {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 6px 28px;
  margin: 16px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--cmp-hairline);
}

.cmp-entry--godpower .cmp-power-engine > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.cmp-entry--godpower .cmp-power-engine :is(dt, dd) {
  margin: 0;
  font-size: 0.875rem;
}

.cmp-entry--godpower .cmp-power-engine code {
  color: var(--site-gold);
}

.cmp-entry--godpower .cmp-power-engine dd {
  color: var(--site-text);
}

/* ---- Effects: one rules group per subject, as many columns as fit -------- */
.cmp-entry--godpower .cmp-power-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  align-items: start;
  gap: 22px 28px;
}

/* ---- Stages and age scaling: the blue "derived" frame as a table --------- */
.cmp-entry--godpower .cmp-power-table-section .cmp-entry-section-head > h3 {
  color: var(--site-blue);
}

.cmp-entry--godpower .cmp-power-table-section .cmp-entry-section-head::after {
  background: var(--cmp-unit-hairline-blue);
}

.cmp-entry--godpower .cmp-power-table-wrap {
  overflow-x: auto;
  border: 2px solid var(--cmp-unit-frame-blue);
  border-radius: var(--site-radius-lg);
  background: var(--cmp-unit-fill-blue);
}

.cmp-entry--godpower .cmp-power-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
  line-height: 1.35;
}

.cmp-entry--godpower .cmp-power-table :is(th, td) {
  padding: 11px 18px;
  border-bottom: 1px solid var(--cmp-unit-row-blue);
  text-align: left;
  vertical-align: top;
}

.cmp-entry--godpower .cmp-power-table tbody tr:last-child > * {
  border-bottom: 0;
}

.cmp-entry--godpower .cmp-power-table thead th {
  padding-top: 15px;
  color: var(--site-blue);
  font-family: var(--site-font-title);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  white-space: nowrap;
}

.cmp-entry--godpower .cmp-power-table tbody th {
  color: rgba(241, 228, 198, 0.78);
  font-weight: 400;
  white-space: nowrap;
}

.cmp-entry--godpower .cmp-power-table td {
  color: var(--site-text);
}

.cmp-entry--godpower .cmp-power-table--ages td {
  font-size: 1.125rem;
  white-space: nowrap;
}

.cmp-entry--godpower .cmp-power-table-line {
  display: block;
}

.cmp-entry--godpower .cmp-power-table-line + .cmp-power-table-line {
  margin-top: 3px;
}

/* ---- Summons and transformations ----------------------------------------- */
.cmp-entry--godpower .cmp-power-cards .cmp-tech-effects {
  color: var(--site-text);
}

.cmp-entry--godpower .cmp-power-quantity {
  color: var(--site-gold-strong);
  font-size: 1.125rem;
}

.cmp-entry--godpower .cmp-power-note {
  color: var(--cmp-text-note);
  font-size: 0.875rem;
}

/* A summon that has no public entry (a Panda, a Chicken) is a card, not a
   link: no pointer and no lift. */
.cmp-entry--godpower .cmp-power-card--static {
  cursor: default;
}

.cmp-entry--godpower .cmp-power-card--static:hover {
  border-color: var(--site-border-strong);
  box-shadow: var(--cmp-unit-card-inset);
  transform: none;
}

.cmp-entry--godpower .cmp-power-transforms {
  margin-top: 14px;
}

.cmp-entry--godpower .cmp-power-cards + .cmp-power-transforms {
  margin-top: 18px;
}

.cmp-entry--godpower .cmp-power-transforms > .cmp-rule {
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
}

.cmp-entry--godpower .cmp-power-transform-from {
  color: var(--cmp-text-label);
}

.cmp-entry--godpower .cmp-power-transform-arrow {
  color: var(--site-gold);
}

.cmp-entry--godpower .cmp-power-transform-to {
  color: var(--site-gold-strong);
}

/* ---- Responsive ---------------------------------------------------------- */
@media (max-width: 620px) {
  .cmp-entry--godpower .cmp-power-table :is(th, td) {
    padding: 10px 12px;
  }

}

@media (prefers-reduced-motion: reduce) {
  .cmp-entry--godpower .cmp-power-link {
    transition: none;
  }
}

/* Slice G: a modifier's condition ("While you have a standing Wonder") wraps. */
.cmp-power-modifiers .cmp-tech-meta {
  white-space: normal;
}
