/* ===== Temas de perfil ===== */
.profile-page,.theme-brasa{--acc:#ff7a2f;--acc2:#ffc04d;--accg:#ff7a2f55}
.theme-glaciar{--acc:#3fc8ff;--acc2:#c2f3ff;--accg:#3fc8ff55}
.theme-sangre{--acc:#ff2f4a;--acc2:#ffa3b0;--accg:#ff2f4a55}
.theme-veneno{--acc:#2fe38a;--acc2:#d2ff6b;--accg:#2fe38a55}
.theme-realeza{--acc:#a970ff;--acc2:#ffd36b;--accg:#a970ff55}
.theme-sakura{--acc:#ff6fb3;--acc2:#ffd6ea;--accg:#ff6fb355}

/* ===== Portada ===== */
.profile-page{position:relative;isolation:isolate}
.profile-hero{position:relative;min-height:400px;border-radius:18px;overflow:hidden;isolation:isolate;display:flex;align-items:flex-end;border:1px solid color-mix(in srgb,var(--acc) 35%,var(--line));box-shadow:0 40px 90px -50px var(--acc)}
.profile-hero .profile-banner{position:absolute;inset:0;height:auto;border-radius:0;background:none;z-index:-3}
.profile-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#0d0c10 0%,#0d0c10d9 30%,#0d0c1040 65%,transparent 85%),linear-gradient(90deg,#0d0c10b3,transparent 55%)}
.profile-hero-content{width:100%;display:flex;align-items:flex-end;gap:28px;padding:130px 34px 30px;flex-wrap:wrap}
.profile-avatar-wrap .arena-avatar{--av-size:176px}
.profile-headline{flex:1;min-width:240px}
.profile-name{font-size:clamp(42px,5vw,68px);line-height:.95;margin:12px 0 6px;background:linear-gradient(90deg,#fff 0%,var(--acc2) 55%,var(--acc) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 20px var(--accg));overflow-wrap:anywhere}
.profile-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:12px;color:#d6cfd9;margin-top:12px}
.ff-tag{color:var(--acc2);border:1px solid color-mix(in srgb,var(--acc) 50%,transparent);padding:2px 9px;border-radius:4px;font-size:10px;letter-spacing:1px;background:#0d0c1099}
.profile-cta{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.profile-hero .title-badge .title-text{background-image:linear-gradient(100deg,var(--t2) 0%,var(--t1) 42%,#fff 50%,var(--t1) 58%,var(--t2) 100%);background-size:250% 100%}
.respect-box{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:180px;padding:14px 18px;border-radius:14px;background:#0d0c10b8;backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--acc) 40%,transparent)}
.respect-count{font:700 42px/1 Rajdhani,Arial,sans-serif;color:var(--acc2);text-shadow:0 0 22px var(--acc)}
.respect-box small{font-size:9px;letter-spacing:3px}
.respect-hint{font-size:11px;color:var(--muted)}
.respect-button{background:linear-gradient(90deg,var(--acc),var(--acc2));border-color:transparent;color:#1a0f08;box-shadow:0 0 22px var(--accg)}
.respect-button:hover{background:linear-gradient(90deg,var(--acc2),var(--acc));color:#1a0f08}

/* ===== Columnas ===== */
.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.profile-col{display:flex;flex-direction:column;gap:22px;min-width:0}
.glow-card{border-color:color-mix(in srgb,var(--acc) 22%,var(--line));background:radial-gradient(ellipse 80% 60% at 100% 0%,color-mix(in srgb,var(--acc) 11%,transparent),transparent 70%),var(--panel)}
.profile-page .stat{border-color:color-mix(in srgb,var(--acc) 16%,var(--line))}
.profile-page .stat strong{color:#fff}
.stat-grid.compact{flex:1;grid-template-columns:repeat(2,1fr);margin-top:0;min-width:200px}

/* ===== Rango ===== */
.tier-bronce{--tc:#cd7f4a;--tc2:#f3b98b}.tier-plata{--tc:#aab3bf;--tc2:#ffffff}.tier-oro{--tc:#f5b829;--tc2:#fff2a8}
.tier-platino{--tc:#38d6c2;--tc2:#d6fff9}.tier-diamante{--tc:#4fa3ff;--tc2:#e2f1ff}.tier-maestro{--tc:#b45cff;--tc2:#f0d4ff}.tier-leyenda{--tc:#ff3d5e;--tc2:#ffd36b}
.tier-chip{display:inline-flex;align-items:center;gap:8px;font:700 10px Noto,Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--tc2);background:color-mix(in srgb,var(--tc) 20%,#0d0c10cc);border:1px solid color-mix(in srgb,var(--tc) 60%,transparent);padding:5px 12px;border-radius:999px}
.tier-gem{width:9px;height:9px;transform:rotate(45deg);background:linear-gradient(135deg,var(--tc2),var(--tc));box-shadow:0 0 10px var(--tc)}
.rank-block{display:flex;gap:22px;align-items:center}
.rank-emblem{position:relative;width:100px;height:114px;flex-shrink:0;display:grid;place-items:center;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,var(--tc2),var(--tc) 55%,#1a1418)}
.rank-emblem:before{content:"";position:absolute;inset:6px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--tc) 35%,#1c1820),#0e0c11 75%)}
.rank-emblem:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,#ffffff66 50%,transparent 60%);background-size:260% 100%;animation:titleShine 3.4s ease-in-out infinite}
.rank-emblem span{position:relative;font:700 48px/1 Rajdhani,Arial,sans-serif;background:linear-gradient(180deg,var(--tc2),var(--tc));-webkit-background-clip:text;background-clip:text;color:transparent}
.rank-info{flex:1;min-width:0}
.rank-info strong{display:block;font:700 32px/1 Rajdhani,Arial,sans-serif;color:var(--tc2);text-shadow:0 0 18px color-mix(in srgb,var(--tc) 60%,transparent)}
.rank-info small{display:block;margin-top:6px}
.rank-bar{height:9px;margin-top:12px;border-radius:99px;background:#ffffff10;overflow:hidden}
.rank-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--tc),var(--tc2));box-shadow:0 0 14px var(--tc);animation:barIn 1.4s ease-out both}

/* ===== Rendimiento ===== */
.perf-block{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.winrate-ring{position:relative;width:146px;height:146px;flex-shrink:0}
.winrate-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring-bg{fill:none;stroke:#ffffff10;stroke-width:10}
.ring-fg{fill:none;stroke:var(--acc);stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--acc));animation:ringIn 1.5s ease-out both}
.winrate-ring>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.winrate-ring strong{font:700 36px/1 Rajdhani,Arial,sans-serif;color:#fff}
.winrate-ring small{font-size:9px;letter-spacing:2px}
.streak-line{margin-top:18px;padding:12px 16px;border-radius:10px;background:#111115;border:1px solid var(--line);font-size:13px;display:flex;align-items:center;gap:10px;color:var(--muted)}
.streak-line strong{font:700 26px/1 Rajdhani,Arial,sans-serif;color:#fff}
.streak-flame{display:inline-block;filter:grayscale(1);opacity:.45}
.streak-line.on-fire{border-color:#ff7a2f88;background:linear-gradient(90deg,#ff5a1f2e,#111115);color:#ffd2b0}
.streak-line.on-fire .streak-flame{filter:none;opacity:1;animation:flame .9s ease-in-out infinite alternate}
.form-strip{margin-top:16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.form-strip>small{letter-spacing:2px;font-size:9px}
.form-strip>div{display:flex;gap:6px;flex-wrap:wrap}
.form-pill{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font:700 14px Rajdhani,Arial,sans-serif}
.form-pill.win{background:#16331f;color:#7dffb0;border:1px solid #2f6b47}
.form-pill.loss{background:#3a1820;color:#ff8a9a;border:1px solid #6b2f38}

/* ===== Insignias ===== */
.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ach{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:15px 8px;border-radius:12px;background:#111115;border:1px solid var(--line);transition:transform .2s}
.ach:hover{transform:translateY(-3px)}
.ach-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:22px;color:#fff;background:radial-gradient(circle at 35% 30%,var(--acc2),var(--acc) 60%,#2a120a);box-shadow:0 0 18px var(--accg)}
.ach strong{font-size:12px}
.ach small{font-size:9.5px;line-height:1.3}
.ach.unlocked{border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.ach.unlocked .ach-icon{animation:achPulse 3s ease-in-out infinite}
.ach.locked{opacity:.42}
.ach.locked .ach-icon{background:#24222a;box-shadow:none;filter:grayscale(1)}

/* ===== Selector de color ===== */
.theme-picker{border:0;padding:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:12px}
.theme-picker legend{font-size:12px;color:#d5d0db;margin-bottom:10px;padding:0}
.swatch{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font-size:11px}
.swatch input{position:absolute;opacity:0;pointer-events:none}
.swatch i{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--acc2),var(--acc));border:3px solid #1a191e;box-shadow:0 0 0 1px #3a3642;transition:transform .2s,box-shadow .2s}
.swatch input:checked+i{box-shadow:0 0 0 2px var(--acc),0 0 20px var(--acc);transform:scale(1.12)}
.swatch input:focus-visible+i{outline:2px solid var(--gold);outline-offset:3px}

/* ===== Banners ===== */
.bnr{position:absolute;inset:0;overflow:hidden;z-index:0}
.bnr i{position:absolute;inset:0}
.bnr-default{background:radial-gradient(ellipse at 80% 20%,#523329,transparent 60%),linear-gradient(120deg,#201c23,#141317)}
.bnr-phoenix{background:url("../images/phoenix.png") 65% 45%/cover}
.bnr-nebula{background:radial-gradient(ellipse at 70% 20%,#785ec0,transparent 48%),radial-gradient(ellipse at 20% 80%,#26617d,transparent 60%),#171226}
.bnr-nebula .bnr-a,.bnr-aurora .bnr-c{background-image:radial-gradient(1.5px 1.5px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 80px 90px,#fff,transparent),radial-gradient(1.5px 1.5px at 140px 40px,#cfe3ff,transparent),radial-gradient(1px 1px at 170px 120px,#fff,transparent),radial-gradient(1px 1px at 50px 130px,#e6d6ff,transparent);background-size:190px 150px;animation:twinkle 4s ease-in-out infinite}

.bnr-tormenta{background:radial-gradient(ellipse 60% 70% at 72% 45%,#ff5a1f66,transparent 70%),radial-gradient(ellipse 50% 60% at 20% 30%,#c2260f44,transparent 70%),linear-gradient(180deg,#1a0805,#3a1006)}
.bnr-tormenta .bnr-a,.bnr-tormenta .bnr-b,.pfx-efecto-brasas i{--tw:240px;--tile:220px;background-image:radial-gradient(3.5px 3.5px at 20px 40px,#ffd27a 30%,transparent 70%),radial-gradient(2.5px 2.5px at 90px 120px,#ff7a2f 30%,transparent 70%),radial-gradient(4px 4px at 160px 70px,#ffe6a8 30%,transparent 70%),radial-gradient(2.5px 2.5px at 60px 170px,#ff5a1f 30%,transparent 70%),radial-gradient(3px 3px at 205px 190px,#ffb35c 30%,transparent 70%);background-size:var(--tw) var(--tile);animation:fxUp 7s linear infinite;filter:drop-shadow(0 0 4px #ff7a2f) drop-shadow(0 0 2px #ffd27a)}
.bnr-tormenta .bnr-b,.pfx-efecto-brasas .pfx-b{--tw:340px;--tile:300px;animation-duration:12s;opacity:.7}
.bnr-tormenta .bnr-c{background:radial-gradient(ellipse 70% 50% at 70% 45%,#ff7a2f30,transparent 70%);animation:fxPulse 3.2s ease-in-out infinite}

.bnr-aurora{background:radial-gradient(ellipse at 50% 125%,#0f3a48,transparent 60%),linear-gradient(180deg,#030713,#0a1832)}
.bnr-aurora .bnr-a,.bnr-aurora .bnr-b{inset:-35% -25%;background:linear-gradient(100deg,transparent 15%,#2bffb070 30%,#2fd4ff60 44%,transparent 55%,#a46bff60 70%,transparent 85%);filter:blur(26px);animation:aurora 9s ease-in-out infinite alternate}
.bnr-aurora .bnr-b{background:linear-gradient(78deg,transparent 25%,#7dffcf50 40%,transparent 52%,#5ab8ff50 66%,transparent 80%);filter:blur(20px);animation-duration:13s;animation-direction:alternate-reverse}

.bnr-neon{background:radial-gradient(ellipse 40% 45% at 50% 55%,#ff3d9a66,transparent 70%),linear-gradient(180deg,#07021a 0%,#2a0845 42%,#c2186b 61%,#0b0420 61.5%,#0b0420 100%)}
.bnr-neon .bnr-a{inset:auto;left:50%;bottom:38.5%;height:44%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:linear-gradient(180deg,#ffe36b,#ff7a3d 50%,#ff3d9a);-webkit-mask:repeating-linear-gradient(180deg,#000 0 9px,transparent 9px 12px);mask:repeating-linear-gradient(180deg,#000 0 9px,transparent 9px 12px)}
.bnr-neon .bnr-b{inset:auto -60% 0 -60%;top:61.5%;background:repeating-linear-gradient(90deg,#ff3d9acc 0 2px,transparent 2px 56px),repeating-linear-gradient(180deg,#ff3d9acc 0 2px,transparent 2px 28px);transform:perspective(140px) rotateX(58deg);transform-origin:top center;animation:neonGrid 1.1s linear infinite}
.bnr-neon .bnr-c{inset:auto 0;top:61.2%;height:2px;background:#ff9fd6;box-shadow:0 0 18px 5px #ff3d9a}

/* ===== Efectos de perfil ===== */
.pfx{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.pfx i{position:absolute;inset:0}
.pfx-efecto-nieve i{--tw:260px;--tile:260px;background-image:radial-gradient(2.5px 2.5px at 30px 40px,#fff,transparent),radial-gradient(2px 2px at 120px 150px,#e6f6ff,transparent),radial-gradient(3px 3px at 200px 80px,#fff,transparent),radial-gradient(1.5px 1.5px at 70px 220px,#dff2ff,transparent);background-size:var(--tw) var(--tile);animation:fxDown 10s linear infinite;opacity:.85}
.pfx-efecto-nieve .pfx-b{--tw:380px;--tile:380px;--dx:380px;animation-duration:16s;opacity:.55}
.pfx-efecto-petalos i{--tw:300px;--tile:300px;--dx:300px;background-image:radial-gradient(10px 6px at 40px 50px,#ffb3d1 40%,transparent 70%),radial-gradient(8px 5px at 170px 140px,#ff8fc0 40%,transparent 70%),radial-gradient(10px 6px at 250px 240px,#ffd1e4 40%,transparent 70%),radial-gradient(7px 4px at 100px 260px,#ff9cc8 40%,transparent 70%),radial-gradient(6px 9px at 215px 30px,#ffc2dc 40%,transparent 70%),radial-gradient(5px 8px at 20px 180px,#ff8fc0 40%,transparent 70%);background-size:var(--tw) var(--tile);animation:fxDown 12s linear infinite;filter:drop-shadow(0 0 3px #ff6fb380)}
.pfx-efecto-petalos .pfx-b{--tw:420px;--tile:420px;--dx:-420px;animation-duration:18s;opacity:.6}
.pfx-efecto-rayos .pfx-a{background:radial-gradient(ellipse at 72% 0%,#cfe9ff,transparent 60%);opacity:0;animation:flash 7s linear infinite}
.pfx-efecto-rayos .pfx-b{inset:auto;left:68%;top:0;width:70px;height:340px;max-height:60%;background:linear-gradient(#fff,#8fd3ff);clip-path:polygon(42% 0,72% 0,54% 38%,78% 38%,26% 100%,44% 54%,20% 54%);opacity:0;animation:flash 7s linear infinite}

/* Vistas previas en tienda e inventario */
.effect-stage{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#2a1f2a,#0e0d11)}
.effect-stage .pfx{z-index:2}
.item-art .frame-live{z-index:4}
.inv-art{position:relative;height:120px;border-radius:10px;overflow:hidden;margin-bottom:14px;background:#111115}
.inv-art .title-plate{position:absolute;inset:0;gap:4px}
.inv-art.effect-stage{position:relative;inset:auto}
.inv-equipped{border-color:#ff7a2f88;box-shadow:0 0 0 1px #ff7a2f40,0 0 30px -10px #ff7a2f}

@keyframes fxUp{from{background-position:0 0}to{background-position:var(--dx,0px) calc(-1 * var(--tile))}}
@keyframes fxDown{from{background-position:0 0}to{background-position:var(--dx,0px) var(--tile)}}
@keyframes fxPulse{50%{opacity:.45}}
@keyframes twinkle{50%{opacity:.35}}
@keyframes aurora{0%{transform:translateX(-8%) skewY(-4deg)}50%{transform:translateX(4%) skewY(3deg) scaleY(1.15)}100%{transform:translateX(10%) skewY(-2deg) scaleY(.95)}}
@keyframes neonGrid{to{background-position:0 28px}}
@keyframes flash{0%,86%{opacity:0}87%{opacity:.75}88%{opacity:.1}89.5%{opacity:.6}92%,100%{opacity:0}}
@keyframes ringIn{from{stroke-dasharray:0 326.73}}
@keyframes barIn{from{width:0}}
@keyframes flame{from{transform:scale(1) rotate(-6deg)}to{transform:scale(1.25) rotate(6deg)}}
@keyframes achPulse{50%{box-shadow:0 0 30px var(--acc)}}

body.frames-paused .bnr i,body.frames-paused .pfx i,body.frames-paused .rank-emblem:after,body.frames-paused .ach-icon,body.frames-paused .streak-flame{animation-play-state:paused}

@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-cta{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.profile-hero{min-height:0}.profile-hero-content{padding:100px 18px 20px;gap:16px}.profile-avatar-wrap .arena-avatar{--av-size:122px}.profile-name{font-size:38px}.respect-box{min-width:0;flex:1}.rank-emblem{width:80px;height:92px}.rank-emblem span{font-size:38px}}
@media(prefers-reduced-motion:reduce){.bnr i,.pfx i{animation:none!important}}
