/* Salón de la Fama v0.198 */
.league-hall-host{position:fixed;inset:0;z-index:10020;overflow:auto;color:#eaf0ff;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:#070d1a;animation:lhIn .5s ease both}
@keyframes lhIn{from{opacity:0}to{opacity:1}}
.lh-sky{position:fixed;inset:0;pointer-events:none;background:radial-gradient(1200px 700px at 50% -10%,#1d3a63 0%,transparent 60%),radial-gradient(900px 600px at 85% 110%,#3a2358 0%,transparent 60%),linear-gradient(180deg,#0a1426,#0b1020);}
.lh-sky::before,.lh-sky::after{content:"";position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff9 50%,transparent 51%),radial-gradient(1px 1px at 28% 62%,#fff8 50%,transparent 51%),radial-gradient(1.5px 1.5px at 44% 30%,#ffe7a8aa 50%,transparent 51%),radial-gradient(1px 1px at 63% 12%,#fff9 50%,transparent 51%),radial-gradient(1.5px 1.5px at 78% 48%,#cfe2ffaa 50%,transparent 51%),radial-gradient(1px 1px at 90% 22%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 8% 80%,#fff8 50%,transparent 51%),radial-gradient(1.5px 1.5px at 55% 85%,#ffe7a8aa 50%,transparent 51%),radial-gradient(1px 1px at 95% 78%,#fff8 50%,transparent 51%);animation:lhTw 5s ease-in-out infinite}
.lh-sky::after{transform:translate(23px,31px) scale(1.15);animation-delay:-2.5s;opacity:.7}
@keyframes lhTw{0%,100%{opacity:.35}50%{opacity:1}}
.lh-sky::before,.lh-sky::after{will-change:opacity}
.lh-rays{position:fixed;inset:0;overflow:hidden;pointer-events:none;mask-image:radial-gradient(circle at 50% 30%,#000 0,transparent 60%);-webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0,transparent 60%)}
.lh-rays::before{content:"";position:absolute;left:50%;top:-60%;width:130vmax;height:130vmax;margin-left:-65vmax;will-change:transform;background:conic-gradient(from 0deg,transparent 0 8%,#f2c96b14 10%,transparent 13% 30%,#6fd3c812 33%,transparent 36% 55%,#f2c96b12 58%,transparent 61% 80%,#a08cff10 83%,transparent 86%);animation:lhSpin 120s linear infinite}
@keyframes lhSpin{to{transform:rotate(360deg)}}
.lh-stage{position:relative;min-height:100%;display:flex;align-items:center;justify-content:center;padding:28px 18px}
.lh-panel{width:min(1180px,100%);padding:26px clamp(14px,3vw,34px) 28px;border-radius:22px;text-align:center;background:linear-gradient(180deg,#1a2744f2,#10192fee);border:1px solid #ffffff26;box-shadow:0 30px 80px #000a,inset 0 1px 0 #ffffff30;animation:lhPop .55s cubic-bezier(.2,.9,.3,1.1) both}
@keyframes lhPop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.lh-title{margin-bottom:14px}
.lh-crest{width:46px;height:46px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#2b1d00;background:radial-gradient(circle at 35% 30%,#fff3bd,#f2c96b 55%,#b98a28);box-shadow:0 0 0 4px #f2c96b33,0 0 30px #f2c96b88;animation:lhPulse 3s ease-in-out infinite}
@keyframes lhPulse{50%{transform:scale(1.07)}}
.lh-panel h1{font-family:'Jersey 10',monospace;font-weight:400;font-size:clamp(34px,5vw,54px);letter-spacing:.06em;line-height:1;margin:0;background:linear-gradient(180deg,#fff4c6,#f2c96b 60%,#d39b36);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 26px #f2c96b40}
.lh-subtitle{margin:8px 0 0;color:#a9bbdc;font-size:15px;letter-spacing:.04em}
.lh-facts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0 4px}
.lh-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;line-height:1.5;color:#fff;background:color-mix(in srgb,var(--c,#6b7a99) 78%,#000);border:1px solid color-mix(in srgb,var(--c,#6b7a99) 60%,#fff)}
.lh-fact{--c:#4c6591;font-size:13px;padding:4px 12px}
.lh-roster{display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px;align-items:center;margin:18px 0 10px}
.lh-trainer{position:relative;text-align:center;padding-top:6px}
.lh-glow{position:absolute;left:50%;top:38%;width:240px;height:240px;margin:-120px 0 0 -120px;border-radius:50%;background:radial-gradient(circle,#f2c96b66,transparent 68%);filter:blur(6px);animation:lhPulse 4s ease-in-out infinite}
.lh-portrait{position:relative;width:190px;height:300px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 10px 14px #000a)}
.lh-base{height:14px;margin:-8px auto 0;width:170px;border-radius:50%;background:radial-gradient(ellipse,#0009,transparent 70%)}
.lh-plate{position:relative;margin:6px auto 0;max-width:210px;padding:8px 12px 10px;border-radius:10px;background:linear-gradient(180deg,#3b3220,#231c10);border:1px solid #f2c96b88;box-shadow:inset 0 0 0 2px #0006,0 6px 16px #0008}
.lh-plate-rank{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#f2c96b}
.lh-plate strong{display:block;font-family:'Jersey 10',monospace;font-weight:400;font-size:30px;line-height:1.1;color:#fff0c4;overflow-wrap:anywhere}
.lh-small .lh-portrait{width:130px;height:200px}.lh-small .lh-glow{width:170px;height:170px;margin:-85px 0 0 -85px}.lh-small .lh-plate strong{font-size:24px}.lh-small .lh-base{width:120px}
.lh-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lh-card{position:relative;perspective:1100px;min-width:0;outline:none;cursor:pointer;transition:opacity .5s,transform .5s cubic-bezier(.2,.9,.3,1.15)}
.lh-waiting{opacity:0;transform:translateY(24px) scale(.92)}
.lh-card-in{position:relative;display:grid;height:100%;transition:transform .6s cubic-bezier(.3,.8,.3,1);transform-style:preserve-3d}
.lh-flip .lh-card-in{transform:rotateY(180deg)}
.lh-face{grid-area:1/1;padding:12px 10px 14px;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;gap:7px;background:linear-gradient(180deg,color-mix(in srgb,var(--t1) 38%,#101a30),#0e1628 62%);border:1px solid color-mix(in srgb,var(--t1) 55%,#ffffff40);box-shadow:0 10px 24px #0007,inset 0 1px 0 #ffffff26;overflow:hidden}
.lh-front::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 22%,color-mix(in srgb,var(--t2) 45%,transparent),transparent 58%);pointer-events:none}
.lh-card:hover .lh-face,.lh-card:focus-visible .lh-face{border-color:#f2c96b}
.lh-front{position:relative}.lh-back{transform:rotateY(180deg);justify-content:center;gap:9px}
.lh-spot{position:relative;width:100%;height:120px;display:grid;place-items:center}
.lh-mon{position:relative;max-width:100%;max-height:116px;object-fit:contain;image-rendering:pixelated;animation:lhBob 3.4s ease-in-out infinite}
.lh-spot::after{content:"";position:absolute;left:50%;bottom:2px;width:70px;height:12px;margin-left:-35px;border-radius:50%;background:radial-gradient(ellipse,#000a,transparent 70%)}
@keyframes lhBob{50%{transform:translateY(-4px)}}
.lh-star{position:absolute;right:14px;top:4px;font-size:22px;color:#ffe27a;text-shadow:0 0 12px #ffd24a;animation:lhPulse 1.6s ease-in-out infinite}
.lh-card-head{position:relative;display:block;width:100%}.lh-title{display:block}
.lh-card h3{font-family:'Jersey 10',monospace;font-weight:400;font-size:28px;line-height:1;margin:0;color:#fff2c8;overflow-wrap:anywhere}
.lh-card-head p{margin:3px 0 0;font-size:13px;color:#b9c8e6}
.lh-tags{position:relative;display:flex;gap:5px;justify-content:center;flex-wrap:wrap}
.lh-type{text-transform:capitalize;font-size:11px;letter-spacing:.04em}
.lh-info{position:relative;list-style:none;margin:0;padding:0;font-size:12px;color:#d3def5;line-height:1.5}
.lh-moves{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:5px;width:100%;margin-top:auto}
.lh-move{display:block;font-size:12px;text-align:center;border-radius:7px;padding:3px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lh-memory{position:relative;font-size:11px;color:#f1b8c4}
.lh-fell .lh-mon{filter:grayscale(1) brightness(.75);animation:none}
.lh-fell .lh-face{border-color:#a05a6a99}
.lh-fell .lh-front::after{content:"EN MEMORIA";position:absolute;top:14px;left:-36px;width:140px;text-align:center;transform:rotate(-35deg);background:#7a3447;color:#ffe3ea;font-size:10px;letter-spacing:.14em;padding:3px 0;box-shadow:0 3px 8px #0008}
.lh-stats{width:100%;display:grid;gap:7px}
.lh-stat{position:relative;display:grid;grid-template-columns:70px 36px 1fr;grid-template-rows:auto auto;column-gap:6px;align-items:center;text-align:left;font-size:12px}
.lh-stat span{color:#b9c8e6}.lh-stat b{color:#fff;text-align:right}
.lh-bar{display:block;height:8px;border-radius:5px;background:linear-gradient(90deg,var(--t1),var(--t2));box-shadow:0 0 8px color-mix(in srgb,var(--t1) 60%,transparent)}
.lh-stat em{grid-column:1/-1;font-style:normal;font-size:10px;color:#8fa2c8;padding-left:2px}
.lh-back small,.lh-hint{color:#8fa2c8;font-size:12px}
.lh-hint{margin:10px 0 0}
.lh-button{margin:8px 6px 0;padding:12px 26px;border-radius:999px;border:1px solid #ffffff3a;background:#ffffff14;color:#eaf0ff;font:600 16px system-ui,sans-serif;cursor:pointer;transition:transform .15s,background .2s,box-shadow .2s}
.lh-button:hover:not(:disabled){transform:translateY(-1px);background:#ffffff22}
.lh-primary{color:#2b1d00;border-color:#fff1b8;background:linear-gradient(180deg,#ffe9a0,#f2c96b 60%,#d9a43d);box-shadow:0 6px 20px #f2c96b44,inset 0 1px 0 #fff9}
.lh-primary:hover:not(:disabled){background:linear-gradient(180deg,#fff0b8,#f7d27a 60%,#e2ae48);box-shadow:0 8px 26px #f2c96b77}
.lh-button:disabled{opacity:.45;cursor:default}
.lh-button:focus-visible,.lh-row:focus-visible{outline:3px solid #9fd8ff;outline-offset:2px}
.lh-actions{margin-top:14px}
.lh-diploma{display:grid;grid-template-columns:180px minmax(0,1fr);gap:26px;align-items:center;max-width:820px;margin:14px auto 6px;padding:18px 22px;text-align:left;border-radius:18px;background:linear-gradient(180deg,#f2c96b14,#ffffff06);border:1px solid #f2c96b55}
.lh-lead{font-size:18px;line-height:1.6;margin:0 0 16px;color:#e4ecff}
.lh-seal{display:inline-grid;gap:2px;padding:12px 20px;border-radius:14px;border:2px dashed #f2c96b;color:#f7dd96;background:#f2c96b12;animation:lhStamp .6s .2s cubic-bezier(.2,1.6,.4,1) both}
@keyframes lhStamp{from{opacity:0;transform:scale(2.2) rotate(-12deg)}to{opacity:1;transform:rotate(-2deg)}}
.lh-seal b{font-family:'Jersey 10',monospace;font-weight:400;font-size:34px;letter-spacing:.12em;line-height:1}
.lh-seal span{font-size:16px;color:#fff}.lh-seal small{font-size:12px;color:#a9bbdc;max-width:360px}
.lh-pending{border-color:#8aa0c8;color:#bfd0ee;background:#8aa0c812}
.lh-minis{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:10px 0}
.lh-mini{width:64px;height:64px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 4px #0008)}
.lh-list{display:grid;gap:10px;max-width:860px;margin:14px auto 0}
.lh-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:14px;align-items:center;padding:8px 14px;text-align:left;color:inherit;font:inherit;border-radius:14px;background:#ffffff0d;border:1px solid #ffffff22;cursor:pointer;transition:background .2s,border-color .2s,transform .15s}
.lh-row:hover{background:#ffffff18;border-color:#f2c96b99;transform:translateX(3px)}
.lh-row-port{width:56px;height:76px;object-fit:contain;image-rendering:pixelated}
.lh-row-info strong{display:block;font-family:'Jersey 10',monospace;font-weight:400;font-size:28px;line-height:1.1;color:#fff0c4}
.lh-row-info small{color:#a9bbdc}
.lh-row-mons{display:flex;gap:2px}.lh-row-mons .lh-mini{width:48px;height:48px}
.lh-loading{color:#a9bbdc;margin:30px 0}
.lh-notice{max-width:780px;margin:8px auto}
.lh-notice p{line-height:1.7;margin:14px 0;font-size:16px;color:#dbe5fb}
.lh-notice .lh-important{padding:14px 16px;border-radius:12px;border-left:4px solid #f2c96b;background:#f2c96b14;color:#fff0c4;text-align:left}
@media(max-width:860px){.lh-roster{grid-template-columns:1fr;gap:12px}.lh-portrait{width:130px;height:200px}.lh-glow{width:170px;height:170px;margin:-85px 0 0 -85px}.lh-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lh-diploma{grid-template-columns:1fr;text-align:center}.lh-row{grid-template-columns:48px minmax(0,1fr)}.lh-row-mons{grid-column:1/-1;justify-content:center}}
@media(max-width:520px){.lh-stage{padding:12px 8px}.lh-team{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.lh-sky::before,.lh-sky::after,.lh-rays::before,.lh-crest,.lh-glow,.lh-mon,.lh-star{animation:none}}

.singularity-sim-host{position:fixed;inset:0;z-index:10030;background:#10242deb;display:flex;justify-content:center;align-items:center}.singularity-sim-panel{background:#204153;padding:20px;border:3px solid #9fc0bf;color:#edf0d5;max-width:95vw;text-align:center}.singularity-sim-panel canvas{display:block;max-width:100%;image-rendering:pixelated;margin:10px auto}.singularity-sim-panel button{padding:10px 20px;background:#c9c18d;border:0;color:#193646;cursor:pointer}
.stage:fullscreen .singularity-sim-panel canvas{width:min(512px,90vw);height:auto}
/* v0.207 — modo ligero salvo glow,bob,shadow,flip3d (activos por defecto; stars y rays dan lag en Firefox). Cada efecto caro se reactiva con localStorage 'hall-fx' (lista separada por comas: rays,stars,glow,bob,shadow,flip3d) o con ?hallfx=... */
.league-hall-host:not(.fx-stars) .lh-sky::before,.league-hall-host:not(.fx-stars) .lh-sky::after{animation:none!important;will-change:auto}
.league-hall-host:not(.fx-rays) .lh-rays{-webkit-mask-image:none;mask-image:none}
.league-hall-host:not(.fx-rays) .lh-rays::before{animation:none!important;will-change:auto;width:100vmax;height:100vmax;margin-left:-50vmax;top:-30%}
.league-hall-host:not(.fx-glow) :is(.lh-crest,.lh-glow,.lh-star,.lh-seal){animation:none!important}
.league-hall-host:not(.fx-glow) .lh-glow{filter:none}
.league-hall-host:not(.fx-bob) .lh-mon{animation:none!important}
.league-hall-host:not(.fx-shadow) :is(.lh-portrait,.lh-mini){filter:none}
.league-hall-host:not(.fx-shadow) .lh-fell .lh-mon{filter:none;opacity:.55}
.league-hall-host:not(.fx-flip3d) .lh-card{perspective:none}
.league-hall-host:not(.fx-flip3d) .lh-card-in{transform-style:flat;transition:none}
.league-hall-host:not(.fx-flip3d) .lh-flip .lh-card-in{transform:none}
.league-hall-host:not(.fx-flip3d) .lh-face{backface-visibility:visible;-webkit-backface-visibility:visible;transition:opacity .25s}
.league-hall-host:not(.fx-flip3d) .lh-back{transform:none;opacity:0;pointer-events:none}
.league-hall-host:not(.fx-flip3d) .lh-flip .lh-front{opacity:0;pointer-events:none}
.league-hall-host:not(.fx-flip3d) .lh-flip .lh-back{opacity:1;pointer-events:auto}
/* v0.209 — pulso y sombras baratos: todo lo que se anima va solo con opacity/transform (sin repintar sombras ni filtros en cada fotograma) */
@keyframes lhGlowOp{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes lhHaloOp{50%{opacity:1}}
.league-hall-host.fx-glow .lh-glow{filter:none;animation:lhGlowOp 4s ease-in-out infinite!important;will-change:opacity}
.league-hall-host.fx-glow.fx-pulse .lh-crest{position:relative;animation:none!important}
.league-hall-host.fx-glow.fx-pulse .lh-crest::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 7px #f2c96b22,0 0 44px #f2c96bbb;opacity:0;pointer-events:none;will-change:opacity;animation:lhHaloOp 3s ease-in-out infinite}
.league-hall-host.fx-shadow .lh-mini{filter:none}
