/* Hero handbook: art, ability sheets and compact stat panels. */
.kb-root.kb-hero-page{max-width:1220px;margin:0 auto;--kb-gold:#e4bd77;--kb-blue:#9bd0f2;--kb-green:#a9d6ab;--kb-red:#f1ad97}
.kb-root.kb-hero-page .kb-breadcrumb{margin-bottom:20px;font-size:13px}
.kb-hero-page .kb-hero-banner{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px;align-items:center;padding:24px 34px 24px 22px;margin-bottom:32px;background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 12%,var(--panel)),var(--panel) 70%);border:1px solid var(--border);border-top:2px solid var(--accent);overflow:hidden}
.kb-hero-page .kb-hero-figure{height:250px;display:grid;place-items:center;position:relative;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 17%,transparent),transparent 68%)}
.kb-root.kb-hero-page .kb-hero-portrait{position:relative;width:100%;height:100%;max-height:250px;object-fit:contain;background:transparent;filter:drop-shadow(0 10px 12px #0005)}
.kb-root.kb-hero-page h1{font-size:clamp(38px,4vw,56px);line-height:1.1;color:var(--accent);margin-bottom:12px;overflow-wrap:anywhere}
.kb-root.kb-hero-page .kb-hero-tagline{font-size:18px;line-height:1.5;color:var(--fg);max-width:52ch;margin-bottom:12px}
.kb-root.kb-hero-page .kb-hero-description{font-size:14px;line-height:1.75;color:var(--muted);max-width:73ch}
.kb-hero-page .kb-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px}
.kb-root.kb-hero-page .kb-hero-analytics{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid var(--accent);color:var(--accent);font-size:13px;margin-right:3px}
.kb-hero-page .kb-hero-analytics:hover{background:color-mix(in srgb,var(--accent) 12%,var(--panel))}
.kb-hero-page .kb-hero-tag{font-size:11px;padding:5px 8px;border:1px solid var(--border);color:var(--muted)}
.kb-root.kb-hero-page .kb-section-title{font-size:25px;margin-bottom:16px}
.kb-root.kb-hero-page .kb-ability-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.kb-root.kb-hero-page .kb-ability{display:flex;align-items:center;gap:13px;min-width:0;min-height:88px;padding:13px;background:var(--panel);border:1px solid var(--border);text-align:left;transition:background .12s,border-color .12s}
.kb-root.kb-hero-page .kb-ability:hover{background:color-mix(in srgb,var(--accent) 6%,var(--panel));border-color:var(--accent)}
.kb-root.kb-hero-page .kb-ability[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--panel));box-shadow:inset 0 -3px var(--accent)}
.kb-root.kb-hero-page .kb-ability-icon{width:48px;height:48px;padding:7px;display:grid;place-items:center;flex:none;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--surface));overflow:hidden}
.kb-root.kb-hero-page .kb-ability-icon img{display:block;width:100%;height:100%;object-fit:contain}
.kb-hero-page .kb-ability-label{min-width:0;display:grid;gap:5px}
.kb-root.kb-hero-page .kb-ability strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere;color:var(--fg)}
.kb-hero-page .kb-ability-key{color:var(--accent);font-size:12px;font-weight:700;line-height:1}
.kb-hero-page .kb-spell-card{min-width:0;padding:26px;background:var(--panel);border:1px solid var(--border)}
.kb-hero-page .kb-spell-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.kb-root.kb-hero-page .kb-spell-head h2{font-size:30px;overflow-wrap:anywhere}
.kb-hero-page .kb-spell-number{margin-left:auto;color:var(--accent);border:1px solid var(--border);width:32px;height:32px;display:grid;place-items:center;font-weight:600;flex:none}
.kb-root.kb-hero-page .kb-spell-description{max-width:88ch;font-size:15px;line-height:1.75;color:var(--fg);margin-bottom:22px}
.kb-hero-page .kb-spell-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 26px}
.kb-hero-page .kb-spell-metrics:empty{display:none}
.kb-hero-page .kb-spell-metric{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:13px 14px;background:color-mix(in srgb,var(--surface) 70%,var(--panel));border-left:2px solid var(--border)}
.kb-hero-page .kb-spell-metric dt{font-size:12px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}
.kb-hero-page .kb-spell-metric dd{font-size:23px;line-height:1.2;font-weight:600;color:var(--kb-gold);overflow-wrap:anywhere}
.kb-hero-page .kb-spell-metric[data-tone=damage]{border-left-color:var(--kb-red)}.kb-hero-page .kb-spell-metric[data-tone=damage] dd{color:var(--kb-red)}
.kb-hero-page .kb-spell-metric[data-tone=health],.kb-hero-page .kb-spell-metric[data-tone=range]{border-left-color:var(--kb-green)}.kb-hero-page .kb-spell-metric[data-tone=health] dd,.kb-hero-page .kb-spell-metric[data-tone=range] dd{color:var(--kb-green)}
.kb-hero-page .kb-spell-metric[data-tone=cooldown]{border-left-color:var(--kb-blue)}.kb-hero-page .kb-spell-metric[data-tone=cooldown] dd{color:var(--kb-blue)}
.kb-root.kb-hero-page .kb-upgrade-section h3{font-size:20px;color:var(--accent);margin:0 0 14px}
.kb-hero-page .kb-upgrade-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kb-hero-page .kb-upgrade-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);background:color-mix(in srgb,var(--accent) 5%,var(--surface));min-width:0}
.kb-hero-page .kb-upgrade-cost{display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--kb-gold) 65%,var(--border));color:var(--kb-gold);font-size:17px;font-weight:700}
.kb-root.kb-hero-page .kb-upgrade-card p{font-size:13px;line-height:1.7;color:var(--fg);max-width:none;overflow-wrap:anywhere}
.kb-hero-page .kb-upgrade-card[data-tier="5"]{border-top:2px solid var(--kb-gold)}
.kb-hero-page .kb-spell-note{margin-top:22px;padding:16px 18px;border-left:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}
.kb-root.kb-hero-page .kb-spell-note h3{font-size:20px;margin-bottom:8px}.kb-root.kb-hero-page .kb-spell-note p{font-size:14px;line-height:1.75;color:var(--muted)}
.kb-hero-page .kb-hero-stat-panels{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:18px;margin-top:22px}
.kb-hero-page .kb-hero-stat-panel{background:var(--panel);border:1px solid var(--border);padding:22px;min-width:0}
.kb-root.kb-hero-page .kb-hero-stat-panel h2{display:flex;align-items:center;gap:10px;font-size:23px;color:var(--accent);margin-bottom:16px}
.kb-hero-page .kb-hero-stat-panel h2 svg{width:21px;height:21px;flex:none}
.kb-root.kb-hero-page .kb-attribute-grid{grid-template-columns:1fr;gap:0;margin:0}
.kb-root.kb-hero-page .kb-attribute-grid>div{padding:12px 0;gap:20px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)}
.kb-root.kb-hero-page .kb-attribute-grid>div:last-child{border:0}.kb-root.kb-hero-page .kb-attribute-grid dt{font-size:13px;color:var(--muted);line-height:1.5}.kb-root.kb-hero-page .kb-attribute-grid dd{font-size:18px;color:var(--fg);font-weight:600}
.kb-hero-page .kb-hero-lore{margin-top:22px;padding:18px 22px;border:1px solid var(--border);background:var(--panel)}.kb-hero-page .kb-hero-lore summary{font:500 23px var(--font-display);color:var(--accent);cursor:pointer}.kb-root.kb-hero-page .kb-hero-lore p{font-size:14px;line-height:1.8;color:var(--muted);white-space:pre-line;margin-top:16px;max-width:90ch}
@media(max-width:1000px){.kb-hero-page .kb-hero-banner{grid-template-columns:180px minmax(0,1fr);gap:24px;padding:22px}.kb-hero-page .kb-hero-figure{height:230px}.kb-root.kb-hero-page .kb-ability-list{grid-template-columns:repeat(2,minmax(0,1fr))}.kb-hero-page .kb-spell-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.kb-hero-page .kb-upgrade-cards{grid-template-columns:1fr}.kb-hero-page .kb-upgrade-card{padding:14px}}
@media(max-width:650px){.kb-hero-page .kb-hero-banner{grid-template-columns:86px minmax(0,1fr);gap:14px;padding:16px;margin-bottom:24px;align-items:start}.kb-hero-page .kb-hero-figure{height:146px}.kb-root.kb-hero-page .kb-hero-portrait{max-height:146px}.kb-hero-page .kb-hero-copy{display:contents}.kb-root.kb-hero-page h1{font-size:36px;align-self:center;margin:0;min-width:0}.kb-root.kb-hero-page .kb-hero-tagline,.kb-root.kb-hero-page .kb-hero-description,.kb-hero-page .kb-hero-actions{grid-column:1/-1}.kb-root.kb-hero-page .kb-hero-tagline{font-size:16px;margin:0}.kb-root.kb-hero-page .kb-hero-description{font-size:13px;line-height:1.7}.kb-hero-page .kb-hero-actions{margin-top:0;gap:8px}.kb-root.kb-hero-page .kb-hero-analytics{font-size:12px}.kb-root.kb-hero-page .kb-ability{min-height:90px;flex-direction:row;gap:10px;padding:10px;text-align:left}.kb-root.kb-hero-page .kb-ability-icon{width:38px;height:38px;padding:5px}.kb-root.kb-hero-page .kb-ability strong{font-size:12px;line-height:1.4}.kb-hero-page .kb-spell-card{padding:18px 14px}.kb-root.kb-hero-page .kb-spell-head h2{font-size:27px}.kb-root.kb-hero-page .kb-spell-description{font-size:14px}.kb-hero-page .kb-spell-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kb-hero-page .kb-spell-metric{padding:11px 10px}.kb-hero-page .kb-spell-metric dd{font-size:21px}.kb-hero-page .kb-hero-stat-panels{grid-template-columns:1fr;gap:14px;margin-top:16px}.kb-hero-page .kb-hero-stat-panel{padding:18px}.kb-root.kb-hero-page .kb-attribute-grid dd{font-size:18px}.kb-hero-page .kb-hero-lore{padding:16px}}
@media(prefers-reduced-motion:reduce){.kb-root.kb-hero-page .kb-ability{transition:none}}
