.page-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 1.5rem 3rem; padding: 2rem 0 4rem; }
.page-layout > .brand { grid-column: 1 / -1; }
.hero-copy { align-self: center; }
.hero-copy h1 { max-width: 12ch; }
.form-panel { align-self: start; }
fieldset { padding: .2rem 0 0; margin: 1rem 0; border: 0; }
legend { padding: 0; font-weight: 800; }
.recent-games { grid-column: 1 / -1; max-width: 680px; }
.card-list { display: grid; gap: .7rem; }
.recent-game { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border: 1px solid var(--border); border-radius: .75rem; background: #fff; }
.recent-game p { margin: 0; }
.recent-game small { display: block; margin-top: .15rem; color: var(--muted); }

.setup-layout { padding: 1.3rem 0 4rem; }
.setup-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.game-summary { text-align: right; color: var(--muted); font-size: .9rem; }
.game-summary strong { display: block; color: var(--ink); }
.setup-intro { margin-bottom: 1.25rem; }
.setup-intro h1 { font-size: clamp(2rem, 5vw, 3rem); }
.global-error { padding: .8rem 1rem; border: 1px solid #eab4bc; border-radius: .7rem; background: #fff7f8; }
.management-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.prompts-panel { margin-top: 1.25rem; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.section-heading h2 { margin-bottom: .4rem; }
.count { color: var(--muted); font-size: .85rem; font-weight: 700; }
.inline-form { display: grid; grid-template-columns: 1fr auto; gap: .5rem; margin: .8rem 0; }
.stack-form { padding: .2rem 0 .9rem; border-bottom: 1px solid var(--border); }
.stack-form .button, .prompt-form .button { margin-top: .85rem; }
.manager-list { display: grid; gap: .55rem; margin: 1rem 0; }
.manager-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; align-items: center; padding: .65rem; border: 1px solid var(--border); border-radius: .7rem; background: #fcfdff; }
.player-row { grid-template-columns: minmax(100px, 1fr) minmax(110px, .75fr) auto; }
.prompt-row { grid-template-columns: minmax(0, 1fr) minmax(100px, .35fr) auto; }
.row-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .3rem; }
.row-actions .button { min-height: 2.25rem; padding: .38rem .58rem; font-size: .82rem; }
.row-meta { grid-column: 1 / -1; margin: -.2rem 0 0; color: var(--muted); font-size: .78rem; }
.toggle-row { display: flex; align-items: flex-start; gap: .6rem; padding-top: .9rem; border-top: 1px solid var(--border); font-weight: 600; line-height: 1.35; }
.toggle-row input { width: auto; margin-top: .18rem; }
.prompt-form { display: grid; grid-template-columns: 1fr minmax(150px, .35fr) auto; gap: 0 .6rem; align-items: end; }
.prompt-form textarea { grid-column: 1 / 2; }
.prompt-form > label { grid-row: 1; }
.prompt-form > textarea { grid-row: 2; }
.prompt-form > label[for="new-prompt-category"] { grid-column: 2; }
.prompt-form > input { grid-column: 2; grid-row: 2; }
.prompt-form .button { grid-column: 3; grid-row: 2; }
.prompt-tools { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.prompt-tools p { margin: 0; }
.selected-row { border-color: #97a9f4; background: #f3f5ff; }
@media (max-width: 780px) {
  .page-layout, .management-grid { grid-template-columns: 1fr; }
  .hero-copy { padding-top: 1rem; }
  .prompt-form { grid-template-columns: 1fr; }
  .prompt-form > label, .prompt-form > textarea, .prompt-form > input, .prompt-form .button { grid-column: 1; grid-row: auto; }
  .player-row, .prompt-row { grid-template-columns: 1fr; }
  .row-actions { justify-content: flex-start; }
}
@media (max-width: 520px) { .setup-header { align-items: flex-start; flex-direction: column; } .game-summary { text-align: left; } .inline-form { grid-template-columns: 1fr; } .inline-form .button { width: 100%; } }
