body {
  background:#211d1b;
  color:#e7d8bd;
  font-family:Georgia,serif
}
.creator-shell {
  max-width:830px;
  margin:0 auto;
  padding:30px 22px 100px
}
.creator-nav {
  display:flex;
  justify-content:space-between;
  gap:15px;
  flex-wrap:wrap
}
.creator-shell a {
  color:#c5a77e
}
.creator-shell h1 {
  font-size:clamp(2.3rem,6vw,4rem);
  color:#e7d8bd;
  margin:.35em 0
}
.creator-shell h2 {
  color:#c5a77e;
  font-size:1.6rem
}
.eyebrow,.help,#stepLabel {
  letter-spacing:.05em;
  color:#c5a77e
}
.intro {
  font-style:italic;
  font-size:1.3rem
}
.notice,.rulebox {
  border:1px solid #78654d;
  background:#2d2723;
  padding:16px;
  border-radius:8px;
  margin:18px 0;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.progress {
  height:7px;
  background:#43362f;
  border-radius:20px;
  overflow:hidden;
  margin-top:30px
}
.progress span {
  display:block;
  height:100%;
  width:10%;
  background:#c5a77e;
  transition:width .2s
}
.step {
  display:none
}
.step.active {
  display:block
}
.creator-shell label {
  display:block;
  margin:18px 0;
  font-weight:bold
}
.creator-shell input,.creator-shell textarea,.creator-shell select {
  display:block;
  width:100%;
  box-sizing:border-box;
  margin-top:7px;
  background:#f1e5d0;
  color:#211d1b;
  border:2px solid #9b805e;
  padding:12px;
  border-radius:5px;
  font:inherit
}
.creator-shell button {
  border:1px solid #c5a77e;
  background:#c5a77e;
  color:#211d1b;
  padding:12px 20px;
  border-radius:5px;
  font:inherit;
  font-weight:bold;
  cursor:pointer
}
.creator-shell button.secondary {
  background:transparent;
  color:#e7d8bd
}
.creator-shell button:disabled {
  opacity:.45;
  cursor:not-allowed
}
.wizard-nav,.actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:24px 0
}
.wizard-nav {
  justify-content:space-between
}
.footer-tools {
  display:flex;
  gap:12px;
  flex-wrap:wrap
}
.dice-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px
}
.dice-grid select {
  margin:5px 0
}
.creator-shell :focus-visible {
  outline:3px solid #e7d8bd;
  outline-offset:3px
}
@media print {
  body {
    background:white!important;
    color:black!important
  }
  .creator-nav,.wizard-nav,.footer-tools,.actions,.notice,.progress,.eyebrow,.intro,#stepLabel {
    display:none!important
  }
  .creator-shell {
    max-width:none;
    padding:0
  }
  .step {
    display:none!important
  }
  .step[data-step="9"] {
    display:block!important
  }
  .rulebox {
    background:white!important;
    color:black!important;
    border:0!important;
    white-space:pre-wrap
  }
  .creator-shell h1,.creator-shell h2 {
    color:black!important
  }
}
.class-choice-panel  {
  margin:1rem 0;
  padding:1rem;
  border:1px solid #c5a77e;
  border-radius:8px;
}
/* V0.10: printable character record and readiness checklist */
#validationSummary {
  white-space:pre-wrap;
  line-height:1.6;
  margin-bottom:1.2rem;
  border-left:3px solid #C5A77E;
  padding:1rem;
}
@media print {
  @page {
    size:letter;
    margin:0.65in;
  }
  body {
    background:#fff!important;
    color:#111!important;
    font-family:Georgia,serif!important;
    font-size:10pt!important;
  }
  header,nav,footer,.wizard-nav,.footer-tools,.actions,button,.step:not([data-step="9"]),.help,#progress,#stepLabel {
    display:none!important;
  }
  main {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  .step[data-step="9"] {
    display:block!important;
  }
  #review,#validationSummary {
    color:#111!important;
    background:#fff!important;
    border:0!important;
    white-space:pre-wrap!important;
    overflow:visible!important;
    max-height:none!important;
    page-break-inside:auto!important;
    padding:0!important;
    font-size:9pt!important;
  }
  #validationSummary {
    border-bottom:1px solid #555!important;
    padding-bottom:12px!important;
    margin-bottom:15px!important;
  }
  #review {
    line-height:1.45!important;
  }
  h1,h2,h3 {
    color:#111!important;
    break-after:avoid;
  }
}
@media print {
  #phase15ApprovalControls {
    display:none!important;
  }
  #phase14Audit {
    break-inside:avoid;
  }
  #review {
    overflow-wrap:anywhere;
  }
}
/* Phase 34 — mobile, keyboard, and print refinements */
.creator-shell {
  width:100%;
  min-width:0;
  box-sizing:border-box
}
.creator-shell .rulebox,.creator-shell pre {
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal
}
.creator-shell pre {
  white-space:pre-wrap;
  overflow-x:auto
}
.creator-shell input,.creator-shell textarea,.creator-shell select {
  min-width:0;
  max-width:100%;
  font-size:16px
}
.creator-shell input[type=checkbox],.creator-shell input[type=radio] {
  display:inline-block;
  width:auto;
  min-width:0;
  margin:0 .5rem 0 0;
  vertical-align:middle
}
.creator-shell label:has(> input[type=checkbox]) {
  display:flex;
  align-items:flex-start;
  gap:.35rem
}
.creator-shell button {
  min-height:44px;
  max-width:100%;
  white-space:normal
}
.creator-shell button:focus-visible,.creator-shell a:focus-visible {
  outline:3px solid #f1e5d0;
  outline-offset:3px
}
.creator-shell .dice-grid {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))
}
@media(max-width:600px) {
  .creator-shell {
    padding:18px 14px 55px
  }
  .creator-shell h1 {
    font-size:clamp(2rem,9vw,3rem)
  }
  .creator-shell h2 {
    font-size:1.35rem
  }
  .creator-nav {
    flex-direction:column;
    gap:7px
  }
  .notice,.rulebox {
    padding:12px;
    margin:12px 0
  }
  .wizard-nav {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }
  .wizard-nav button {
    width:100%;
    padding:12px 8px
  }
  .actions,.footer-tools {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:10px
  }
  .actions button,.footer-tools button {
    width:100%
  }
  .creator-shell label {
    margin:13px 0
  }
}
@media print {
  @page {
    size:letter;
    margin:.6in
  }
  html,body {
    background:#fff!important;
    color:#111!important;
    width:auto!important;
    overflow:visible!important
  }
  body {
    font:10pt/1.4 Georgia,serif!important
  }
  body>section,body>header,body>footer,body>nav {
    display:none!important
  }
  .creator-shell {
    margin:0!important;
    padding:0!important;
    width:100%!important;
    max-width:none!important
  }
  .creator-shell> :not(h1):not(form) {
    display:none!important
  }
  .creator-shell form> :not(.step[data-step="9"]) {
    display:none!important
  }
  .creator-shell .step[data-step="9"] {
    display:block!important
  }
  .creator-shell .step[data-step="9"]> :not(h2):not(#review):not(#validationSummary) {
    display:none!important
  }
  .creator-shell h1 {
    font-size:18pt!important;
    margin:0 0 8pt!important
  }
  .creator-shell h2 {
    font-size:13pt!important;
    margin:0 0 10pt!important
  }
  #review,#validationSummary {
    white-space:pre-wrap!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    font-size:9pt!important;
    line-height:1.4!important;
    margin:0 0 10pt!important;
    padding:0!important;
    border:0!important;
    background:white!important;
    color:black!important
  }
  #validationSummary {
    border-bottom:1px solid #777!important;
    padding-bottom:8pt!important
  }
}
/* Phase 35 release-candidate print fix: hide non-character development audit panels. */
@media print  {
  body>section,body>header,body>footer,body>nav {
    display:none!important;
  }
  main.creator-shell {
    display:block!important;
  }
  main.creator-shell> :not(h1):not(form) {
    display:none!important;
  }
  main.creator-shell form> :not(.step[data-step="9"]) {
    display:none!important;
  }
  .step[data-step="9"] {
    display:block!important;
  }
  .step[data-step="9"]> :not(h2):not(#review):not(#validationSummary) {
    display:none!important;
  }
  #review,#validationSummary {
    display:block!important;
  }
}
