.characters-hero{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:160px 24px 80px;overflow:hidden}.characters-hero-bg{position:absolute;inset:0;z-index:-1}.characters-hero-bg-image{object-fit:cover;opacity:.3;filter:saturate(1.2)}.characters-hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,3,6,.3) 0,transparent 30%),linear-gradient(0deg,var(--bg-void) 0,transparent 50%),radial-gradient(ellipse at center,transparent 30%,var(--bg-void) 100%),radial-gradient(ellipse 80% 60% at 50% 30%,rgba(0,212,255,.15) 0,transparent 60%)}.characters-hero-content{max-width:800px;position:relative;z-index:1}.characters-hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:900;margin-bottom:16px;background:linear-gradient(180deg,#fff 0,var(--accent-primary) 60%,#069 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 40px rgba(0,212,255,.3))}.characters-hero-desc{color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.8;font-size:1.1rem}.characters-hero-cta{margin-top:32px}.characters-hero-cta .cta-discord{display:inline-flex;align-items:center;gap:12px;padding:16px 32px;font-size:16px;font-weight:800;color:#fff;background:linear-gradient(135deg,#5865f2,#4752c4);border-radius:var(--radius-md);box-shadow:0 4px 20px rgba(88,101,242,.4);transition:var(--transition-smooth)}.characters-hero-cta .cta-discord:hover{transform:translateY(-3px);box-shadow:0 8px 30px rgba(88,101,242,.5)}.characters-hero-cta .cta-discord svg{width:24px;height:24px}.hero-badge{display:inline-block;padding:6px 16px;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-primary);background:rgba(0,212,255,.15);border:1px solid rgba(0,212,255,.3);border-radius:50px;margin-bottom:20px}.faction-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:20px 0 40px}.faction-btn{padding:10px 20px;font-size:14px;font-weight:600;color:var(--text-secondary);background:rgba(17,24,34,.6);border:1px solid hsla(0,0%,100%,.1);border-radius:50px;cursor:pointer;transition:all .3s ease}.faction-btn:hover{border-color:rgba(0,212,255,.3);color:var(--text-primary)}.faction-btn.active{background:rgba(0,212,255,.15);border-color:rgba(0,212,255,.5);color:var(--accent-fire)}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:32px;gap:32px;padding:40px 0 100px}.char-card{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:linear-gradient(135deg,rgba(17,24,34,.6),rgba(12,16,24,.8));border:1px solid hsla(0,0%,100%,.08);transition:all .4s cubic-bezier(.4,0,.2,1);animation:charReveal .6s cubic-bezier(.34,1.56,.64,1) backwards;cursor:pointer}@keyframes charReveal{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.char-card:first-child{animation-delay:.1s}.char-card:nth-child(2){animation-delay:.15s}.char-card:nth-child(3){animation-delay:.2s}.char-card:nth-child(4){animation-delay:.25s}.char-card:nth-child(5){animation-delay:.3s}.char-card:nth-child(6){animation-delay:.35s}.char-card:nth-child(7){animation-delay:.4s}.char-card:nth-child(8){animation-delay:.45s}.char-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent-fire),transparent);opacity:0;transition:opacity .3s}.char-card:hover{transform:translateY(-10px);border-color:rgba(0,212,255,.3);box-shadow:0 25px 50px rgba(0,0,0,.4),0 0 40px rgba(0,212,255,.15)}.char-card:hover:before{opacity:1}.char-img-container{position:relative;aspect-ratio:4/5;overflow:hidden}.char-img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.char-card:hover .char-img{transform:scale(1.08)}.char-img-container:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0c1018,rgba(12,16,24,.5) 30%,transparent 60%);pointer-events:none}.char-info{position:relative;padding:24px;margin-top:-40px;z-index:2}.char-role{display:inline-block;padding:4px 12px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-fire);background:rgba(0,212,255,.15);border:1px solid rgba(0,212,255,.3);border-radius:50px;margin-bottom:12px}.char-name{font-size:1.5rem;font-weight:800;margin:0;background:linear-gradient(180deg,#fff 30%,var(--text-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.char-subtitle{display:block;font-size:.85rem;font-weight:600;color:var(--accent-primary);margin-top:4px;font-style:italic;opacity:.9}.char-subtitle-modal{font-size:1rem;margin-top:8px;margin-bottom:16px}.char-desc{margin-top:10px;font-size:.9rem;line-height:1.7;color:var(--text-secondary)}.char-role[class*=faction-]{color:var(--accent-primary);background:rgba(0,212,255,.15);border-color:rgba(0,212,255,.3)}.char-card[class*=faction-]:hover{border-color:rgba(0,212,255,.4);box-shadow:0 25px 50px rgba(0,0,0,.4),0 0 40px rgba(0,212,255,.15)}.char-card[class*=faction-]:before{background:linear-gradient(90deg,transparent,var(--accent-primary),transparent)}.char-card.featured{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.char-card.featured .char-img-container{aspect-ratio:auto;min-height:400px}.char-card.featured .char-info{display:flex;flex-direction:column;justify-content:center;margin-top:0;padding:40px}.char-card.featured .char-name{font-size:2rem}.char-card.featured .char-desc{font-size:1rem}.char-card.featured:before{background:linear-gradient(90deg,transparent,var(--accent-primary),transparent)}.char-card.featured:hover{border-color:rgba(0,212,255,.3);box-shadow:0 25px 50px rgba(0,0,0,.4),0 0 40px rgba(0,212,255,.15)}.char-card.featured .char-role{color:var(--accent-primary);background:rgba(0,212,255,.15);border-color:rgba(0,212,255,.3)}.char-stats{display:flex;gap:24px;margin-top:20px}.char-stat{text-align:center}.char-stat-value{font-size:1.5rem;font-weight:900;color:var(--accent-primary)}.char-stat-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.characters-by-faction{display:flex;flex-direction:column;gap:60px;padding-bottom:40px}.faction-section{position:relative}.faction-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid hsla(0,0%,100%,.1)}.faction-title{font-size:1.75rem;font-weight:800;margin:0;background:linear-gradient(180deg,#fff 30%,var(--text-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.faction-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 10px;font-size:14px;font-weight:700;color:var(--accent-fire);background:rgba(0,212,255,.15);border:1px solid rgba(0,212,255,.3);border-radius:50px}.cta-section{text-align:center;padding:80px 0;position:relative}.cta-section:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:60px;background:linear-gradient(180deg,transparent,rgba(0,212,255,.3))}.cta-box{max-width:600px;margin:0 auto;padding:48px;background:linear-gradient(135deg,rgba(17,24,34,.6),rgba(12,16,24,.8));border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-xl)}.cta-box h3{font-size:1.75rem;font-weight:800;margin-bottom:16px;color:var(--text-primary)}.cta-box p{color:var(--text-secondary);margin-bottom:24px;line-height:1.8}.char-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.char-lightbox-content{display:grid;grid-template-columns:1fr 1fr;max-width:900px;width:90%;max-height:90vh;background:linear-gradient(135deg,rgba(17,24,34,.98),rgba(12,16,24,.98));border:1px solid rgba(0,212,255,.2);border-radius:var(--radius-xl);overflow:hidden;position:relative}.char-lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;background:rgba(0,0,0,.5);border:1px solid hsla(0,0%,100%,.1);border-radius:50%;color:#fff;font-size:24px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .3s}.char-lightbox-close:hover{background:rgba(0,212,255,.3);border-color:rgba(0,212,255,.5)}.char-lightbox-img{position:relative;overflow:hidden}.char-lightbox-img img{width:100%;height:100%;object-fit:cover;min-height:400px}.char-lightbox-info{padding:48px;display:flex;flex-direction:column;justify-content:center}.char-lightbox-info .char-role{margin-bottom:16px}.char-lightbox-info .char-name{font-size:2.5rem;margin-bottom:16px}.char-lightbox-info .char-desc{font-size:1.1rem;line-height:1.9;margin-bottom:24px}.char-card-section{margin-top:24px;padding-top:24px;border-top:1px solid hsla(0,0%,100%,.1)}.char-card-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:16px}.char-card-preview{display:flex;align-items:flex-start;gap:16px}.char-card-img{border-radius:var(--radius-md);box-shadow:0 10px 30px rgba(0,0,0,.5)}.char-card-info{display:flex;flex-direction:column;gap:8px}.card-rarity-badge{display:inline-block;padding:6px 14px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;border-radius:50px}.card-rarity-badge.rarity-common{color:var(--common);background:rgba(74,222,128,.2);border:1px solid rgba(74,222,128,.4)}.card-rarity-badge.rarity-rare{color:var(--rare);background:rgba(59,130,246,.2);border:1px solid rgba(59,130,246,.4)}.card-rarity-badge.rarity-epic{color:var(--epic);background:rgba(168,85,247,.2);border:1px solid rgba(168,85,247,.4)}.card-rarity-badge.rarity-unique{color:var(--unique);background:rgba(244,63,94,.2);border:1px solid rgba(244,63,94,.4)}.card-rarity-badge.rarity-legendary{color:var(--legendary);background:rgba(251,191,36,.2);border:1px solid rgba(251,191,36,.4)}.card-rarity-badge.rarity-secret{color:var(--secret);background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.4)}.card-rarity-badge.rarity-mythical{color:#f0f;background:rgba(255,0,255,.2);border:1px solid rgba(255,0,255,.4)}@media (max-width:1024px){.char-card.featured{grid-column:span 1;display:block}.char-card.featured .char-img-container{min-height:auto;aspect-ratio:4/5}.char-card.featured .char-info{padding:24px}}@media (max-width:768px){.characters-hero{padding:120px 20px 60px;min-height:50vh}.characters-hero-title{font-size:2rem}.characters-hero-cta .cta-discord{padding:14px 24px;font-size:14px}.characters-grid{grid-template-columns:1fr;gap:24px}.char-card.featured .char-name{font-size:1.5rem}.char-lightbox-content{grid-template-columns:1fr;max-height:95vh;overflow-y:auto}.char-lightbox-img img{min-height:250px;max-height:300px}.char-lightbox-info{padding:24px}.char-lightbox-info .char-name{font-size:1.75rem}.faction-filter{gap:8px}.faction-btn{padding:8px 14px;font-size:12px}}