/* Shared Roll Tally tool style. Load last; .tool-page scopes legacy overrides. */
.tool-page {
  --ink: #352a22; --paper: #f5efdf; --panel: #fffdf7;
  --wine: #762f3c; --wine-dark: #54212b; --gold: #a58043;
  --line: #ded3bd; --muted: #6c6257;
  color-scheme: light;
  background: var(--paper); color: var(--ink);
  font: 16px/1.55 system-ui, sans-serif;
}
.tool-page h1 {
  font: 700 clamp(24px, 3vw, 32px)/1.3 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif;
  color: var(--wine-dark); text-align: center; margin: .67em 0 20px;
}
.tool-page h1::after { content: ''; display: block; width: 64px; height: 2px; margin: 16px auto 20px; background: var(--gold); }
.tool-page h1 em { font: inherit; color: inherit; }
.tool-page h2 { font: 700 22px/1.3 Georgia, serif; color: var(--ink); }
.tool-page h3 { font: 700 17px/1.3 Georgia, serif; color: var(--ink); }
.tool-page .buffs-page-heading p, .tool-page .sheet-intro, .tool-page .tool-intro {
  font: 19px/1.6 system-ui, sans-serif; color: var(--ink);
  max-width: 720px; margin: 0 auto 24px; text-align: center;
}
.tool-page .power-main > p { font: 19px/1.6 system-ui, sans-serif; max-width: 720px; margin: 0 auto 24px; text-align: center; }
.tool-page .tool-heading { padding-top: 28px; text-align: center; }
.tool-page .calculator, .tool-page .power-output, .tool-page.ability-page .calculator-container,
.tool-page #ac-cmb-cmd-calculator .character-statistics {
  background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 24px; box-shadow: none;
}
.tool-page.ability-page .calculator { border: 0; padding: 0; background: transparent; }
/* Character Sheet retains its original compact, gold-edged disclosure sections. */
.tool-page .sheet-section { --line: #d8c7a7; }
.tool-page .stat-row, .tool-page #craft-dc-calculator #result > p,
.tool-page.ability-page :is(#modifiers, #race-modifiers, #actual-scores, #remaining-points-container) {
  background: #f1e9d9; border: 1px solid var(--line); border-radius: 6px;
}
.tool-page button, .tool-page .pathfinder-button { font-family: system-ui, sans-serif; font-size: 13px; line-height: 1.55; border-radius: 5px; }
.tool-page :is(input, select, textarea) { font-family: system-ui, sans-serif; color: var(--ink); }
.tool-page :is(input:not([type=checkbox]):not([type=radio]), select, textarea) {
  background: var(--panel); border: 1px solid #b9aa91; border-radius: 5px;
}
.tool-page :is(input[type=checkbox], input[type=radio]) { accent-color: var(--wine); }
.tool-page :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #b48c40; outline-offset: 3px; }
.tool-page .stat-row span, .tool-page .result-value { font-variant-numeric: tabular-nums; }
@media(max-width: 768px) {
  .tool-page .calculator, .tool-page .power-output, .tool-page.ability-page .calculator-container,
  .tool-page #ac-cmb-cmd-calculator .character-statistics { padding: 18px; }
  .tool-page .tool-heading { padding-top: 20px; }
}

/* Compact explanatory content for existing tools. */
.tool-page .tool-content, .tool-page .power-rules { width: 100%; max-width: none; box-sizing: border-box; margin: 20px 0; padding: 24px; background: #fffdf7; border: 1px solid #ded3bd; border-radius: 10px; box-shadow: none; overflow-wrap: anywhere; text-align: left; font-family: system-ui, sans-serif; }
.tool-page .tool-content p, .tool-page .power-rules p { max-width: none; font: 14px/1.55 system-ui, sans-serif; }
.tool-page .page-content > .tool-content { width: calc(100% - 40px); max-width: 1060px; margin: 20px auto; }
.tool-page.ability-page > .tool-content { width: calc(100% - 48px); max-width: 1072px; margin: 20px auto; }
@media(max-width: 768px) { .tool-page .tool-content, .tool-page .power-rules { padding: 18px; } }
.tool-page .site-disclaimer a { overflow-wrap: anywhere; }
