/* Castle UI — rounded, one gold, no checkerboard, no “how we talk.”
   Cards exist. They all share radius 14px and a 1px gold hairline.
*/

body.castle { overflow-x: clip; font-family: "Source Serif 4", Georgia, serif; }
body.castle h1,
body.castle h2,
body.castle h3,
body.castle .who-panel h2,
body.castle .cite-cards h3,
body.castle .scale-row h3 {
  font-family: "Source Serif 4", Georgia, serif;
  letter-spacing: -0.015em;
  text-transform: none;
}

body.castle .castle-band { padding: 64px 0 72px; }
body.castle .castle-band.surface { background: #121A2C; }
body.castle .castle-band.deep { background: #0B1220; }

body.castle .wrap > .eyebrow,
body.castle .castle-band .eyebrow { margin-bottom: 14px; }

/* Pills — two quiet rows */
body.castle .pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 14px;
}
body.castle .pill-row a {
  display: inline-flex;
  align-items: center;
  font-family: var(--ui);
  font-size: 14px;
  font-weight: 600;
  color: var(--gold-soft);
  text-decoration: none;
  background: rgba(28,43,74,.9);
  border: 1px solid rgba(212,175,55,.38);
  border-radius: 999px;
  padding: 8px 16px;
}
body.castle .pill-row a:hover {
  border-color: var(--gold);
  color: #F5F7FA;
  background: rgba(40,56,90,.95);
}
body.castle .pill-row.soft a {
  background: transparent;
  color: #C5CBD6;
  border-color: rgba(212,175,55,.22);
}
body.castle .castle-rooms,
body.castle .castle-way { display: none; }

/* Shared card */
body.castle .c-card,
body.castle .cite-cards article,
body.castle .scale-row article,
body.castle .voice-grid article,
body.castle .refuse-grid article {
  background: #1C2B4A;
  border: 1px solid rgba(212,175,55,.32);
  border-radius: 14px;
  border-top: 1px solid rgba(212,175,55,.32);
  border-left: 1px solid rgba(212,175,55,.32);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
  padding: 20px 18px 22px;
}
body.castle .cite-cards article:nth-child(n),
body.castle .scale-row article:nth-child(n),
body.castle .refuse-grid article:nth-child(n),
body.castle .prompt-line article:nth-child(n) {
  background: #1C2B4A;
  border: 1px solid rgba(212,175,55,.32);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}

/* Who we are — one cream panel, not three boxes */
body.castle .who-panel {
  background: #FFFDF8;
  border: 1px solid rgba(212,175,55,.35);
  border-radius: 18px;
  padding: 36px 36px 32px;
  max-width: 46rem;
  box-shadow: 0 16px 40px rgba(22,18,12,.06);
}
body.castle .who-panel h2 { margin: 0 0 14px; color: var(--ink); }
body.castle .who-panel p {
  margin: 0;
  font-size: 1.14em;
  line-height: 1.7;
  color: #2A241C;
  max-width: 38rem;
}
body.castle .who-not {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
body.castle .who-not span {
  font-family: var(--ui);
  font-size: 13px;
  font-weight: 600;
  color: #6B4E10;
  background: #efe8d8;
  border-radius: 999px;
  padding: 7px 14px;
}

/* Stakes */
body.castle .cite-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 24px 0 12px;
}
body.castle .cite-cards h3 { color: #F5F7FA; margin: 0 0 8px; }
body.castle .cite-cards p { color: #D8DEE8; margin: 0 0 10px; max-width: none; }
body.castle .cite-cards p:last-child { margin: 0; }
body.castle .cite-cards a { color: var(--gold-soft); }

/* Scale — cream cards on parchment */
body.castle .scale-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0 8px;
}
body.castle .castle-band.parchment .scale-row article {
  background: #FFFDF8;
  border: 1px solid rgba(212,175,55,.32);
  box-shadow: 0 8px 24px rgba(22,18,12,.06);
}
body.castle .scale-row .n { color: #8a7020; }
body.castle .scale-row h3 { color: var(--ink); }
body.castle .scale-row p { color: #3d3428; max-width: none; }

/* Voices */
body.castle .voice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  gap: 16px;
  margin-top: 24px;
}
body.castle .voice-grid article {
  background: #1C2B4A;
}
body.castle .voice-grid .who {
  font-family: var(--ui);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold-soft);
  margin-bottom: 10px;
}
body.castle .voice-grid p {
  font-family: var(--read);
  font-size: 1.12rem;
  line-height: 1.5;
  color: #F5F7FA;
  margin: 0;
  max-width: none;
}

/* Refuse — same cream rounded, 4×2 */
body.castle .refuse-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 14px;
  margin-top: 22px;
}
body.castle .castle-band.parchment .refuse-grid article {
  background: #FFFDF8;
  border: 1px solid rgba(212,175,55,.32);
  box-shadow: 0 8px 24px rgba(22,18,12,.06);
}
body.castle .refuse-grid .n { color: #8a7020; margin-bottom: 8px; font-family: var(--ui); font-size: 11px; letter-spacing: .08em; }
body.castle .refuse-grid p { color: #2A241C; margin: 0; max-width: none; font-family: var(--ui); font-size: 15px; line-height: 1.45; }

/* Prompt */
body.castle .prompt-line {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0 28px;
}
body.castle .prompt-line article {
  background: rgba(28,43,74,.85) !important;
  border: 1px solid rgba(212,175,55,.32) !important;
  border-radius: 14px;
  padding: 16px 16px 18px;
}
body.castle .prompt-line .n {
  color: var(--gold-soft);
  font-family: var(--ui);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
body.castle .prompt-line p { color: #F5F7FA; margin: 0; max-width: none; font-size: 15.5px; }

body.castle .prompt-paper {
  background: #FFFDF8;
  color: #16120C;
  border: 1px solid rgba(212,175,55,.4);
  border-radius: 18px;
  padding: 22px 22px 18px;
  box-shadow: 0 18px 48px rgba(0,0,0,.35);
  overflow: hidden;
}
body.castle .prompt-paper pre {
  white-space: pre-wrap;
  font-family: ui-monospace, "Source Sans 3", monospace;
  font-size: 15px;
  line-height: 1.65;
  color: #16120C;
  margin: 0;
  max-height: 22rem;
  overflow: auto;
  padding-right: 6px;
}

@media (max-width: 900px) {
  body.castle .cite-cards,
  body.castle .scale-row,
  body.castle .voice-grid,
  body.castle .refuse-grid,
  body.castle .prompt-line { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  body.castle .cite-cards,
  body.castle .scale-row,
  body.castle .voice-grid,
  body.castle .refuse-grid,
  body.castle .prompt-line { grid-template-columns: 1fr; }
  body.castle .who-panel { padding: 24px 20px; }
}
