/* ArenaPulse wiki — loaded after style.css. Spacing scale: 4 8 12 16 24 32 48 72 */
body.wiki{background:radial-gradient(1200px 600px at 50% -200px,rgba(212,176,106,.06),transparent 70%),var(--bg)}
.wk{padding-top:104px;padding-bottom:72px}
.wk h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:8px 0 12px}
.wk h2{font-size:24px;margin:0;letter-spacing:.05em}.wk h3{font-size:16px;margin:0 0 8px}
.wk section{margin:0}.wk section:not(.card):not(.panel){padding:0}.wk .sec{margin:72px 0 0}.sec-h{margin:0 0 24px;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px}
.wk .sub{color:var(--mut);margin:0;font-size:14.5px}
.crumbs{font-size:13px;color:var(--mut);margin:0 0 16px}.crumbs a{color:var(--mut)}.crumbs a:hover{color:var(--gold)}.crumbs i{font-style:normal;opacity:.5;margin:0 4px}
.card,.panel{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 60%),var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px}
.panel p{margin:0 0 12px;color:#cfccc4}.panel p:last-child{margin-bottom:0}
kbd{font:600 11px Inter,sans-serif;color:#c7bd9e;border:1px solid rgba(199,189,158,.3);border-radius:3px;padding:1px 5px;background:rgba(0,0,0,.4)}
.lbl{font:600 11.5px Inter,sans-serif!important;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 16px!important}
.rb{display:inline-block;width:7px;height:7px;transform:rotate(45deg);margin-right:10px;vertical-align:2px;background:var(--gold)}
.rb-melee{background:#e06b5a}.rb-ranged{background:#6aa8e0}.rb-healer{background:#7fd08a}
nav .links a.wk.on{color:var(--txt)}
@media(max-width:600px){nav .links a{margin-left:18px}nav .links a.wk{display:inline}nav .links a.dc:not(.wk){display:none}}
/* ---- index ---- */
.wk-hero{text-align:center;padding:32px 0 8px}.wk-hero .sub{max-width:520px;margin:0 auto 32px}
.search{position:relative;max-width:580px;margin:0 auto}
.search .sico{position:absolute;left:18px;top:50%;width:13px;height:13px;border:2px solid var(--mut);border-radius:50%;transform:translateY(-60%)}
.search .sico::after{content:"";position:absolute;width:2px;height:7px;background:var(--mut);right:-4px;bottom:-6px;transform:rotate(-45deg)}
.search input{width:100%;padding:16px 18px 16px 46px;border-radius:8px;border:1px solid rgba(212,176,106,.28);background:rgba(14,16,21,.9);color:var(--txt);font:15px Inter,sans-serif;outline:none;transition:.2s}
.search input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(212,176,106,.08)}
#res{list-style:none;margin:8px 0 0;padding:4px;text-align:left;position:absolute;left:0;right:0;z-index:20;background:#0e1015;border:1px solid rgba(212,176,106,.2);border-radius:8px;max-height:60vh;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,.6)}
#res:empty{display:none}#res a{display:block;padding:10px 14px;border-radius:6px;color:var(--txt)}#res a:hover,#res a.on{background:rgba(212,176,106,.08)}
#res small{display:block;color:var(--mut);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:48px 0 0}
.wk-tiles a{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px 22px;transition:.25s}.wk-tiles a:hover{border-color:rgba(212,176,106,.45);transform:translateY(-2px)}
.wk-tiles b{display:block;font-family:Cinzel,serif;color:var(--gold);font-size:16px;margin-bottom:4px}.wk-tiles span{color:var(--mut);font-size:13.5px}
.crole{margin:0 0 32px}.crole h3{font:600 12px Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--txt);margin:0 0 16px}
.ccards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ccard{--c:#fff;position:relative;display:flex;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px;transition:.25s;overflow:hidden;isolation:isolate}
.ccard::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 140% at 0 0,color-mix(in srgb,var(--c) 22%,transparent),transparent 60%);opacity:.35;transition:.25s}
.ccard:hover{border-color:color-mix(in srgb,var(--c) 45%,transparent);transform:translateY(-2px);box-shadow:0 10px 30px -10px color-mix(in srgb,var(--c) 40%,transparent)}.ccard:hover::before{opacity:1}
.ccard img{border-radius:8px;width:56px;height:56px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.ccard b{display:block;font-family:Cinzel,serif;color:var(--c);font-size:15.5px}.ccard small{color:var(--mut);font-size:12.5px;line-height:1.35;display:block}
.ccard .go{margin-left:auto;font-style:normal;color:var(--mut);opacity:0;transition:.25s}.ccard:hover .go{opacity:1;color:var(--c)}
/* ---- class hero ---- */
.cl-hero{--c:#fff;position:relative;padding:112px 0 48px;border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.cl-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 360px at 18% 70%,color-mix(in srgb,var(--c) 22%,transparent),transparent 70%),linear-gradient(180deg,transparent,rgba(10,11,14,.6))}
.cl-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--c) 60%,transparent),transparent)}
.cl-id{display:flex;gap:32px;align-items:center}
.cl-hero .portrait{flex:none;padding:3px;border-radius:16px;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 80%,#fff 10%),rgba(255,255,255,.05));box-shadow:0 20px 50px -12px color-mix(in srgb,var(--c) 45%,transparent)}
.cl-hero .portrait img{width:128px;height:128px;border-radius:13px;display:block}
.cl-hero h1{color:var(--c);margin:4px 0 8px;font-size:clamp(36px,6vw,60px);line-height:1.05;text-shadow:0 0 40px color-mix(in srgb,var(--c) 30%,transparent)}
.role-badge{font:600 12px Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#cfccc4;margin:0}
.cl-hero .tagline{font-size:18px;color:#e4e2dc;margin:0 0 16px}
.cl-facts{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:var(--mut);font-size:14px}.cl-facts b{color:var(--txt);font-weight:600}
.chips{display:inline-flex;flex-wrap:wrap;gap:6px}.chip{font-size:12px;color:#d9cfb4;border:1px solid rgba(212,176,106,.25);border-radius:3px;padding:2px 8px;background:rgba(0,0,0,.2)}
body.wiki .cl-hero+.wk{padding-top:0}
/* sticky section nav */
.subnav{position:sticky;top:64px;z-index:30;display:flex;gap:4px;padding:12px 0;margin:0 0 32px;background:rgba(10,11,14,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.subnav a{color:var(--mut);font-size:13.5px;padding:6px 14px;border-radius:4px;transition:.2s}.subnav a:hover,.subnav a.on{color:var(--txt);background:rgba(255,255,255,.04)}.subnav a.on{color:var(--gold)}
.wk [id]{scroll-margin-top:130px}
/* overview */
.ov{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;padding:32px}.ov h2{margin-bottom:12px}
.ov .lead{font-size:16.5px;color:#e4e2dc;margin:0 0 32px;line-height:1.7}
.passives,.tips{list-style:none;margin:0;padding:0}.passives li{display:flex;gap:14px;margin-bottom:20px}.passives li:last-child{margin:0}
.passives img{width:40px;height:40px;border-radius:6px;flex:none;box-shadow:0 0 0 1px rgba(219,179,71,.35)}
.passives b{font-size:14.5px;font-weight:600}.passives p{font-size:13.5px;line-height:1.6;margin:4px 0 0;color:var(--mut)}
.tips li{color:#cfccc4;font-size:14.5px;margin:0 0 10px;padding-left:18px;position:relative}.tips li::before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
/* action bar */
.bar-block{display:flex;flex-direction:column;align-items:center;margin:0 0 32px}.bar-block:last-child{margin:0}
.bar-lbl{font-family:Cinzel,serif;font-size:15px;color:var(--gold);margin:0 0 12px;text-align:center}.bar-lbl small{display:block;font:12px Inter,sans-serif;color:var(--mut);margin-top:2px}
.hotbar{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:10px 12px;border-radius:8px;max-width:100%;
 background:linear-gradient(180deg,#1b160d,#0c0a06);border:1px solid rgba(219,179,71,.5);box-shadow:inset 0 1px 0 rgba(255,230,160,.12),inset 0 0 0 3px rgba(0,0,0,.5),0 16px 40px -14px rgba(0,0,0,.9)}
.hotbar::before,.hotbar::after{content:"";position:absolute;top:50%;width:9px;height:9px;background:#dbb347;transform:translateY(-50%) rotate(45deg);box-shadow:0 0 8px rgba(219,179,71,.5)}
.hotbar::before{left:-5px}.hotbar::after{right:-5px}
.hb-slot{position:relative;width:58px;height:58px;border:1px solid rgba(219,179,71,.55);border-radius:4px;background:#000;cursor:help;outline:none;transition:box-shadow .15s,border-color .15s}
.hb-slot img{width:100%;height:100%;border-radius:3px;object-fit:cover}.hb-slot::after{content:"";position:absolute;inset:0;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),inset 0 10px 14px -10px rgba(255,255,255,.25);pointer-events:none}
.hb-slot:hover,.hb-slot:focus{border-color:#ffd100;box-shadow:0 0 12px rgba(255,209,0,.4)}
.hb-slot>kbd{position:absolute;top:2px;right:2px;z-index:1;border:0;background:rgba(0,0,0,.7);color:#fff;padding:0 3px;font-size:10px}
/* in-game tooltip (scripts/ui/ability_tooltip.gd) */
.tt{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);width:300px;z-index:40;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s;
 background:rgba(18,13,5,.96);border:2px solid rgba(219,179,71,.95);border-radius:3px;box-shadow:0 4px 10px rgba(0,0,0,.55);padding:10px 12px;text-align:left;font-family:Inter,sans-serif;line-height:1.35}
.hb-slot:hover .tt,.hb-slot:focus .tt,.tal:hover .tt,.tal:focus .tt{opacity:1;visibility:visible}
.tt-head{display:flex;gap:8px;justify-content:space-between;align-items:flex-start;margin-bottom:3px}.tt-head b{color:#fff;font-size:16px;font-weight:700}
.tt-head kbd{border:0;background:none;color:#c7bd9e;font-weight:400;padding:0}
.tt-school{font-size:12px;margin-bottom:3px}.tt-row{display:flex;justify-content:space-between;color:#fff;font-size:12px;margin-bottom:3px}
.tt-use{color:#ffd100;font-size:13px;margin:3px 0 0}.tt-grey{color:#c7bd9e;font-size:12px;margin:3px 0 0}
.tt.l{left:0;transform:none}.tt.r{left:auto;right:0;transform:none}
/* abilities */
.abs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ab{display:flex;gap:16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px;transition:border-color .2s}.ab:hover{border-color:rgba(212,176,106,.25)}
.ab-ic{position:relative;flex:none;width:48px;height:48px}.ab-ic img{width:48px;height:48px;border-radius:6px;border:1px solid rgba(219,179,71,.45)}
.ab-ic kbd{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);white-space:nowrap;font-size:10px;background:#0c0d10}
.ab header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.ab h4{margin:0;font-size:16px;font-family:Cinzel,serif;font-weight:600;color:var(--txt)}.ab .sch{font-size:12px}
.ab-meta{display:flex;flex-wrap:wrap;gap:2px 10px;color:var(--mut);font-size:12.5px;margin:4px 0 10px}.ab-meta span+span::before{content:"·";margin-right:10px;opacity:.6}
.ab p{margin:0;font-size:14px;color:#cfccc4;line-height:1.6}.ab .ab-note{color:var(--mut);font-size:13px;margin-top:8px}
/* talents */
.tcols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.tcol h3{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--gold);margin:0 0 14px}
.tcol h3 span{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid rgba(212,176,106,.45);border-radius:50%;font:600 11px Inter,sans-serif;color:var(--gold)}
.tal{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:0 0 12px;outline:none;transition:.2s}
.tal[tabindex]{cursor:help}.tal:hover,.tal:focus{border-color:rgba(219,179,71,.7);background:linear-gradient(180deg,rgba(219,179,71,.07),transparent 70%),var(--panel);box-shadow:inset 0 0 0 1px rgba(219,179,71,.25)}
.tal-h{display:flex;gap:12px;align-items:center;margin:0 0 10px}.tal-h img{width:40px;height:40px;border-radius:6px;flex:none;border:1px solid rgba(219,179,71,.35)}
.tal h4{margin:0;font-family:Cinzel,serif;font-size:15px;color:var(--txt)}.tal .tal-short{margin:2px 0 0;font-size:13px;color:var(--mut);line-height:1.45}
.tal p{margin:0 0 6px;font-size:13.5px;line-height:1.55;color:#cfccc4}.tal p:last-of-type{margin:0}
.tal .pro,.tal .con,.tal .tip{padding-left:14px;position:relative}.tal .pro::before,.tal .con::before{position:absolute;left:0;font-weight:700}
.tal .pro::before{content:"+";color:#9fd38e}.tal .con::before{content:"–";color:#e39a8a}.tal .tip{color:var(--mut);font-style:italic;padding-left:0;margin-top:8px}
.tal .tt{bottom:auto;top:calc(100% + 8px)}
/* maps / dr / modes */
.map{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center;margin:48px 0}.map img{border-radius:10px;border:1px solid var(--line);width:100%;height:auto}
.map p{color:#cfccc4}.drcats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.wk>section.panel,.wk>section{margin-top:32px}
table.kb{border-collapse:collapse;width:100%;max-width:460px}table.kb td{padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}table.kb td:last-child{text-align:right}
/* home page class links */
.role li a.cl-link{display:flex;align-items:center;gap:12px;color:inherit;flex-wrap:nowrap}.role li a.cl-link:hover{transform:translateX(3px)}
.role li a.cl-link .view{font:500 11.5px Inter,sans-serif;letter-spacing:.04em;color:var(--mut);opacity:.75;transition:.2s}
.role li a.cl-link:hover .view{color:var(--gold);opacity:1}
@media (max-width:980px){.wk-tiles,.ccards{grid-template-columns:1fr 1fr}.tcols,.drcats{grid-template-columns:1fr}.abs{grid-template-columns:1fr}.map{grid-template-columns:1fr}.ov{grid-template-columns:1fr;gap:32px}}
@media (max-width:600px){.wk{padding-top:88px}.wk .sec{margin-top:48px}.subnav{display:none}.cl-hero{padding:92px 0 32px}.cl-id{gap:18px;align-items:flex-start}
 .cl-hero .portrait img{width:80px;height:80px}.cl-hero .tagline{font-size:16px}.ccards,.wk-tiles{grid-template-columns:1fr}.ov{padding:22px}
 .hotbar{gap:6px;padding:8px;max-width:292px}.hb-slot{width:50px;height:50px}.tt{position:fixed;left:12px;right:12px;bottom:16px;width:auto;transform:none}.ab{padding:16px}}
