.alpha-tools { display:flex; gap:10px; padding:12px 20px; flex-wrap:wrap; border-bottom:1px solid var(--iron-700); }
.alpha-tools button { min-height:44px; padding:10px 16px; background:var(--blue-800); color:var(--ink); border:1px solid var(--muted); border-radius:6px; font:600 max(var(--desktop-text-min, 0px), calc(14px * var(--desktop-text-scale, 1))) Barlow,sans-serif; cursor:pointer; }
.ascension-dialog { width:min(1000px, calc(100vw - 24px)); }
.ascension-nav { display:flex; flex-wrap:wrap; gap:8px; padding:12px 0; border-bottom:1px solid var(--iron-700); }
.ascension-surface button[aria-pressed=true] { background:var(--gold-300); color:var(--blue-950); border-color:var(--gold-300); }
.ascension-surface button:disabled { opacity:.55; cursor:default; }
.ascension-branches { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ascension-branches ol { list-style:none; margin:0; padding:0; }
.ascension-branches li { padding:20px 0; border-top:1px solid var(--iron-700); }
.ascension-branches li p { min-height:3.2em; }
.ascension-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ascension-options button { text-align:left; display:flex; flex-direction:column; gap:8px; }
.ascension-options span { font-weight:500; font-size:max(var(--desktop-text-min, 0px), calc(14px * var(--desktop-text-scale, 1))); line-height:1.5; }
.ascension-spell h3 { display:flex; align-items:center; gap:10px; }
.ascension-spell h3 > span { width:36px; height:36px; flex-shrink:0; }
.ascension-relics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; }
#ascensionRelicStatus { display:flex; gap:12px; flex-wrap:wrap; font-size:max(var(--desktop-text-min, 0px), calc(13px * var(--desktop-text-scale, 1))); color:var(--muted); margin:0; }
#ascensionRelicStatus:empty { display:none; }
.ascension-battle-status { margin:4px 8px; color:var(--muted); font-size:max(var(--desktop-text-min, 0px), calc(12px * var(--desktop-text-scale, 1))); line-height:1.5; }
.ascension-battle-status:empty { display:none; }
.ascension-gate { color:var(--muted); font-size:max(var(--desktop-text-min, 0px), calc(13px * var(--desktop-text-scale, 1))); min-height:0 !important; }
.ascension-branches li[data-learned=true] h4, .ascension-capstone h4 { color:var(--gold-300); }
.ascension-actions { display:flex; flex-wrap:wrap; gap:8px; }
.ascension-relics section { padding:12px 0 20px; border-bottom:1px solid var(--iron-700); }
.ascension-vault { margin:24px 0; }
.ascension-vault-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ascension-vault-choices button { display:flex; flex-direction:column; gap:10px; text-align:left; }
.ascension-vault-choices span { font-weight:500; line-height:1.5; }
.ascension-journey { list-style:none; padding:0; }
.ascension-journey li { display:grid; grid-template-columns:minmax(180px,1fr) 2fr auto; gap:16px; padding:20px 0; border-bottom:1px solid var(--iron-700); }
.ascension-journey li[data-complete=true] > strong { color:var(--gold-300); }
#ascensionContent:focus { outline:2px solid var(--gold-300); outline-offset:4px; }
@media(max-width:640px) {
 .ascension-branches, .ascension-options, .ascension-relics { grid-template-columns:1fr; }
 .ascension-branches li p { min-height:0; }
 .alpha-tools { padding:10px 12px; }
 .ascension-nav button { flex:1 1 auto; }
 .ascension-vault-choices, .ascension-journey li { grid-template-columns:1fr; }
 .ascension-journey li { gap:8px; }
}

/* Spell artwork remains shared with the loadout and spell tree. */
.ascension-options .ascension-mod-heading {display:flex;align-items:center;gap:12px;width:100%;}
.ascension-options .ascension-mod-heading strong {font-size:max(var(--desktop-text-min, 0px), calc(15px * var(--desktop-text-scale, 1)));line-height:1.35;}
.ascension-options .ascension-mod-icon {position:relative;display:block;width:48px;height:48px;flex:0 0 48px;margin:0 4px 4px 0;}
.ascension-mod-icon > span:first-child {display:block;width:48px;height:48px;}
.ascension-options .ascension-mod-badge {position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--gold-300);border-radius:6px;background:var(--blue-950);color:var(--gold-300);}
.ascension-mod-badge svg {width:18px;height:18px;}

/* Passive skills sit on the ground below the captain's stairs. */
.battlefield-frame > .ascension-battle-status { position:absolute; z-index:6; left:50%; bottom:calc(var(--wall-status-height) + var(--battle-bottom-inset) + 5px); transform:translateX(-50%); display:flex; justify-content:center; flex-wrap:wrap; gap:5px; width:max-content; max-width:90%; margin:0; pointer-events:none; }
.battlefield-frame > .ascension-battle-status:empty { display:none; }
.passive-cooldown { position:relative; display:block; width:34px; height:34px; border:1px solid #b7a877; border-radius:50%; overflow:hidden; background:#091321; box-shadow:0 1px 3px #000; }
.passive-cooldown .spell-art { display:block; width:100%; height:100%; border-radius:50%; opacity:.8; }
.passive-cooldown strong { position:absolute; inset:auto 0 0; text-align:center; color:#fff3ca; font:700 max(var(--desktop-text-min, 0px), calc(11px * var(--desktop-text-scale, 1)))/calc(16px * var(--desktop-text-scale, 1)) system-ui; background:#07111dcc; text-shadow:0 1px 2px #000; }
