/* Character progress follows the Guild's parchment-and-stone journal. */
#guild-nav .guide-nav-link { grid-column: auto; }
.progress-heading-links { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.character-page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.character-setup-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: 22px; align-items: stretch; }
.character-connect-card,.character-setup-card { min-width: 0; padding: 23px; border: 3px ridge #ac925b; }
.character-connect-card { background: linear-gradient(125deg,#eaddb9,#d8c28d); box-shadow: inset 0 0 0 1px #f1e4bd; }
.character-setup-card { background: #e6d8b2; }
.character-connect-card h2,.character-setup-card h2 { margin: 9px 0 13px; font-size: 34px; }
.character-connect-card > p,.character-setup-card > p { font-size: 14px; }
.character-connect-form { display: flex; flex-direction: column; align-items: stretch; margin-top: 20px; }
.character-connect-form label,.character-quest-controls label { display: block; margin: 0 0 6px; color: #4c371c; font-size: 12px; font-weight: 700; }
.character-connect-form input,.character-connect-form select,.character-quest-controls input,.character-quest-controls select { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 2px inset #bca574; border-radius: 0; background: #f4e8c6; color: #3a2a16; font-size: 15px; }
.character-connect-form input::placeholder,.character-quest-controls input::placeholder { color: #816e4b; opacity: 1; }
.character-connect-form small { margin: 7px 0 19px; color: #725938; font-size: 11px; line-height: 1.7; }
.character-connect-form button { margin-top: 19px; align-self: flex-start; min-width: 190px; }
.character-status { min-height: 25px; margin: 18px 0 0; padding-top: 13px; border-top: 1px solid #bda572; color: #475f2d; font-size: 13px; overflow-wrap: anywhere; }
.character-status[data-tone="error"],.character-status.error { color: #8b3427; }
.character-status[data-tone="loading"] { color: #70521b; }
.character-setup-card .section-kicker { margin: 0; font-size: 14px; }
.character-setup-steps { margin: 12px 0 0; }
.character-setup-steps li { padding-top: 11px; padding-bottom: 12px; font-size: 13px; }
.character-setup-steps li::before { top: 13px; }
.character-setup-card .helper-text { font-size: 12px; }
.character-setup-card .quiet-link { font-size: 13px; }
.character-privacy { padding: 0 4px; margin: 17px 0 26px; font-size: 12px; line-height: 1.8; color: #6e5634; }
.character-review { margin: 25px 0; padding: 22px; border: 3px ridge #9b9f66; background: #d9d9b4; }
.character-review .section-kicker { margin-top: 0; color: #536333; }
.character-review h2 { margin: 5px 0 13px; font-size: 31px; }
#character-review-summary { font-size: 14px; overflow-wrap: anywhere; }
.character-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 18px; }
.character-actions .quiet-link { margin-left: auto; font-size: 13px; }
.character-record { margin: 28px 0; }
.character-record-header { padding: 23px; border: 4px ridge #9e874e; background: linear-gradient(105deg,#e6d39c,#cfb57c); box-shadow: inset 0 0 0 1px #f3e3b1; }
.character-summary { min-width: 0; overflow-wrap: anywhere; }
.character-summary h2 { margin: 0 0 4px; font-size: 40px; color: #3b2d16; }
.character-summary p { margin: 6px 0; font-size: 13px; }
.character-summary .section-kicker { margin: 0 0 7px; font-size: 13px; }
.character-summary .character-meta,.character-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; color: #6c5130; font-size: 12px; }
.character-summary .character-stat-line { display: flex; flex-wrap: wrap; gap: 9px 24px; margin: 14px 0; }
.character-summary .character-stat-line strong { color: #3f4f27; }
.character-settings { margin: 22px 0 28px; padding: 16px 20px 18px; border: 2px groove #b6a06c; background: #e5d8b1; }
.character-settings h2 { margin: 0 0 14px; padding: 0; color: #4d3a21; font-size: 22px; line-height: 1.4; overflow-wrap: anywhere; }
.character-toggle { display: flex; align-items: flex-start; gap: 11px; margin: 10px 0 16px; font-size: 13px; line-height: 1.65; cursor: pointer; }
.character-toggle:last-child { margin-bottom: 0; }
.character-toggle input { flex: 0 0 19px; width: 19px; height: 19px; margin: 3px 0 0; accent-color: #536b34; }
.character-toggle strong,.character-toggle small { display: block; }
.character-toggle strong { color: #43361e; }
.character-toggle small { margin-top: 3px; font-size: 12px; color: #725b37; line-height: 1.75; }
.character-section-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 7px 16px; margin: 24px 0 13px; }
.character-section-heading h2 { margin: 0; font-size: 34px; }
.character-section-heading .helper-text { margin: 0; }
.character-skills { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.character-skill,.skill-card { min-width: 0; padding: 12px 13px; border: 2px ridge #a68f5c; background: #e8dcb5; }
.character-skill > span,.skill-card > span { display: block; font-size: 12px; color: #5f4828; }
.character-skill strong,.skill-card strong { display: block; color: #40502a; font-family: var(--heading-font); font-size: 36px; font-weight: 400; line-height: 1.2; }
.character-skill small,.skill-card small { display: block; margin-top: 4px; color: #76603d; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.character-skill.unknown strong,.skill-card.unknown strong { color: #927c53; }
.character-quest-controls { display: grid; grid-template-columns: minmax(0,1fr) minmax(160px,230px); gap: 14px; padding: 15px; border: 2px groove #ac935d; background: #d9c48f; }
.character-quest-controls > div { min-width: 0; }
.character-quests { max-height: 560px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #a78d52 #e2d4ac; border: 1px solid #b29a67; border-top: 0; background: #e9ddba; }
.character-quest,.quest-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; border-bottom: 1px solid #c7b58b; font-size: 13px; }
.character-quest:last-child,.quest-row:last-child { border-bottom: 0; }
.character-quest > :first-child,.quest-row > :first-child { min-width: 0; overflow-wrap: anywhere; }
.character-quest:nth-child(even),.quest-row:nth-child(even) { background: #ddcfaa; }
.quest-state { flex: 0 0 auto; font-size: 10px; font-weight: 700; padding: 3px 7px; border: 1px solid #ab9364; color: #6d5837; background: #dfd0ac; }
.quest-state.finished,.quest-state[data-state="finished"] { color: #385229; background: #cfdbad; border-color: #91a164; }
.quest-state.in_progress,.quest-state[data-state="in_progress"] { color: #78531a; background: #efd9a0; border-color: #bba057; }
.character-empty { margin: 0; padding: 23px 17px; color: #705b39; font-size: 13px; }
.character-import-panel { margin: 27px 0 17px; border: 2px groove #af9661; background: #e2d3ac; }
.character-import-panel > summary { padding: 15px 18px; cursor: pointer; color: #514020; font-size: 14px; font-weight: 700; }
.character-import-panel[open] > summary { border-bottom: 1px solid #bfa775; }
.character-import-content { padding: 7px 20px 20px; }
.character-import-content h2 { margin: 14px 0 10px; font-size: 29px; }
.character-import-content p { font-size: 13px; }
.character-import-content code { font-size: 12px; overflow-wrap: anywhere; }
.character-export-path { display: block; margin-top: 6px; color: #6e522a; }
.character-import-content .character-toggle { margin: 17px 0; }
.character-import-content .helper-text { font-size: 12px; }
.character-import-content .quiet-link { font-size: 12px; }
.character-save-note { padding: 0 4px; }
.task-verification { margin: 0 16px 13px 69px; padding: 8px 11px; border-left: 3px solid #8a9a5e; background: #dbe0bb; color: #4b6032; font-size: 12px; line-height: 1.7; }
.task-verification.partial { border-color: #b49a56; background: #ead9a7; color: #755721; }
.task-verification > strong,.task-verification > span,.task-verification > small { display: block; }
.character-summary .character-meta { display: block; }
.task-verification .quiet-link { margin-left: 8px; font-size: 11px; }
@media(max-width:1100px) {
  .character-setup-grid { grid-template-columns: 1fr; gap: 16px; }
  .character-skills { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .character-connect-card,.character-setup-card,.character-record-header,.character-review { padding: 17px; }
  .character-connect-card h2,.character-setup-card h2 { font-size: 31px; }
  .character-actions { align-items: stretch; }
  .character-actions .quiet-link { flex-basis: 100%; margin-left: 0; }
  .character-settings { padding: 12px 14px 15px; }
  .character-skills { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  .character-skill,.skill-card { padding: 9px 8px; }
  .character-skill > span,.skill-card > span { font-size: 11px; }
  .character-skill strong,.skill-card strong { font-size: 32px; }
  .character-quest-controls { grid-template-columns: 1fr; gap: 11px; padding: 12px; }
  .character-quest,.quest-row { align-items: flex-start; padding: 11px 12px; gap: 9px; font-size: 12px; }
  .quest-state { font-size: 9px; padding: 3px 5px; }
  .character-import-content { padding-left: 15px; padding-right: 15px; }
  .task-verification { margin-left: 46px; margin-right: 8px; font-size: 11px; }
}
