/* ASCENSION — profil de jucator (bridge read-only catre pluginul ascension_*).
   Panoul de progres: inel de nivel, bara de XP, statistici de lupta si titluri deblocate.
   Culorile vin din tokens-ul temei (app.css/brand.css/themes.css), iar accentul panoului
   este culoarea rangului din pack, primita inline ca --ascension-color. */

.ascension-panel{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 42%),var(--surface)}
.ascension-panel::before{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--ascension-color,#e0c46b),transparent);opacity:.65;pointer-events:none}
.ascension-panel .section-head{margin-bottom:22px}
.ascension-panel .section-head .tag{border-color:var(--ascension-color,#394150);color:var(--text)}

/* Hero: pastila de rang + nivel de langa numele jucatorului. */
.ascension-level-badge{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:5px 12px;border:1px solid rgba(224,196,107,.38);border-radius:999px;background:linear-gradient(180deg,rgba(224,196,107,.14),rgba(224,196,107,.04));color:var(--text);font:500 12.5px/1.2 var(--sans);letter-spacing:.02em}
.ascension-level-badge b{font:700 12.5px/1 var(--mono);color:var(--accent)}
.ascension-stars{color:var(--accent);letter-spacing:2px;font-size:12px}

/* Coloana din tabelul /jucatori. */
.ascension-lvl{display:inline-block;padding:3px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--text);font:600 12px/1.4 var(--mono);white-space:nowrap}
.ascension-lvl.none{background:transparent;border-color:transparent;color:var(--muted);font-weight:400}

.ascension-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:30px;align-items:center}

/* Inelul de nivel: conic-gradient din --ascension-progress (0-100) si --ascension-color. */
.ascension-level-ring{--ascension-track:rgba(255,255,255,.07);position:relative;width:172px;height:172px;flex:0 0 auto;border-radius:50%;background:conic-gradient(from -90deg,var(--ascension-color,#e0c46b) calc(var(--ascension-progress,0)*1%),var(--ascension-track) 0);display:grid;place-items:center;box-shadow:0 0 0 1px var(--border),0 26px 46px -30px var(--ascension-color,#e0c46b)}
.ascension-level-ring::before{content:'';position:absolute;inset:9px;border-radius:50%;border:1px solid var(--border);background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.06),rgba(255,255,255,0) 58%),var(--surface)}
.ascension-level-ring>div{position:relative;z-index:1;display:grid;gap:3px;place-items:center;text-align:center}
.ascension-level-ring small{font:10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ascension-level-ring strong{font:800 40px/1 var(--heading);color:var(--text);text-shadow:0 10px 24px rgba(0,0,0,.35)}
.ascension-level-ring .ascension-stars{font-size:13px}

.ascension-xp-line{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;font:12px/1.4 var(--mono);color:var(--muted)}
.ascension-xp-line span:first-child{color:var(--text)}
.ascension-xpbar{position:relative;height:10px;margin:10px 0 4px;border:1px solid var(--border);border-radius:999px;background:rgba(0,0,0,.28);overflow:hidden}
.ascension-xpbar i{display:block;height:100%;border-radius:inherit;background-color:var(--ascension-color,#e0c46b);background-image:linear-gradient(90deg,rgba(255,255,255,.32),rgba(255,255,255,0));box-shadow:0 0 14px -2px var(--ascension-color,#e0c46b);transition:width .5s ease}

.ascension-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;margin-top:20px}
.ascension-stats>div{min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background-color:var(--surface2);background-image:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,0))}
.ascension-stats small{display:block;margin-bottom:7px;font:10px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ascension-stats b{font:700 21px/1 var(--heading);color:var(--text)}

.ascension-titles{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:16px;border-top:1px dashed var(--border)}
.ascension-title-chip{padding:5px 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface2);color:var(--muted);font:12px/1.4 var(--sans)}
.ascension-title-chip.selected{border-color:var(--ascension-color,#e0c46b);background-color:var(--surface);color:var(--text);font-weight:600;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}

@media(max-width:860px){
    .ascension-grid{grid-template-columns:1fr;gap:24px;justify-items:center;text-align:left}
    .ascension-grid>div:last-child{width:100%}
    .ascension-level-ring{width:148px;height:148px}
    .ascension-level-ring strong{font-size:34px}
}

@media(prefers-reduced-motion:reduce){
    .ascension-xpbar i{transition:none}
}
