/* Conurbano Build Lab v20 - capa RPG sobre v19 (sin dependencias externas) */
:root,:root[data-theme="dark"]{--bg:#0a0c1f;--bg2:#12132e;--card:#1a1a3a;--ink:#f3ead6;--mut:#b3a98f;--line:#6b5a2e;--pri:#e8c46a;--gold:#e8c46a;--glow:rgba(232,196,106,.25);--serif:Georgia,'Palatino Linotype',Palatino,'Times New Roman',serif}
body{background:radial-gradient(ellipse 900px 500px at 70% -10%,#3a2a6a88,transparent 70%),radial-gradient(ellipse 700px 400px at 0% 100%,#1c3a5a66,transparent 70%),linear-gradient(#0a0c1f,#12102a);background-attachment:fixed;font-family:var(--serif)}
main{background:none}
.top{background:linear-gradient(#1b1740,#0f0e26);border-bottom:2px solid var(--gold);box-shadow:0 4px 18px #000a}
.logo{font-family:var(--serif);letter-spacing:.12em;color:var(--gold)}.logo b{color:#fff}
aside{background:linear-gradient(90deg,#0d0d26,#15153a);border-right:1px solid var(--line)}
aside a{border-radius:4px;font-family:var(--serif)}aside a:hover,aside a.on{background:linear-gradient(90deg,#e8c46a33,transparent);box-shadow:inset 3px 0 0 var(--gold)}
h2{font-family:var(--serif);color:var(--gold);border-bottom:1px solid var(--line);letter-spacing:.04em}h2::before,h2::after{color:var(--gold)}
.pill{background:#2a2250;color:var(--gold);border:1px solid var(--gold);border-radius:3px}
.panel{background:linear-gradient(160deg,#1d1c44cc,#121230cc);border:1px solid var(--line);border-radius:6px;box-shadow:inset 0 0 0 3px #0006,inset 0 0 0 4px #6b5a2e66,0 6px 18px #0008}
.btn{background:linear-gradient(#2c2658,#1b1840);border:1px solid var(--gold);border-radius:4px;color:var(--ink)}
.btn.pri{background:linear-gradient(#f0d48a,#c9a24a);color:#2a1c05;border-color:#fff3c4;font-weight:800}
.tag{border-color:var(--line);color:var(--mut);border-radius:3px;background:#0004}
/* Galeria compacta de retratos */
#heroes.grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px}
.hc{background:linear-gradient(#232152,#141332);border:1px solid var(--line);border-radius:8px;padding:6px;text-align:center;box-shadow:inset 0 0 0 2px #0007,0 4px 12px #0008;position:relative}
.hc:hover{border-color:#fff3c4;box-shadow:0 0 18px var(--glow),inset 0 0 0 2px #0007}
.hc .character-art{height:128px;border-radius:70px 70px 6px 6px;border:2px solid var(--c);background:radial-gradient(ellipse at 50% 80%,color-mix(in srgb,var(--c) 45%,transparent),#0b0b22 75%)}
.hc .nm{padding:7px 2px 2px;font-size:14px;font-family:var(--serif);line-height:1.2}
.hc .tag{font-size:10.5px;padding:0 6px}.hc .wp{font-size:11px;color:var(--mut);font-weight:400;margin-top:2px}
.hc .rar{position:absolute;top:8px;left:8px;z-index:2;font:800 10px var(--serif);padding:1px 6px;border-radius:3px;background:#0009;border:1px solid var(--gold);color:var(--gold)}
.hc .rar.SR{color:#c8c8e8;border-color:#8a8ab0}
/* Ficha */
.modal.fm{max-width:1000px;background:linear-gradient(160deg,#1a1946f2,#0d0c26f7);border:2px solid var(--gold);border-radius:8px;box-shadow:0 0 0 4px #0a0a22,0 0 0 5px #6b5a2e,0 20px 60px #000}
.fh{display:flex;gap:16px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}
.fh .character-art.pt{flex:none;width:112px;height:140px;margin:0;border-radius:56px 56px 6px 6px;border:2px solid var(--gold)}
.fh h3{font-size:clamp(26px,5vw,38px);letter-spacing:.06em;color:var(--gold);margin:0;text-transform:uppercase}
.fh .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.fh .meta .tag{font-size:12px;color:var(--ink)}
.adv{margin-top:8px;font-size:13px;color:var(--mut)}.adv b{color:var(--gold)}
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:12px 0}
.tabs button{background:linear-gradient(#2a2556,#17153a);border:1px solid var(--line);border-radius:3px;padding:7px 12px;font:700 13px var(--serif);letter-spacing:.05em;cursor:pointer;transform:skewX(-8deg)}
.tabs button.on{background:linear-gradient(#f0d48a,#c9a24a);color:#2a1c05;border-color:#fff3c4}
.wsel{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.wsel button{background:#1a1840;border:1px solid var(--line);border-radius:6px;padding:8px 12px;cursor:pointer;font-family:var(--serif);text-align:left}
.wsel button.on{border-color:var(--gold);background:linear-gradient(#3a2f6a,#1f1a48);box-shadow:0 0 12px var(--glow)}.wsel small{display:block;color:var(--mut)}
.sk{border:1px solid var(--line);border-left:3px solid var(--gold);background:#0b0b2288;border-radius:4px;padding:10px 14px;margin:8px 0}
.sk .ty{font:800 11px var(--serif);letter-spacing:.14em;color:var(--gold)}.sk h5{margin:2px 0 4px;font-size:17px;color:#ffe9a8}.sk p{margin:4px 0;font-size:14px}
.g{color:#5ee28f;font-weight:700}.k{color:#9aa8ff}.chips span{display:inline-block;border:1px solid var(--line);border-radius:3px;padding:0 8px;margin:4px 4px 0 0;font-size:12px;color:var(--mut)}
.pend{border:1px dashed var(--line);border-radius:6px;padding:14px;color:var(--mut);background:#0003;font-size:14px}
.cfg{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
@media(max-width:600px){.fh .character-art.pt{width:84px;height:106px}.tabs button{padding:6px 9px;font-size:12px}#heroes.grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.hc .character-art{height:104px}}
.logo,.logo b{opacity:1!important}.top .logo{color:var(--gold)}

/* V24 catálogo visual */
.lab24tools{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.lab24tools input{flex:1;min-width:180px}.lab24grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}.lab24card{background:#15130f;border:1px solid #6c5836;border-radius:10px;overflow:hidden}.lab24card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.lab24caption{padding:10px;display:grid;gap:4px}.lab24caption small{color:#d5b66e;text-transform:uppercase}.lab24caption strong{font-family:Georgia,serif;font-size:14px}.lab24caption span{font-size:11px;color:#b8aa95}@media(max-width:480px){.lab24grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lab24caption{padding:7px}}

/* V24.1 — retratos integrados en tarjetas redondeadas */
.lab24card{border-radius:18px;overflow:hidden;background:#15130f;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.lab24card img{width:calc(100% - 12px);margin:6px 6px 0;aspect-ratio:1/1;object-fit:cover;border-radius:17px 17px 13px 13px;clip-path:inset(0 round 17px 17px 13px 13px);background:#342c25;}
.lab24caption{padding:11px 12px 13px}
@media(max-width:480px){.lab24card{border-radius:15px}.lab24card img{width:calc(100% - 8px);margin:4px 4px 0;border-radius:13px 13px 10px 10px;clip-path:inset(0 round 13px 13px 10px 10px)}.lab24caption{padding:8px}}
