.ref-category{margin-bottom:var(--sl-spacing-2x-large)}.ref-category__toggle{align-items:center;gap:var(--sl-spacing-x-small);border:none;border-bottom:2px solid var(--sl-color-primary-200);width:100%;padding:0 0 var(--sl-spacing-x-small);margin-bottom:var(--sl-spacing-medium);cursor:pointer;font-size:var(--sl-font-size-large);font-weight:var(--sl-font-weight-bold);color:var(--sl-color-primary-700);text-align:left;background:0 0;display:flex}.ref-category__toggle:hover{color:var(--sl-color-primary-500)}.ref-category__chevron{flex-shrink:0;transition:transform .2s}.ref-category__toggle[aria-expanded=false] .ref-category__chevron{transform:rotate(180deg)}.ref-ability-list.ref-ability-list--collapsed{display:none}.ref-ability-list{gap:var(--sl-spacing-medium);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.ref-filter-wrap{align-items:center;gap:var(--sl-spacing-large);margin-bottom:var(--sl-spacing-large);flex-wrap:wrap;display:flex}.ref-filter-wrap sl-input{flex:1;max-width:320px}.ref-symbol-legend{align-items:center;gap:var(--sl-spacing-medium);font-size:var(--sl-font-size-x-small);color:var(--sl-color-neutral-500);white-space:nowrap;display:flex}.ref-symbol-legend__item{align-items:center;gap:5px;display:flex}.ref-ability{padding:var(--sl-spacing-medium);border:1px solid var(--sl-color-neutral-200);border-radius:var(--sl-border-radius-large);background:var(--sl-color-neutral-0)}.ref-ability__header{align-items:center;gap:var(--sl-spacing-x-small);margin-bottom:4px;display:flex}.ref-ability__swatch{flex-shrink:0;width:13px;height:13px;display:inline-block}.ref-ability__swatch--square{border-radius:2px}.ref-ability__swatch--circle{border-radius:50%}.ref-ability__name{font-size:var(--sl-font-size-small);font-weight:var(--sl-font-weight-bold);letter-spacing:.03em}.ref-ability__summary{margin:0 0 var(--sl-spacing-x-small);font-size:var(--sl-font-size-small);color:var(--sl-color-neutral-600);font-style:italic}.ref-ability__description{font-size:var(--sl-font-size-x-small);color:var(--sl-color-neutral-700);margin:0;line-height:1.6}#abilities-management{margin-top:var(--sl-spacing-3x-large);padding-top:var(--sl-spacing-2x-large);border-top:2px solid var(--sl-color-neutral-200)}.category-legend{font-size:var(--sl-font-size-x-small);color:var(--sl-color-neutral-500);padding:var(--sl-spacing-small) var(--sl-spacing-medium);background:var(--sl-color-neutral-50);border:1px solid var(--sl-color-neutral-200);border-radius:var(--sl-border-radius-medium);margin-bottom:var(--sl-spacing-medium);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cat-sep{color:var(--sl-color-neutral-300)}.cat-pill{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:99px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.cat--high{color:#92400e;background:#fef3c7;border:1px solid #fbbf24}.cat--medium{color:#1e40af;background:#dbeafe;border:1px solid #60a5fa}.cat--low{color:#166534;background:#f0fdf4;border:1px solid #86efac}.cat--neutral{background:var(--sl-color-neutral-100);color:var(--sl-color-neutral-600);border:1px solid var(--sl-color-neutral-300)}.cat--negative{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.regen-status{padding:var(--sl-spacing-small) var(--sl-spacing-medium);border-radius:var(--sl-border-radius-medium);font-size:var(--sl-font-size-small);margin-bottom:var(--sl-spacing-medium)}.regen-status--success{color:#166534;background:#f0fdf4;border:1px solid #86efac}.regen-status--danger{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.abilities-table{border-collapse:collapse;width:100%;font-size:var(--sl-font-size-small)}.abilities-table th{text-align:left;font-size:var(--sl-font-size-x-small);font-weight:var(--sl-font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--sl-color-neutral-500);padding:var(--sl-spacing-x-small) var(--sl-spacing-small);border-bottom:2px solid var(--sl-color-neutral-200)}.abilities-table td{padding:6px var(--sl-spacing-small);border-bottom:1px solid var(--sl-color-neutral-100);vertical-align:middle}.abilities-table tr:last-child td{border-bottom:none}.ability-row--changed{background:color-mix(in srgb, var(--sl-color-primary-100) 40%, transparent)}.ability-col-name{align-items:center;gap:var(--sl-spacing-x-small);display:flex}.ability-swatch{border-radius:3px;flex-shrink:0;width:12px;height:12px;display:inline-block}.ability-swatch--none{background:var(--sl-color-neutral-200)}
