.champion-grid-page{min-height:100vh;padding:var(--space-lg)}.page-header{text-align:center;margin-bottom:var(--space-xl);padding:var(--space-lg) 0}.page-header h1{font-size:2.5rem;color:var(--accent-primary);margin-bottom:var(--space-xs)}.page-header .subtitle{color:var(--text-muted);font-size:1.1rem}.filter-bar{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg);padding:var(--space-lg);background:var(--bg-secondary);border-radius:var(--radius-lg);max-width:1400px;margin-left:auto;margin-right:auto}.filter-row{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.filter-row.compact{gap:var(--space-xl)}.filter-row.search-row{gap:var(--space-md)}.search-input{flex:1;min-width:200px;padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem}.search-input:focus{outline:none;border-color:var(--accent-primary)}.search-input::placeholder{color:var(--text-muted)}.clear-filters{padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .2s ease}.clear-filters:hover{border-color:#ef4444;color:#ef4444}.filter-group{display:flex;flex-direction:column;gap:var(--space-sm)}.filter-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.filter-chip{padding:var(--space-xs) var(--space-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s ease}.filter-chip:hover{border-color:var(--border-color-hover);color:var(--text-primary)}.filter-chip.active{background:var(--accent-secondary);border-color:var(--accent-primary);color:var(--text-primary)}.filter-chips-single .filter-chip.active{color:var(--text-primary)}.learned-chip.learned-chip-unlearned.active{background:var(--bg-tertiary);border-color:var(--text-muted);color:var(--text-secondary)}.learned-chip.learned-chip-intrigue:hover{border-color:var(--class-mage);color:var(--class-mage)}.learned-chip.learned-chip-intrigue.active{background:#3b82f633;border-color:var(--class-mage);color:var(--class-mage)}.learned-chip.learned-chip-learned:hover{border-color:var(--class-tank);color:var(--class-tank)}.learned-chip.learned-chip-learned.active{background:#22c55e33;border-color:var(--class-tank);color:var(--class-tank)}.filter-chip.class-mage:hover{border-color:var(--class-mage);color:var(--class-mage)}.filter-chip.class-slayer:hover{border-color:var(--class-slayer);color:var(--class-slayer)}.filter-chip.class-fighter:hover{border-color:var(--class-fighter);color:var(--class-fighter)}.filter-chip.class-tank:hover{border-color:var(--class-tank);color:var(--class-tank)}.filter-chip.class-controller:hover{border-color:var(--class-controller);color:var(--class-controller)}.filter-chip.class-marksman:hover{border-color:var(--class-marksman);color:var(--class-marksman)}.filter-chip.class-specialist:hover{border-color:var(--class-specialist);color:var(--class-specialist)}.filter-chip.active.class-mage{background:#3b82f633;border-color:var(--class-mage);color:var(--class-mage)}.filter-chip.active.class-slayer{background:#a855f733;border-color:var(--class-slayer);color:var(--class-slayer)}.filter-chip.active.class-fighter{background:#f9731633;border-color:var(--class-fighter);color:var(--class-fighter)}.filter-chip.active.class-tank{background:#22c55e33;border-color:var(--class-tank);color:var(--class-tank)}.filter-chip.active.class-controller{background:#14b8a633;border-color:var(--class-controller);color:var(--class-controller)}.filter-chip.active.class-marksman{background:#eab30833;border-color:var(--class-marksman);color:var(--class-marksman)}.filter-chip.active.class-specialist{background:#6b728033;border-color:var(--class-specialist);color:var(--class-specialist)}.results-info{max-width:1400px;margin:0 auto var(--space-md);color:var(--text-muted);font-size:.9rem}.champion-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-md);max-width:1400px;margin:0 auto}.champion-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:var(--space-md);padding-top:calc(var(--space-md) + 8px);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);text-decoration:none;transition:all .2s ease}.champion-card:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.champion-card.intrigue{border-color:var(--class-mage)}.champion-card.learned{border-color:var(--class-tank)}.card-learned-indicator{position:absolute;top:var(--space-xs);right:var(--space-xs);z-index:1}.learned-checkbox{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.7rem;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.learned-checkbox svg{width:12px;height:12px}.learned-checkbox:hover{border-color:var(--text-secondary)}.learned-checkbox.intrigue{background:#3b82f633;border-color:var(--class-mage);color:var(--class-mage)}.learned-checkbox.intrigue:hover{border-color:var(--class-mage)}.learned-checkbox.learned{background:#22c55e33;border-color:var(--class-tank);color:var(--class-tank)}.learned-checkbox.learned:hover{border-color:var(--class-tank)}.champion-icon{width:80px;height:80px;border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}.champion-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-xs);width:100%}.champion-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.champion-classes{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}.class-badge{font-size:.65rem;padding:1px 4px;border-radius:2px;background:var(--bg-tertiary);color:var(--text-secondary)}.class-badge.class-mage{background:#3b82f633;color:var(--class-mage)}.class-badge.class-slayer{background:#a855f733;color:var(--class-slayer)}.class-badge.class-fighter{background:#f9731633;color:var(--class-fighter)}.class-badge.class-tank{background:#22c55e33;color:var(--class-tank)}.class-badge.class-controller{background:#14b8a633;color:var(--class-controller)}.class-badge.class-marksman{background:#eab30833;color:var(--class-marksman)}.class-badge.class-specialist{background:#6b728033;color:var(--class-specialist)}.champion-lanes{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;margin-top:2px}.lane-badge{font-size:.6rem;padding:1px 3px;border-radius:2px;background:var(--bg-secondary);color:var(--text-muted)}.no-results{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.no-results p:first-child{font-size:1.1rem;color:var(--text-secondary);margin-bottom:var(--space-sm)}@media(max-width:768px){.champion-grid-page,.filter-bar{padding:var(--space-md)}.filter-row.compact{flex-direction:column;gap:var(--space-md)}.champion-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-sm)}.champion-card{padding:var(--space-sm);padding-top:calc(var(--space-sm) + 8px)}.champion-icon{width:60px;height:60px}.champion-name{font-size:.8rem}.class-badge{font-size:.6rem}}@media(max-width:480px){.champion-grid-page{padding:var(--space-sm)}.page-header{margin-bottom:var(--space-lg);padding:var(--space-md) 0}.page-header h1{font-size:1.75rem}.page-header .subtitle{font-size:.95rem}.filter-bar{padding:var(--space-sm);gap:var(--space-sm)}.filter-row{gap:var(--space-sm)}.filter-row.search-row{flex-direction:column}.search-input{min-width:100%;font-size:16px}.clear-filters{width:100%}.filter-label{font-size:.7rem}.filter-chip{font-size:.75rem;padding:6px var(--space-sm)}.champion-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-xs)}.champion-card{padding:var(--space-xs);padding-top:calc(var(--space-xs) + 6px)}.champion-icon{width:48px;height:48px}.champion-name{font-size:.7rem}.champion-classes{gap:1px}.class-badge{font-size:.55rem;padding:1px 2px}.champion-lanes{display:none}.card-learned-indicator{top:2px;right:2px}.learned-checkbox{width:16px;height:16px;font-size:.6rem}.results-info{font-size:.8rem;padding:0 var(--space-xs)}.no-results{padding:var(--space-xl)}.no-results p:first-child{font-size:1rem}}.filter-chip:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.learned-checkbox:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.champion-detail-page{min-height:100vh}.champion-header{position:relative;height:320px;background-size:cover;background-position:center top;background-repeat:no-repeat}.header-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0a0a0f4d,#0a0a0fb3,#0a0a0f);padding:var(--space-lg);display:flex;flex-direction:column;justify-content:space-between}.header-top{display:flex;justify-content:space-between;align-items:flex-start}.back-link{color:var(--text-secondary);font-size:.9rem;display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:#0000004d;border-radius:var(--radius-sm);transition:all .2s ease}.back-link:hover{color:var(--text-primary);background:#00000080}.learned-button{padding:var(--space-sm) var(--space-md);background:#0000004d;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .2s ease}.learned-button:hover{border-color:var(--accent-primary);color:var(--text-primary)}.learned-button.state-intrigue{background:#3b82f640;border-color:var(--class-mage);color:var(--class-mage)}.learned-button.state-intrigue:hover{border-color:var(--class-mage);color:var(--text-primary)}.learned-button.state-learned{background:#22c55e40;border-color:var(--class-tank);color:var(--class-tank)}.learned-button.state-learned:hover{border-color:var(--class-tank);color:var(--text-primary)}.champion-title{display:flex;align-items:flex-end;gap:var(--space-lg)}.champion-icon-large{width:100px;height:100px;border-radius:var(--radius-md);border:3px solid var(--border-color);box-shadow:var(--shadow-lg)}.champion-icon-large.state-intrigue{border-color:var(--class-mage)}.champion-icon-large.state-learned{border-color:var(--class-tank)}.title-text h1{font-size:2.5rem;margin-bottom:var(--space-xs)}.title-text .title{color:var(--text-muted);font-size:1.1rem;font-style:italic}.champion-content{padding:var(--space-xl);max-width:1000px;margin:0 auto}.champion-content section{margin-bottom:var(--space-2xl)}.champion-content h2{color:var(--accent-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color)}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md)}.overview-item{background:var(--bg-card);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color)}.overview-item .label{display:block;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs)}.overview-item .value{display:block;color:var(--text-primary);font-weight:500}.playstyle-content{display:grid;gap:var(--space-md)}.playstyle-item{background:var(--bg-card);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color)}.playstyle-item h3{color:var(--text-primary);font-size:1rem;margin-bottom:var(--space-sm)}.playstyle-item p{color:var(--text-secondary);line-height:1.6}.strengths-weaknesses{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.sw-column{background:var(--bg-card);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color)}.sw-column h2{font-size:1.1rem;border-bottom:none;padding-bottom:0}.sw-column.strengths h2{color:#22c55e}.sw-column.weaknesses h2{color:#ef4444}.sw-column ul{list-style:none;margin-top:var(--space-md)}.sw-column li{padding:var(--space-sm) 0;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.sw-column li:last-child{border-bottom:none}.sw-column.strengths li:before{content:"+";margin-right:var(--space-sm);color:#22c55e;font-weight:700}.sw-column.weaknesses li:before{content:"−";margin-right:var(--space-sm);color:#ef4444;font-weight:700}.abilities-list{display:flex;flex-direction:column;gap:var(--space-md)}.ability-card{display:flex;gap:var(--space-md);background:var(--bg-card);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all .2s ease}.ability-card:hover{border-color:var(--border-color-hover)}.ability-card.expanded{border-color:var(--accent-secondary)}.ability-icon{width:64px;height:64px;border-radius:var(--radius-sm);flex-shrink:0}.ability-info{flex:1}.ability-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.ability-slot{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--accent-secondary);color:var(--text-primary);font-weight:700;font-size:.85rem;border-radius:var(--radius-sm)}.ability-name{font-weight:600;color:var(--text-primary);flex:1}.ability-expand-btn{padding:var(--space-xs);background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:.7rem;transition:color .2s ease}.ability-expand-btn:hover{color:var(--text-primary)}.ability-summary{color:var(--text-primary);font-weight:500;margin-bottom:var(--space-sm);line-height:1.5}.ability-details{color:var(--text-secondary);font-size:.9rem;line-height:1.6;padding-top:var(--space-sm);border-top:1px solid var(--border-color);margin-top:var(--space-sm)}.external-links-container{margin-top:var(--space-sm)}.links-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.external-link{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;transition:all .2s ease;text-decoration:none}.external-link:hover{background:var(--bg-card-hover);border-color:var(--link-color, var(--accent-primary));color:var(--link-color, var(--text-primary))}.link-arrow{opacity:0;transform:translate(-4px);transition:all .2s ease}.external-link:hover .link-arrow{opacity:1;transform:translate(0)}@media(max-width:768px){.champion-header{height:280px}.header-top{flex-direction:column;gap:var(--space-sm)}.champion-icon-large{width:70px;height:70px}.title-text h1{font-size:1.75rem}.champion-content{padding:var(--space-md)}.strengths-weaknesses{grid-template-columns:1fr}.ability-card{flex-direction:column}.ability-icon{width:48px;height:48px}.links-grid{flex-direction:column}.external-link{justify-content:space-between}}@media(max-width:480px){.champion-header{height:240px}.header-overlay{padding:var(--space-md)}.back-link,.learned-button{font-size:.8rem;padding:6px var(--space-sm)}.champion-title{gap:var(--space-md)}.champion-icon-large{width:60px;height:60px;border-width:2px}.title-text h1{font-size:1.5rem}.title-text .title{font-size:.9rem}.champion-content{padding:var(--space-sm)}.champion-content section{margin-bottom:var(--space-xl)}.champion-content h2{font-size:1.2rem;margin-bottom:var(--space-sm)}.overview-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.overview-item{padding:var(--space-sm)}.overview-item .label{font-size:.7rem}.overview-item .value{font-size:.9rem}.playstyle-item{padding:var(--space-sm)}.playstyle-item h3{font-size:.95rem}.playstyle-item p{font-size:.9rem}.sw-column{padding:var(--space-sm)}.sw-column h2{font-size:1rem}.sw-column li{font-size:.9rem;padding:var(--space-xs) 0}.ability-card{padding:var(--space-sm);gap:var(--space-sm)}.ability-icon{width:44px;height:44px}.ability-slot{width:24px;height:24px;font-size:.8rem}.ability-name{font-size:.95rem}.ability-summary{font-size:.9rem}.ability-details{font-size:.85rem}.external-link{padding:var(--space-sm);font-size:.85rem}}.back-link:focus-visible,.learned-button:focus-visible,.ability-expand-btn:focus-visible,.external-link:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a24;--bg-card: #15151f;--bg-card-hover: #1c1c28;--text-primary: #e8e8ed;--text-secondary: #a0a0b0;--text-muted: #6a6a7a;--accent-primary: #c89b3c;--accent-secondary: #785a28;--class-mage: #3b82f6;--class-slayer: #a855f7;--class-fighter: #f97316;--class-tank: #22c55e;--class-controller: #14b8a6;--class-marksman: #eab308;--class-specialist: #6b7280;--border-color: #2a2a3a;--border-color-hover: #3a3a4a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Fira Code", "Consolas", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}p{color:var(--text-secondary)}a{color:var(--accent-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--text-primary)}.app{min-height:100vh}.loading,.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--space-md);color:var(--text-secondary)}.error{color:#ef4444}.error code{background:var(--bg-tertiary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.skip-link{position:absolute;top:-100px;left:50%;transform:translate(-50%);background:var(--accent-primary);color:var(--bg-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-weight:600;z-index:1000;transition:top .2s ease}.skip-link:focus{top:var(--space-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:480px){html{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.15rem}}
