.ability-panel{display:grid;gap:12px}.ability-panel-head,.ability-loadout,.ascension-card>header,.ascension-perks>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ability-panel-head{padding:14px;border:1px solid rgba(85,199,255,.3);border-radius:12px;background:linear-gradient(135deg,rgba(85,199,255,.12),rgba(155,92,255,.08))}.ability-panel-head span,.ascension-card header span{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.12em}.ability-panel-head h2{margin:3px 0;font-size:22px}.ability-panel-head p{margin:0;color:var(--muted);font-size:12px}.ability-panel-head>b{color:var(--yellow);font-variant-numeric:tabular-nums}.ability-loadout{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.ability-loadout article{padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#171d2a}.ability-loadout small,.ability-card header em{display:block;color:var(--muted);font-size:10px;font-style:normal}.ability-loadout strong{display:block;margin-top:4px;font-size:13px}.ability-loadout button,.ability-card button,.ascension-card button,.ascension-perks button{min-height:42px}.ability-mode-note{margin:0;color:var(--muted);font-size:12px}.ability-grid,.ascension-perk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ability-card,.ascension-card,.ascension-perks{position:relative;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#131a27}.ability-card.is-equipped{border-color:rgba(115,229,138,.62);box-shadow:0 0 0 1px rgba(115,229,138,.12) inset}.ability-card header{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.ability-slot{padding:3px 6px;border:1px solid rgba(85,199,255,.35);border-radius:999px;color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase}.ability-card header>b{font-size:14px}.ability-card p{min-height:36px;margin:8px 0;color:var(--muted);font-size:12px;line-height:1.4}.ability-effect{min-height:20px;color:#b9eaff;font-size:11px}.ability-card footer{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:10px;color:var(--muted);font-size:11px}.ability-card footer>div{display:flex;gap:6px}.ability-card button{min-height:36px;padding:5px 8px;font-size:11px}.ability-lock{display:block;margin-top:5px;color:var(--yellow);font-size:10px}.ascension-card{border-color:rgba(183,146,255,.38)}.ascension-card[data-ascension-state="eligible"]{border-color:rgba(115,229,138,.55)}.ascension-card h3{margin:3px 0;font-size:18px}.ascension-card header>b{color:var(--yellow);font-size:12px}.ascension-card[data-ascension-state="eligible"] header>b{color:#73e58a}.ascension-card>p{margin:10px 0 3px;color:var(--muted);font-size:12px}.ascension-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin:8px 0 12px;padding:0;list-style:none;font-size:11px;color:var(--muted)}.ascension-card li[data-passed="true"]{color:#9cecab}.ascension-card li span{display:inline-grid;width:15px;place-items:center}.ascension-confirm{padding:10px;border:1px solid rgba(255,209,102,.42);border-radius:8px;background:rgba(255,209,102,.07)}.ascension-confirm p{margin:0 0 10px;font-size:12px;line-height:1.4}.ascension-confirm>div{display:flex;gap:8px;justify-content:flex-end}.ascension-card details{margin-top:12px;color:var(--muted);font-size:11px}.ascension-card summary{cursor:pointer;color:var(--blue);font-weight:800}.ascension-card details p{line-height:1.4}.ascension-perks>header h3{margin:0;font-size:17px}.ascension-perks>header b{color:var(--yellow);font-size:12px}.ascension-perk-grid article{padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#171d2a}.ascension-perk-grid h4{margin:0;font-size:14px}.ascension-perk-grid p{min-height:34px;margin:5px 0;color:var(--muted);font-size:11px;line-height:1.35}.ascension-perk-grid dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:8px 0}.ascension-perk-grid dl div{padding:5px;border-radius:5px;background:rgba(0,0,0,.18)}.ascension-perk-grid dt{color:var(--muted);font-size:9px}.ascension-perk-grid dd{margin:3px 0 0;font-size:11px}.ascension-perk-grid button{width:100%;min-height:36px;font-size:11px}.ability-hud{position:absolute;z-index:8;right:10px;bottom:10px;display:flex;align-items:center;gap:8px;max-width:calc(100% - 20px);padding:7px 8px;border:1px solid rgba(85,199,255,.7);border-radius:8px;background:rgba(5,7,13,.88);box-shadow:0 0 14px rgba(85,199,255,.18)}.ability-hud.hidden{display:none}.ability-hud span{display:grid;gap:2px;min-width:0}.ability-hud b{font-size:11px;text-transform:capitalize}.ability-hud small{color:var(--blue);font-size:10px;font-variant-numeric:tabular-nums}.ability-hud button{min-height:38px;padding:5px 8px;font-size:11px}.ability-hud kbd{padding:1px 3px;border:1px solid rgba(255,255,255,.25);border-radius:3px;font:inherit}
@media(max-width:860px){.ability-panel-head{align-items:flex-start}.ability-panel-head h2{font-size:18px}.ability-panel-head>b{font-size:11px}.ability-loadout{grid-template-columns:1fr 1fr}.ability-loadout button{grid-column:1/-1}.ability-grid,.ascension-perk-grid{grid-template-columns:1fr}.ascension-card ul{grid-template-columns:1fr}.ability-hud{right:max(8px,env(safe-area-inset-right));bottom:8px}.ability-hud button{min-width:76px}.ability-card footer{align-items:flex-start;flex-direction:column}.ability-card footer>div{width:100%}.ability-card footer button{flex:1}}
@media(max-height:460px) and (orientation:landscape){.ability-hud{bottom:4px;padding:4px 6px}.ability-hud button{min-height:32px}.ability-hud small{display:none}}
body.low-fx .ability-hud{box-shadow:none}@media(prefers-reduced-motion:reduce){.ability-card,.ability-hud{transition:none!important}}
/* Phones use the canonical bottom Ability control; Q stays on desktop. */
@media (max-width:860px), (pointer:coarse) { #abilityHud { display:none; } }
.ability-panel{container-type:inline-size}.ability-card,.ability-card header,.ability-card footer,.ability-card footer>div{min-width:0}.ability-card header>b,.ability-card header em{overflow-wrap:anywhere}.ability-card footer button{min-width:0;white-space:normal}@container (max-width:360px){.ability-grid,.ascension-perk-grid{grid-template-columns:1fr}}
.ability-panel-head>div:last-child{display:flex;align-items:center;gap:8px}.ability-panel-head>div:last-child button{width:40px;min-height:40px;padding:0;font-size:21px}
