/* Adventurer's handbook: shared visual theme, after responsive.css. */
:root {
  --ink: #352a22;
  --paper: #f5efdf;
  --panel: #fffdf7;
  --wine: #762f3c;
  --wine-dark: #54212b;
  --gold: #a58043;
  --line: #d8c7a7;
}
body { color: var(--ink); background: var(--paper); font-family: 'Alegreya Sans', Arial, sans-serif; }
h1, h2, h3 { font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif; color: var(--wine-dark); line-height: 1.3; font-weight: 700; }
h1 { font-size: clamp(24px, 3vw, 32px); }
h1::after { content: ''; display: block; width: 64px; height: 2px; background: var(--gold); margin: 16px auto 20px; }
a { color: var(--wine); }
.site-header { background: #30251f; border-bottom: 2px solid var(--gold); }
#site-navigation { background: transparent; }
#site-navigation a { color: #fff5df; }
#site-navigation a:hover, #site-navigation a[aria-current="page"] { background: var(--wine); }
.site-header #menu-toggle { background: #30251f; color: #fff5df; }
button, .pathfinder-button, .button-container button,
.pathfinder-button.increase, .pathfinder-button.decrease { background: var(--wine); color: #fffdf7; border: 1px solid var(--wine); border-radius: 5px; }
button:hover, .pathfinder-button:hover, .button-container button:hover { background: var(--wine-dark); }
button:focus-visible, .pathfinder-button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
input, select, textarea, .input-container input, .select-container select { color: var(--ink); background: var(--panel); border: 1px solid #b9a98e; border-radius: 4px; }
.calculator, .ability-page .calculator-container { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 4px 18px #352a2210; }
.ability-page .calculator { border: 0; box-shadow: none; background: transparent; }
.disclaimer { background: #ebe2cf; color: #574a3d; border-top: 1px solid var(--line); }
.disclaimer a { color: var(--wine-dark); }
#ac-cmb-cmd-calculator .character-statistics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; }
.character-statistics h2 { grid-column: 1 / -1; margin: 0 0 8px; }
.stat-row, #craft-dc-calculator #result > p { background: #eee3cc; border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: 6px; padding: 16px 12px; text-align: center; font-size: 15px; line-height: 1.4; }
.stat-row span, .result-value { display: block; color: var(--wine-dark); font-size: 36px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; margin-top: 10px; }
.stat-row span:empty::before { content: '—'; }
.ability-page #modifiers, .ability-page #race-modifiers, .ability-page #actual-scores { align-self: stretch; padding: 16px; background: #f5ecda; border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: 6px; font-weight: 400; }
.ability-page #modifiers h2, .ability-page #race-modifiers h2, .ability-page #actual-scores h2 { font-size: 21px; }
.ability-page #modifiers p, .ability-page #race-modifiers p, .ability-page #actual-scores p { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); padding: 8px 0; }
.ability-page #modifiers span, .ability-page #race-modifiers span, .ability-page #actual-scores span { font-size: 24px; color: var(--wine-dark); font-weight: 700; font-variant-numeric: tabular-nums; }
#remaining-points-container { padding: 12px; margin-top: 20px; background: #f5ecda; border: 1px solid var(--line); border-radius: 6px; }
#remaining-points { color: var(--wine-dark); font-size: 26px; }
#craft-dc-calculator #result:not(:empty) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
#craft-dc-calculator #result > p { margin: 0; }
.result-unit { display: block; font-size: 15px; color: var(--ink); margin-top: 4px; }
@media (max-width: 768px) {
  #ac-cmb-cmd-calculator .character-statistics { padding: 24px 0 0; }
  .ability-page #modifiers, .ability-page #race-modifiers, .ability-page #actual-scores { padding: 16px; }
  .stat-row { padding: 14px 8px; }
}
.image-container img { mix-blend-mode: multiply; }
