.main{padding:7rem 2rem 4rem;max-width:1400px;margin:0 auto}.page-header{text-align:center;margin-bottom:3rem}.page-title{font-size:3rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,#fff 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{color:var(--text-secondary);font-size:1.1rem}.filters{display:flex;justify-content:center;gap:.75rem;margin-bottom:2.5rem;flex-wrap:wrap}.filter-pill{padding:.5rem 1.25rem;border-radius:20px;background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;transition:all .3s;font-size:.9rem}.filter-pill:hover,.filter-pill.active{background:var(--primary-glow);border-color:var(--primary);color:var(--primary)}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.character-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:16px;overflow:hidden;transition:all .3s;text-decoration:none;color:inherit;display:block;position:relative}.character-card:hover{transform:translateY(-8px);border-color:var(--primary);box-shadow:0 20px 40px #8b5cf633}.character-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--card-accent, var(--primary)),transparent);opacity:0;transition:opacity .3s}.character-card:hover:before{opacity:1}.card-image{height:280px;background:linear-gradient(135deg,var(--primary-glow) 0%,rgba(6,182,212,.2) 100%);display:flex;align-items:center;justify-content:center;font-size:6rem;position:relative;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover}.card-faction{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;background:#00000080;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;font-size:1rem}.card-content{padding:1.5rem}.card-name{font-size:1.35rem;font-weight:600;margin-bottom:.25rem}.card-tagline{color:var(--text-secondary);font-size:.9rem;font-style:italic}.card-tags{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.card-tag{padding:.25rem .75rem;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:12px;font-size:.75rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:4rem;color:var(--text-secondary)}@media (max-width: 768px){.character-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}
