/* Card abilities: use the same outlined blue-green game panels as heroes. */
.ability-controls{display:grid;gap:16px;margin:24px 0}.ability-controls .hero-search{width:100%;box-sizing:border-box}.ability-controls .wiki-tabs{margin:0}.ability-count,.ability-note{color:var(--game-muted);font-size:14px;line-height:1.65}.ability-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.ability-reference{background:var(--game-panel);border:2px solid var(--game-border);box-shadow:5px 5px 0 #0a2030;min-width:0;padding:22px;color:var(--game-text)}.ability-reference-heading{display:flex;gap:18px;align-items:center;padding-bottom:18px;border-bottom:3px solid var(--game-gold);margin-bottom:18px}.ability-icon{flex:none;object-fit:contain;width:80px;height:80px;border:2px solid #efc751;box-shadow:3px 3px 0 #102633;background:#142e3c}.ability-reference h3{color:#fff3c9;font-size:25px;line-height:1.2;margin:0 0 12px;font-style:italic;overflow-wrap:anywhere}.ability-reference h4{font-size:17px;color:var(--game-gold);margin:0 0 12px}.ability-reference h5{font-size:15px;color:#fff3c9;margin:0 0 8px}.ability-tags{display:flex;flex-wrap:wrap;gap:6px}.ability-tags span{background:#142e3c;border:1px solid #65818e;padding:4px 7px;color:#d6e6ed;font-size:12px;line-height:1.4}.ability-text{line-height:1.75;font-size:14px;margin:0 0 10px;white-space:pre-line;overflow-wrap:anywhere}.ability-number{color:var(--game-value);font-weight:750}.ability-base-stats{background:var(--game-inset);padding:16px;border:1px solid #587583;margin:18px 0}.ability-base-stats .ability-text{padding:8px 0;border-bottom:1px solid #365360;margin:0}.ability-base-stats .ability-text:last-child{border:0}.ability-level-note{border-left:3px solid var(--game-gold);padding-left:14px;margin:20px 0}.ability-upgrades,.ability-modifiers{border:1px solid #6a8491;margin-top:14px;min-width:0}.ability-upgrades>summary,.ability-modifiers>summary{cursor:pointer;background:#2d4c5d;padding:15px;color:#f5d577;font-weight:800;font-size:16px}.ability-modifiers[open]{padding-bottom:12px}.ability-modifiers>h4,.ability-modifiers>.ability-text{margin:16px}.ability-upgrade-group{padding:18px 14px 4px}.ability-upgrade{border:1px solid #6b8391;border-left:4px solid #c9d8df;background:#142e3c;margin:0 0 18px;padding:14px;box-shadow:3px 3px 0 #0a2130}.ability-upgrade.tier-2{border-left-color:#48b2ee}.ability-upgrade.tier-3{border-left-color:#bb82f1}.ability-upgrade.tier-4{border-left-color:#efc452}.ability-upgrade.tier-5{border-left-color:#ff7771}.ability-upgrade-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;font-size:12px}.ability-rank{color:#f3d47f;font-weight:800}.ability-limit{color:#c7dbe4}.ability-card-extra{border-top:1px solid #526c7b;margin-top:12px;padding-top:12px}.ability-card-extra .ability-text{font-size:13px;color:#bfd7e1}.ability-repeat{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:12px 0;color:#cfe0e7;font-size:13px}.ability-repeat select{min-height:40px;min-width:64px;background:#2d4c5d;border:1px solid #78919d;color:#fff3c9;padding:6px;font:inherit}.ability-empty{background:var(--game-panel);border:2px solid var(--game-border);padding:24px;color:var(--game-text)}.ability-catalog :is(button,select,input,summary):focus-visible{outline:3px solid #73dbff;outline-offset:3px}@media(max-width:950px){.ability-reference-grid{grid-template-columns:1fr}}@media(max-width:480px){.ability-reference{padding:16px}.ability-reference-heading{gap:12px;align-items:flex-start}.ability-icon{width:64px;height:64px}.ability-reference h3{font-size:22px}.ability-upgrade-group{padding:14px 10px 0}.ability-upgrade{padding:12px}.ability-text{font-size:14px}.ability-controls .wiki-tabs button{min-height:44px}}

.ability-timing-note{background:#3b3c30;border-left:3px solid #efc452;color:#f4e2ac;font-size:13px;line-height:1.7;padding:12px 14px;margin:16px 0}

.ability-count{display:table;background:var(--game-inset);border-left:3px solid var(--game-gold);padding:8px 12px;color:var(--game-text)}

.ability-tags .ability-element{display:inline-flex;align-items:center;gap:6px;color:#fff3c9;border-color:#d4b454;font-weight:800}.ability-element img{width:24px;height:24px;object-fit:contain}

body:has(#ability-dialog[open]){overflow:hidden}#ability-dialog{width:min(900px,calc(100vw - 28px));height:min(850px,90dvh);max-height:90dvh;max-width:calc(100vw - 28px);padding:0;border:2px solid #bba464;background:#102b37;color:#e0ece7;box-shadow:0 20px 70px #000c;overflow:hidden}#ability-dialog[open]{display:flex;flex-direction:column}#ability-dialog::backdrop{background:#03121bcc;backdrop-filter:blur(3px)}.ability-dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex:none;padding:12px 18px;background:#203f4d;border-bottom:3px solid #dbb74f;color:#f3d883;font-size:18px;font-weight:700}.ability-dialog-close{width:40px;height:40px;flex:none;border:1px solid #8b9b84;background:#102b37;color:#f4db8b;font-size:22px;cursor:pointer}.ability-dialog-close:hover{background:#365a60}.ability-dialog-close:focus-visible{outline:3px solid #f3ce65;outline-offset:2px}.ability-dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#bda052 #102b37;padding:18px}.ability-dialog-body .ability-reference{margin:0;min-width:0}.ability-dialog-body .ability-reference-heading{padding-right:0}@media(max-width:600px){#ability-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:92dvh;max-height:92dvh}.ability-dialog-body{padding:9px}.ability-dialog-bar{padding:8px 12px}}

.ability-element-filters{display:flex;flex-wrap:wrap;gap:9px;padding:14px;background:#142e3ce8;border:1px solid #65818e;border-left:3px solid #d9b54f}.ability-element-filter{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;background:#2d4c5d;color:#fff3c9;border:1px solid #698993;border-bottom:3px solid #091e2b;font-weight:700;box-shadow:2px 2px 0 #081d2a;cursor:pointer}.ability-element-filter img{width:28px;height:28px;object-fit:contain}.ability-element-filter:hover{background:#3d6170;border-color:#edcf76}.ability-element-filter.active{background:#efbf33;color:#142e3c;border-color:#ffe493;border-bottom-color:#a77c19}.ability-element-filter:focus-visible{outline:3px solid #73dbff;outline-offset:3px}@media(max-width:480px){.ability-element-filters{padding:10px;gap:8px}.ability-element-filter{flex:1 1 95px;padding:8px 10px}}
