.balance-page { max-width:1440px; margin:0 auto; line-height:1.65; scroll-margin-top:100px; }
.balance-page [hidden] { display:none !important; }
.balance-page [id] { scroll-margin-top:100px; }
.balance-page h1, .balance-page h2, .balance-page h3, .balance-page h4 { color:#f3e8dc; line-height:1.25; }
.balance-page h1 { font-size:clamp(28px,3.3vw,44px); margin:16px 0 12px; letter-spacing:-.025em; }
.balance-page h2 { font-size:24px; margin:0 0 16px; }
.balance-page h3 { font-size:20px; margin:24px 0 12px; }
.balance-page h4 { font-size:16px; margin:0 0 12px; color:#d7b89a; }
.balance-page p { margin:0 0 14px; }
.balance-page p:last-child { margin-bottom:0; }
.balance-page a { color:#edd0af; text-decoration:underline; text-underline-offset:3px; }
.balance-page a:hover { color:#fff4e8; }
.balance-page :focus-visible { outline:2px solid #f3cc8b; outline-offset:4px; }
.balance-page [data-search-entry]:target { background:#47351f; box-shadow:inset 3px 0 #f3cc8b; }
.balance-hero { padding:28px; border:1px solid #634632; border-radius:16px; background:linear-gradient(120deg,#342317,#1d1411 75%); box-shadow:0 10px 24px #0003; }
.balance-eyebrow { display:flex; gap:10px; flex-wrap:wrap; align-items:center; color:#e5c29d; font-size:13px; font-weight:500; }
.balance-eyebrow img { object-fit:contain; image-rendering:pixelated; }
.balance-eyebrow span { border:1px solid #725135; border-radius:6px; padding:2px 8px; }
.balance-lead { color:#dbc8b8; font-size:18px; max-width:850px; }
.balance-meta { display:flex; gap:8px 20px; flex-wrap:wrap; font-size:13px; color:#ccb59e; }
.balance-vocations { display:flex; gap:10px; flex-wrap:wrap; margin:20px 0; }
.balance-vocations a { flex:1 1 140px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:18px 12px 14px; border-radius:12px; background:radial-gradient(ellipse at 50% 40%,#65462755,transparent 70%),#1d1411; border:1px solid #64472f; font-weight:500; text-decoration:none; }
.balance-vocations a:hover { background:#35261c; border-color:#d7b89a; }
.balance-vocations small { color:#bda68c; font-size:11px; font-weight:400; }
.balance-outfit { width:64px; height:64px; object-fit:contain; image-rendering:pixelated; flex-shrink:0; filter:drop-shadow(0 5px 3px #0008); }
.balance-vocation-shortcut .balance-outfit { width:96px; height:96px; margin-bottom:6px; }
.balance-spell-gallery { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 24px; }
.balance-spell-gallery a { display:flex; align-items:center; gap:10px; flex:1 1 180px; padding:12px; border-radius:10px; border:1px solid #533b27; background:#291d14; font-size:14px; text-decoration:none; }
.balance-spell-gallery a:hover { border-color:#bd9667; background:#35261c; }
.balance-sprite-frame { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:60px; height:60px; border-radius:10px; border:1px solid #79563877; background:radial-gradient(ellipse,#75502444,#160f0c); }
.balance-spell-sprite { width:48px; height:48px; object-fit:contain; image-rendering:pixelated; }
.balance-item-name { display:flex; align-items:center; gap:10px; }
.balance-table-sprite { flex-shrink:0; width:32px; height:32px; object-fit:contain; image-rendering:pixelated; }
.balance-intro-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:18px; align-items:start; margin-bottom:22px; }
.balance-index ol { margin:0; padding-left:22px; columns:2; column-gap:26px; }
.balance-index li { padding:4px 0; break-inside:avoid; font-size:14px; }
.balance-index h2, .balance-search h2 { font-size:20px; }
.balance-search label { display:block; font-size:14px; margin-bottom:6px; color:#d7b89a; }
.balance-search-field { display:flex; gap:8px; }
.balance-search input { min-width:0; width:100%; border:1px solid #886244; background:#160f0c; border-radius:8px; padding:12px; color:#fff; font:inherit; font-size:16px; }
.balance-search input::placeholder { color:#bba795; }
.balance-search button { border:1px solid #866244; border-radius:8px; padding:10px 14px; background:#35261c; color:#f3e8dc; font:inherit; cursor:pointer; }
.balance-search button:hover { background:#4b3625; }
.balance-search .muted { margin:10px 0; font-size:13px; }
.balance-search-status { color:#ebccab; font-size:14px; }
.balance-results { list-style:none; padding:0; margin:0; max-height:370px; overflow-y:auto; }
.balance-results li + li { border-top:1px solid #513725; }
.balance-results a { display:block; padding:12px 8px; font-size:14px; text-decoration:none; }
.balance-results small { display:block; color:#c9b2a0; margin-bottom:3px; }
.balance-results mark { background:#e9c692; color:#21150d; border-radius:2px; }
.balance-section { margin:24px 0; }
.balance-page .card { padding:24px; }
.balance-system-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.balance-system-grid h3 { margin-top:0; }
.balance-list { margin:0; padding-left:21px; }
.balance-list li { padding:4px 0 8px 4px; }
.balance-list li::marker { color:#b78e61; }
.balance-vocation { margin:18px 0; border-top:3px solid #aa7f50; }
.balance-section-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.balance-section-heading h2, .balance-section-heading h3 { margin:0; }
.balance-section-heading h3 { display:flex; align-items:center; gap:10px; font-size:25px; }
.balance-section-heading a { font-size:13px; }
.balance-vocation-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:24px; margin-top:22px; }
.balance-wheel { background:#261c16; border:1px solid #483222; border-radius:10px; padding:18px; align-self:start; }
.balance-count { border:1px solid #5d412c; border-radius:20px; padding:2px 10px; color:#d7b89a; font-size:12px; }
.balance-scroll-hint { color:#cfb495; font-size:13px; margin-bottom:8px !important; }
.balance-table-wrap { max-width:100%; max-height:720px; overflow:auto; border:1px solid #513b2a; border-radius:8px; scrollbar-color:#99734d #1d1411; }
.balance-table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.55; text-align:left; }
.balance-table caption { padding:10px 14px; text-align:left; color:#c9b2a0; background:#241a13; font-size:12px; }
.balance-table th, .balance-table td { padding:13px 14px; border-bottom:1px solid #493225; vertical-align:top; min-width:85px; }
.balance-table thead th { position:sticky; top:0; z-index:1; background:#3b2b1e; color:#f4dcc2; font-weight:500; white-space:nowrap; }
.balance-table tbody th { min-width:180px; color:#f3e8dc; font-weight:500; }
.balance-table td:not(:last-child) { max-width:240px; }
#novas-magias td:last-child, #magias-atualizadas td:last-child { min-width:340px; }
#flechas td:nth-child(4), #pocoes td:nth-child(4) { min-width:250px; }
#novas-magias td:nth-child(2), #magias-atualizadas td:nth-child(2),
#novas-magias td:nth-child(4), #magias-atualizadas td:nth-child(4) { min-width:60px; }
.balance-table tbody tr:nth-child(even) { background:#d7b89a06; }
.balance-table tbody tr:hover { background:#d7b89a0d; }
.balance-table tbody tr:last-child > * { border-bottom:0; }
.balance-conflicts td { min-width:300px !important; width:40%; }
.balance-conflicts .balance-resolution { margin-top:12px; padding-top:10px; border-top:1px solid #725135; color:#e4c89d; }
.balance-notes summary { cursor:pointer; color:#edd0af; font-weight:500; }
.balance-notes summary span { display:block; margin-left:20px; color:#bda68c; font-size:13px; font-weight:400; }
.balance-notes[open] summary { margin-bottom:18px; }
.balance-source { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; padding:16px 0 24px; border-top:1px solid #513b2a; font-size:12px; color:#bda68c; }
.balance-source p { margin:0; }
.balance-back-top { display:inline-block; margin-top:6px; }
@media (max-width:1200px) {
  .balance-intro-grid { grid-template-columns:1fr; }
  .balance-vocation-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .vocation-update-page .header-row { min-width:0; gap:8px; }
  .vocation-update-page .header-actions { gap:0; }
  .vocation-update-page .header-divider { display:none; }
  .vocation-update-page .lang-toggle { padding:8px; gap:4px; }
  .vocation-update-page .lang-toggle span:not(.material-symbols-rounded) { display:none; }
  .balance-hero, .balance-page .card { padding:18px; }
  .balance-page h2 { font-size:21px; }
  .balance-lead { font-size:16px; }
  .balance-index ol { columns:1; }
  .balance-system-grid { grid-template-columns:1fr; }
  .balance-vocations { gap:8px; }
  .balance-vocations a { flex-basis:calc(50% - 8px); padding:14px 8px; font-size:14px; }
  .balance-vocations a:last-child { flex-grow:0; }
  .balance-vocation-shortcut .balance-outfit { width:64px; height:64px; }
  .balance-search-field { flex-wrap:wrap; }
  .balance-search input { flex-basis:100%; }
  .balance-spell-gallery { gap:8px; }
  .balance-spell-gallery a { flex-basis:100%; padding:10px; }
  .balance-meta { gap:6px 14px; }
  .balance-table th, .balance-table td { padding:12px; }
  .balance-table-wrap { max-height:65vh; }
  #novas-magias td:last-child, #magias-atualizadas td:last-child { min-width:280px; }
}
