@import url("https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Source+Sans+3:wght@300;400;500;600&display=swap");

:root{
  --bg:#02060b;--panel:rgba(5,13,23,.90);--panel-2:rgba(8,19,33,.88);--panel-3:rgba(12,27,45,.92);
  --line:rgba(111,190,255,.28);--line-strong:rgba(126,201,255,.64);--blue:#7ac8ff;--text:#f4f7fb;
  --muted:#9eb0c0;--muted-2:#72889a;--orange:#ff7544;--orange-soft:rgba(255,117,68,.22);--red:#ff5f67;
  --green:#65d99d;--shadow:0 20px 70px rgba(0,0,0,.48),0 0 24px rgba(46,139,204,.08);
  --radius:12px;--shell:1180px;
}
*{box-sizing:border-box}html{min-width:320px;background:var(--bg);scroll-behavior:smooth}
body{margin:0;min-height:100vh;background-color:var(--bg);color:var(--text);font:300 16px/1.55 "Source Sans 3","Segoe UI",sans-serif;
  background-image:radial-gradient(circle at 50% -6%,rgba(43,120,176,.24),transparent 36rem),linear-gradient(rgba(0,5,10,.48),rgba(0,4,8,.88)),url('../../images/background.jpg');
  background-position:center top,center,center;background-repeat:no-repeat;background-size:auto,cover,cover;background-attachment:fixed}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.42),transparent 14%,transparent 86%,rgba(0,0,0,.42)),radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.64) 100%)}
a{color:inherit}button,input,select,textarea{font:inherit}.shell{width:min(var(--shell),calc(100% - 40px));margin:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:999;background:#fff;color:#000;padding:8px 12px}

.topbar{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(114,188,244,.16);background:rgba(2,7,13,.90);backdrop-filter:blur(18px)}
.topbar-inner{min-height:68px;display:flex;align-items:center;gap:18px}.brand{font:600 1.12rem/1 "Rajdhani",sans-serif;letter-spacing:.13rem;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.brand b{color:var(--orange);font-weight:600}.topnav{display:flex;align-items:center;gap:4px;margin-left:auto}.topnav a,.era-nav a{padding:9px 11px;border-radius:7px;color:#a9bac8;text-decoration:none;font:600 .78rem/1 "Rajdhani",sans-serif;letter-spacing:.08rem;text-transform:uppercase;transition:.15s}.topnav a:hover,.topnav a.active,.era-nav a:hover,.era-nav a.active{background:rgba(111,190,255,.09);color:#fff}
.era-nav{display:flex;align-items:center;gap:3px;padding-left:12px;border-left:1px solid rgba(126,201,255,.16)}.era-nav a.active{color:var(--orange);background:rgba(255,117,68,.09)}
.mobile-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:transparent;color:#fff;border-radius:7px;padding:7px 10px}

.page{padding:52px 0 80px}.hero{max-width:880px;margin:0 auto 42px;text-align:center}.hero.compact{max-width:960px;margin-bottom:30px}.gizzard{position:relative;width:150px;height:150px;margin:0 auto 18px;border:1px solid rgba(224,241,255,.76);border-radius:50%;padding:7px;background:rgba(3,9,16,.48);overflow:hidden}.gizzard img{width:100%;height:100%;object-fit:contain;border-radius:50%}.gizzard:after{content:"";position:absolute;inset:7px;border-radius:50%;background:radial-gradient(circle at 54.5% 36%,rgba(255,117,68,.10),rgba(255,117,68,.04) 6%,transparent 14%);pointer-events:none}
.kicker{margin:0 0 8px;color:#91a9ba;font:600 .78rem/1.2 "Rajdhani",sans-serif;letter-spacing:.20rem;text-transform:uppercase}.hero h1,.page-title{margin:0;font:500 clamp(2.7rem,7vw,5.1rem)/.98 "Rajdhani",sans-serif;letter-spacing:clamp(.12rem,.8vw,.48rem);text-transform:uppercase}.hero .lede,.page-lede{max-width:720px;margin:15px auto 0;color:var(--muted);font-size:1rem}.accent-rule{width:78px;height:1px;margin:18px auto;background:linear-gradient(90deg,transparent,var(--orange),transparent);box-shadow:0 0 12px var(--orange-soft)}
.patch-badge,.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(126,201,255,.25);border-radius:999px;padding:5px 9px;background:rgba(8,18,30,.72);color:#a9c3d7;font:600 .69rem/1 "Rajdhani",sans-serif;letter-spacing:.08rem;text-transform:uppercase}.badge.orange{border-color:rgba(255,117,68,.35);color:#ff9b77}.badge.green{border-color:rgba(101,217,157,.33);color:#8ce8b7}.badge.red{border-color:rgba(255,95,103,.35);color:#ff8c92}

.era-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px auto 42px;max-width:920px}.era-card,.tool-card,.feature-card,.macro-hub-card{position:relative;border:1px solid var(--line-strong);border-radius:var(--radius);background:linear-gradient(145deg,rgba(34,94,138,.08),transparent 48%),var(--panel-2);box-shadow:var(--shadow);overflow:hidden}.era-card{display:block;padding:22px 24px;text-decoration:none;transition:.16s}.era-card:hover{transform:translateY(-3px);border-color:rgba(151,218,255,.9);background-color:var(--panel-3)}.era-card .era-num{color:var(--orange);font:700 .7rem/1 "Rajdhani",sans-serif;letter-spacing:.12rem}.era-card h2{margin:8px 0 2px;font:600 1.65rem/1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.06rem}.era-card p{margin:7px 0 0;color:var(--muted);font-size:.88rem}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:38px 0 16px}.section-head h2{margin:0;font:600 1.65rem/1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.08rem}.section-head p{margin:0;color:var(--muted);max-width:630px;font-size:.9rem}
.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.tool-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;min-height:155px;padding:24px 26px;text-decoration:none;transition:.16s}.tool-card:hover,.feature-card:hover,.macro-hub-card:hover{transform:translateY(-2px);border-color:rgba(151,218,255,.9)}.tool-index{display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(255,117,68,.45);border-radius:50%;color:var(--orange);font:700 .75rem/1 "Rajdhani",sans-serif}.tool-card h3,.feature-card h3,.macro-hub-card h3{margin:0;font:600 1.55rem/1.1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.05rem}.tool-card p,.feature-card p,.macro-hub-card p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.arrow{width:12px;height:12px;border-top:2px solid var(--orange);border-right:2px solid var(--orange);transform:rotate(45deg)}
.feature-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:16px;padding:23px 26px;text-decoration:none;transition:.16s}.feature-tag{color:var(--orange);font:700 .72rem/1 "Rajdhani",sans-serif;letter-spacing:.13rem;text-transform:uppercase}.feature-card .button{flex:0 0 auto}

.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);padding:22px}.panel + .panel{margin-top:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-title h2,.panel-title h3{margin:0;font:600 1.35rem/1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.06rem}.subtle{color:var(--muted);font-size:.88rem}
.macro-hub{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0 34px}.macro-hub-card{padding:18px;text-decoration:none;transition:.15s}.macro-hub-card .tool-index{width:38px;height:38px;margin-bottom:14px}.macro-hub-card h3{font-size:1.15rem}.macro-hub-card p{font-size:.83rem}

.filters{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.class-filter{display:flex;align-items:center;gap:8px;border:1px solid rgba(126,201,255,.20);border-radius:8px;padding:7px 10px;background:rgba(8,18,30,.78);color:#c4d0db;cursor:pointer;transition:.15s}.class-filter img{width:26px;height:26px;border-radius:5px;image-rendering:auto}.class-filter span{font:600 .78rem/1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.04rem}.class-filter:hover,.class-filter.active{border-color:var(--class-color,var(--blue));box-shadow:0 0 0 1px color-mix(in srgb,var(--class-color,var(--blue)) 35%,transparent);color:#fff;background:rgba(17,34,52,.95)}
.chip{border:1px solid rgba(126,201,255,.22);border-radius:999px;padding:6px 10px;background:rgba(7,17,28,.78);color:#afbfcc;cursor:pointer;font-size:.78rem}.chip.active,.chip:hover{border-color:rgba(126,201,255,.72);color:#fff;background:rgba(54,128,180,.12)}
.searchbar{display:flex;gap:10px;margin-top:14px}.searchbar input,.field input,.field select,.field textarea,.builder-editor{width:100%;border:1px solid rgba(126,201,255,.24);border-radius:8px;background:#040b13;color:#eef5fb;padding:10px 12px;outline:none}.searchbar input:focus,.field input:focus,.field select:focus,.field textarea:focus,.builder-editor:focus{border-color:rgba(126,201,255,.72);box-shadow:0 0 0 3px rgba(58,148,214,.08)}
.macro-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:18px}.macro-card{border:1px solid rgba(126,201,255,.20);border-radius:10px;background:rgba(4,11,19,.90);padding:17px;min-width:0}.macro-card.hidden{display:none}.macro-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.macro-card h3{margin:0;font:600 1.16rem/1.1 "Rajdhani",sans-serif;letter-spacing:.03rem}.macro-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.macro-card .desc{min-height:42px;margin:10px 0;color:var(--muted);font-size:.85rem}.macro-code,.output-code{position:relative;margin:0;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#010407;padding:12px 12px 38px;color:#dcebf6;font:400 .78rem/1.42 Consolas,"Courier New",monospace;white-space:pre-wrap;overflow-wrap:anywhere;min-height:86px}.copy-btn{position:absolute;right:7px;bottom:7px;border:1px solid rgba(255,117,68,.35);border-radius:6px;background:rgba(255,117,68,.09);color:#ff9872;padding:5px 8px;font:600 .68rem/1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.05rem;cursor:pointer}.copy-btn:hover{background:rgba(255,117,68,.18)}.no-results{display:none;color:var(--muted);text-align:center;padding:28px}.no-results.show{display:block}

.builder-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);gap:16px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}.field label{color:#93aabd;font:600 .72rem/1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.06rem}.check-row{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.check-row label{display:flex;gap:6px;align-items:center;color:#b8c6d1;font-size:.82rem}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.button{border:1px solid rgba(126,201,255,.40);border-radius:7px;background:rgba(35,93,136,.11);color:#dcedf8;padding:9px 12px;cursor:pointer;text-decoration:none;font:600 .76rem/1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.06rem}.button:hover{border-color:rgba(126,201,255,.85);background:rgba(35,93,136,.21)}.button.primary{border-color:rgba(255,117,68,.55);color:#ffc0aa;background:rgba(255,117,68,.09)}.button.danger{border-color:rgba(255,95,103,.35);color:#ff9ca1}.builder-editor{min-height:195px;resize:vertical;font:400 .8rem/1.45 Consolas,"Courier New",monospace}.count-row{display:flex;justify-content:space-between;align-items:center;margin:8px 0;color:var(--muted);font-size:.82rem}.count-row strong{font-weight:600;color:#d8e5ee}.count-row strong.over{color:var(--red)}.rich-preview{border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#010407;min-height:116px;padding:12px;color:#dcebf6;font:400 .8rem/1.45 Consolas,"Courier New",monospace;white-space:pre-wrap;overflow-wrap:anywhere}.rich-preview .overflow{color:var(--red);text-shadow:0 0 8px rgba(255,95,103,.20)}.warning-list{display:grid;gap:7px;margin-top:10px}.warning{border-left:2px solid var(--red);background:rgba(255,95,103,.06);padding:8px 10px;color:#ff9aa0;font-size:.8rem}.info{border-left-color:var(--blue);background:rgba(122,200,255,.06);color:#a9d8f7}

.utility-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.utility-card{border:1px solid rgba(126,201,255,.18);border-radius:9px;padding:16px;background:rgba(4,11,19,.82)}.utility-card h3{margin:0 0 4px;font:600 1.05rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.utility-card p{margin:0 0 12px;color:var(--muted);font-size:.82rem}

.prof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.prof-card{border:1px solid var(--line);border-radius:10px;background:rgba(5,13,22,.86);padding:17px;cursor:pointer}.prof-card:hover,.prof-card.active{border-color:rgba(126,201,255,.72);background:rgba(12,29,47,.92)}.prof-card h3{margin:0;font:600 1.1rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.prof-card p{margin:7px 0 0;color:var(--muted);font-size:.82rem}.guide-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.86rem}.guide-table th,.guide-table td{text-align:left;padding:10px;border-bottom:1px solid rgba(126,201,255,.12);vertical-align:top}.guide-table th{color:#93aabd;font:600 .72rem/1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.05rem}.guide-table td:first-child{white-space:nowrap;color:#e8f2fa;font-weight:500}.guide-detail{display:none}.guide-detail.active{display:block}

.class-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.class-card{display:flex;align-items:center;gap:10px;border:1px solid rgba(126,201,255,.20);border-radius:9px;background:rgba(6,15,25,.86);padding:10px;color:#eaf4fb;cursor:pointer}.class-card img{width:36px;height:36px;border-radius:7px}.class-card span{font:600 .82rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.class-card:hover,.class-card.active{border-color:var(--class-color,var(--blue));background:rgba(14,30,47,.94)}
.talent-summary{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:16px 0}.counter{border:1px solid rgba(126,201,255,.18);border-radius:8px;padding:8px 11px;background:rgba(5,13,22,.82);color:#afc0cd;font-size:.82rem}.counter b{color:#fff}.talent-trees{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.talent-tree{border:1px solid rgba(126,201,255,.22);border-radius:10px;background:linear-gradient(rgba(2,7,13,.62),rgba(2,7,13,.94)),radial-gradient(circle at 50% 10%,color-mix(in srgb,var(--class-color,#7ac8ff) 18%,transparent),transparent 55%);padding:14px;min-width:0}.tree-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.tree-head h3{margin:0;font:600 1.12rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.tree-points{color:var(--orange);font:600 .78rem/1 "Rajdhani",sans-serif}.talent-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:68px;gap:7px}.talent-node{position:relative;display:grid;place-items:center;border:1px solid rgba(126,201,255,.22);border-radius:8px;background:rgba(5,13,22,.92);padding:4px;color:#d7e5ef;cursor:pointer;user-select:none;min-width:0}.talent-node:hover{border-color:rgba(126,201,255,.72)}.talent-node.locked{opacity:.42;cursor:not-allowed}.talent-node .talent-name{max-width:100%;font:600 .63rem/1.05 "Rajdhani",sans-serif;text-align:center;overflow-wrap:anywhere}.talent-node .rank{position:absolute;right:3px;bottom:2px;border-radius:4px;background:#000;color:#ffd46b;padding:1px 4px;font:700 .6rem/1 "Rajdhani",sans-serif}.talent-node.maxed{border-color:#d6bd54;box-shadow:inset 0 0 12px rgba(214,189,84,.12)}.talent-node.spent{border-color:rgba(101,217,157,.55)}
.calculator-note{margin:14px 0 0;padding:10px 12px;border:1px solid rgba(255,117,68,.22);border-radius:8px;background:rgba(255,117,68,.05);color:#d7b0a2;font-size:.82rem}
.saved-builds{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.saved-build{border:1px solid rgba(126,201,255,.18);border-radius:7px;padding:6px 9px;background:rgba(4,11,19,.82);color:#becbd5;cursor:pointer;font-size:.78rem}

.glyph-layout{display:grid;grid-template-columns:320px 1fr;gap:14px}.glyph-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.glyph-slot{min-height:92px;border:1px dashed rgba(126,201,255,.28);border-radius:8px;background:rgba(4,11,19,.72);padding:9px;cursor:pointer}.glyph-slot.selected{border-style:solid;border-color:rgba(255,117,68,.55)}.glyph-slot small{display:block;color:#7890a3;font:600 .65rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.glyph-slot strong{display:block;margin-top:6px;font-size:.78rem;line-height:1.15}.glyph-browser{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:430px;overflow:auto;padding-right:4px}.glyph-item{border:1px solid rgba(126,201,255,.17);border-radius:8px;background:rgba(4,11,19,.84);padding:9px;cursor:pointer}.glyph-item:hover{border-color:rgba(126,201,255,.55)}.glyph-item h4{margin:0;font-size:.84rem}.glyph-item p{margin:4px 0 0;color:var(--muted);font-size:.74rem}.level-warning{margin-top:8px;color:var(--red);font-size:.78rem}

.pet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pet-tree{border:1px solid var(--line);border-radius:10px;padding:14px;background:rgba(4,11,19,.86)}.pet-tree h3{margin:0 0 10px;font:600 1.05rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.pet-node{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(126,201,255,.11);padding:8px 0;cursor:pointer}.pet-node:last-child{border-bottom:0}.pet-node span{font-size:.82rem}.pet-node b{color:#ffd46b;font-size:.76rem}

.addon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.addon-card{border:1px solid var(--line);border-radius:9px;background:rgba(5,13,22,.84);padding:16px}.addon-card h3{margin:0;font:600 1.1rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.addon-card .category{margin:5px 0;color:var(--orange);font:600 .68rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.addon-card p{margin:8px 0 0;color:var(--muted);font-size:.84rem}

.footer{padding:28px 0 38px;border-top:1px solid rgba(126,201,255,.10);color:#6f8292;text-align:center;font:500 .72rem/1.4 "Rajdhani",sans-serif;letter-spacing:.06rem;text-transform:uppercase}.footer b{color:#aab9c5;font-weight:600}.footer .reborn{color:var(--orange)}
.toast{position:fixed;right:18px;bottom:18px;z-index:100;transform:translateY(20px);opacity:0;pointer-events:none;border:1px solid rgba(101,217,157,.4);border-radius:8px;background:#07130e;color:#9ce4bd;padding:9px 12px;font-size:.82rem;transition:.18s}.toast.show{transform:none;opacity:1}

@media(max-width:980px){.topnav{display:none}.mobile-toggle{display:block}.topbar.open .topnav{display:flex;position:absolute;top:68px;left:20px;right:20px;flex-direction:column;align-items:stretch;padding:10px;border:1px solid var(--line);border-radius:9px;background:#050d16}.era-nav{margin-left:auto}.macro-hub{grid-template-columns:repeat(2,1fr)}.talent-trees{grid-template-columns:1fr}.class-grid{grid-template-columns:repeat(3,1fr)}.prof-grid{grid-template-columns:repeat(2,1fr)}.builder-grid,.glyph-layout{grid-template-columns:1fr}}
@media(max-width:700px){.shell{width:min(100% - 24px,var(--shell))}.page{padding-top:34px}.topbar-inner{gap:8px}.brand{font-size:.95rem}.era-nav{padding-left:6px}.era-nav a{padding:8px 7px;font-size:.67rem}.era-card,.tool-grid,.macro-grid,.utility-grid,.addon-grid,.pet-grid{grid-template-columns:1fr}.era-picker{grid-template-columns:1fr}.tool-card{min-height:130px;padding:20px}.macro-hub{grid-template-columns:1fr 1fr}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.class-grid{grid-template-columns:repeat(2,1fr)}.prof-grid{grid-template-columns:1fr}.glyph-browser{grid-template-columns:1fr}.feature-card{align-items:flex-start;flex-direction:column}.section-head{align-items:flex-start;flex-direction:column}.hero h1,.page-title{font-size:2.65rem}.gizzard{width:132px;height:132px}}
@media(max-width:430px){.macro-hub{grid-template-columns:1fr}.era-nav a{font-size:.6rem;padding:7px 5px}.class-grid{grid-template-columns:1fr 1fr}.class-card{padding:7px}.class-card img{width:30px;height:30px}.glyph-slots{grid-template-columns:1fr}}

/* Renderer compatibility / v0.1 shell */
.page-hero{max-width:900px;margin:0 auto 34px;text-align:center}.page-hero .kicker{display:block}.page-hero h1{margin:0;font:500 clamp(2.5rem,6vw,4.5rem)/.98 "Rajdhani",sans-serif;letter-spacing:clamp(.10rem,.6vw,.35rem);text-transform:uppercase}.page-hero p{max-width:760px;margin:14px auto 0;color:var(--muted)}
.eyebrow{display:block;margin-bottom:7px;color:var(--orange);font:700 .69rem/1 "Rajdhani",sans-serif;letter-spacing:.13rem;text-transform:uppercase}.tool-section{margin-top:42px}.tool-card h2,.feature-card h2{margin:0;font:600 1.5rem/1.1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.05rem}.tool-card.static{display:block}.tool-card.static:hover{transform:none}.tool-card.static p{min-height:44px}.mini-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.mini-links a{border:1px solid rgba(126,201,255,.25);border-radius:999px;padding:5px 9px;text-decoration:none;color:#c4d4df;font:600 .72rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.mini-links a:hover{border-color:var(--orange);color:#fff}
.hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:34px;max-width:940px;text-align:left}.hero .gizzard{margin:0;width:180px;height:180px;object-fit:contain}.hero-copy p{max-width:690px;color:var(--muted)}
.macro-hub>a{display:block;padding:18px;border:1px solid var(--line-strong);border-radius:var(--radius);background:linear-gradient(145deg,rgba(34,94,138,.08),transparent 48%),var(--panel-2);box-shadow:var(--shadow);text-decoration:none;transition:.15s}.macro-hub>a:hover{transform:translateY(-2px);border-color:rgba(151,218,255,.9)}.macro-hub>a b{display:block;font:600 1.05rem/1.1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.04rem}.macro-hub>a span{display:block;margin-top:6px;color:var(--muted);font-size:.8rem}
.class-filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.class-pill{display:flex;align-items:center;gap:7px;border:1px solid rgba(126,201,255,.20);border-radius:8px;padding:7px 10px;background:rgba(8,18,30,.78);color:#c4d0db;cursor:pointer}.class-pill img{width:25px;height:25px;border-radius:5px}.class-pill span{font:600 .75rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.class-pill:hover,.class-pill.active{border-color:var(--class-color,var(--blue));color:#fff;background:rgba(17,34,52,.95)}
.filter-row{display:grid;gap:10px;margin-top:14px}.chips{display:flex;gap:7px;flex-wrap:wrap}.search,.utility-card input,.glyph-layout input,.glyph-layout select{width:100%;border:1px solid rgba(126,201,255,.24);border-radius:8px;background:#040b13;color:#eef5fb;padding:10px 12px;outline:none}.search:focus,.utility-card input:focus,.glyph-layout input:focus,.glyph-layout select:focus{border-color:rgba(126,201,255,.72);box-shadow:0 0 0 3px rgba(58,148,214,.08)}
.macro-card .macro-meta{display:block;margin:0 0 6px;color:#87a4b8;font:600 .68rem/1.2 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.05rem}.macro-card>p{min-height:40px;margin:10px 0;color:var(--muted);font-size:.84rem}.macro-card pre{margin:0;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#010407;padding:12px;color:#dcebf6;font:400 .78rem/1.42 Consolas,"Courier New",monospace;white-space:pre-wrap;overflow-wrap:anywhere;min-height:80px}.macro-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.macro-actions span{color:#70889a;font-size:.73rem}.status{flex:0 0 auto;border:1px solid rgba(126,201,255,.25);border-radius:999px;padding:4px 7px;color:#a9c3d7;font:600 .63rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.status-chromie-tested{border-color:rgba(101,217,157,.38);color:#8ce8b7}.status-reference{border-color:rgba(255,117,68,.32);color:#ff9b77}
.utility-card .button{margin-top:10px}.glyph-layout .button.active{border-color:var(--orange);color:#ffc0aa}.prof-card{color:var(--text);text-align:left}.glyph-slot,.glyph-item{color:var(--text);text-align:left}.pet-node{color:var(--text)}
@media(max-width:700px){.hero{grid-template-columns:1fr;text-align:center}.hero .gizzard{margin:auto}.tool-card.static p{min-height:0}.macro-actions{align-items:flex-start;flex-direction:column}}

/* v0.2 interaction/layout corrections */
.hidden-filter{display:none!important}.macro-hub-three{grid-template-columns:repeat(3,1fr)}
.builder-page{max-width:1120px;margin:0 auto}.builder-grid-wide{grid-template-columns:minmax(380px,.9fr) minmax(430px,1.1fr)}
.builder-output-panel{display:flex;flex-direction:column}.builder-output-panel .builder-editor{min-height:240px}.output-label{display:flex;justify-content:space-between;gap:12px;margin:14px 0 6px;color:#d9e8f2;font:600 .75rem/1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.05rem}.output-label span{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0}.panel-title strong.over{color:var(--red)}

.class-pill img,.class-card img{filter:none!important;opacity:1!important;saturate:1!important}.class-pill{min-height:43px}

.guide-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:36px 0 14px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.guide-hero h2{margin:3px 0 7px;font:600 2rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.guide-hero p{max-width:760px;margin:0;color:var(--muted)}.guide-note{margin:12px 0;padding:11px 13px;border:1px solid rgba(126,201,255,.16);border-radius:8px;background:rgba(6,15,25,.74);color:#b8c7d2;font-size:.84rem}.guide-table td:nth-child(2){font-weight:500;color:#dceaf4}.guide-table td:nth-child(3){color:#b6c7d4}

/* Talent trees intentionally use the familiar compact 4-column spell-icon geometry. */
.talent-trees{align-items:start;gap:14px}.talent-tree{padding:13px 10px 18px;background:linear-gradient(rgba(2,7,13,.50),rgba(2,7,13,.92)),radial-gradient(circle at 50% 5%,color-mix(in srgb,var(--class-color,#7ac8ff) 22%,transparent),transparent 65%)}
.tree-head{min-height:34px;margin:0 5px 12px}.tree-head>div{display:flex;align-items:baseline;gap:9px}.tree-reset{border:0;background:none;color:#748b9d;padding:3px 0;cursor:pointer;font:600 .64rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.tree-reset:hover{color:#fff}.tree-points{white-space:nowrap}
.talent-grid{--talent-step:64px;position:relative;display:grid;grid-template-columns:repeat(4,50px);grid-auto-rows:50px;column-gap:14px;row-gap:14px;justify-content:center;align-items:center;min-height:calc(var(--talent-rows,11) * 64px - 14px);overflow:visible}.talent-links{position:absolute;z-index:0;left:50%;top:0;width:256px;height:calc(var(--talent-rows,11) * 64px);transform:translateX(-50%);overflow:visible;pointer-events:none}.talent-link{fill:none;stroke:rgba(117,140,156,.38);stroke-width:3;stroke-linecap:square;stroke-linejoin:miter}.talent-link.active{stroke:rgba(126,218,141,.72);filter:drop-shadow(0 0 3px rgba(101,217,157,.2))}
.talent-node{z-index:1;width:48px;height:48px;min-width:48px;align-self:center;justify-self:center;padding:3px;border:2px solid #394958;border-radius:7px;background:linear-gradient(145deg,rgba(48,70,88,.50),rgba(3,8,13,.95));box-shadow:0 2px 7px rgba(0,0,0,.65);overflow:visible}.talent-node:hover{z-index:8;border-color:#8dcdf9}.talent-node.locked{opacity:.34;filter:grayscale(.72)}.talent-node.spent{opacity:1;filter:none;border-color:#6ec77f}.talent-node.maxed{border-color:#dfbd3f;box-shadow:0 0 0 1px rgba(223,189,63,.22),0 2px 8px #000}.talent-glyph{display:grid;place-items:center;width:100%;height:100%;border-radius:4px;background:radial-gradient(circle at 35% 25%,color-mix(in srgb,var(--class-color,#7ac8ff) 58%,#fff 6%),color-mix(in srgb,var(--class-color,#7ac8ff) 34%,#05090d 66%) 62%,#020507);color:#fff;text-shadow:0 1px 3px #000;font:700 .72rem/1 "Rajdhani",sans-serif;letter-spacing:.02rem}.talent-node .rank{right:-5px;bottom:-4px;z-index:2;border:1px solid rgba(255,218,89,.32);font-size:.62rem}.talent-tooltip{display:none;position:absolute;z-index:100;left:50%;bottom:calc(100% + 9px);width:230px;transform:translateX(-50%);padding:9px 10px;border:1px solid rgba(126,201,255,.38);border-radius:7px;background:#02070d;box-shadow:0 10px 30px #000;color:#fff;text-align:left;pointer-events:none}.talent-tooltip b{display:block;font:600 .86rem/1.1 "Rajdhani",sans-serif}.talent-tooltip small{display:block;margin-top:4px;color:#9fb2c1;font-size:.68rem;line-height:1.25}.talent-node:hover .talent-tooltip{display:block}

@media(max-width:980px){.builder-grid-wide{grid-template-columns:1fr}.macro-hub-three{grid-template-columns:1fr}.talent-trees{grid-template-columns:1fr}.talent-tree{max-width:420px;width:100%;margin:auto}.guide-hero{flex-direction:column}}
@media(max-width:520px){.talent-grid{grid-template-columns:repeat(4,44px);column-gap:8px;row-gap:11px;grid-auto-rows:44px}.talent-node{width:42px;height:42px;min-width:42px}.talent-links{display:none}.talent-tooltip{width:190px}.guide-table{font-size:.77rem}.guide-table th,.guide-table td{padding:8px 5px}}

/* v0.2.1 root navigation: era choice stays in the top bar, tools stay on the landing page. */
.era-nav button{appearance:none;border:0;background:transparent;padding:9px 11px;border-radius:7px;color:#a9bac8;cursor:pointer;font:600 .78rem/1 "Rajdhani",sans-serif;letter-spacing:.08rem;text-transform:uppercase;transition:.15s}
.era-nav button:hover,.era-nav button.active{background:rgba(111,190,255,.09);color:#fff}.era-nav button.active{color:var(--orange);background:rgba(255,117,68,.09)}
.root-hero{margin-bottom:34px}.root-era-status{display:inline-block;margin-top:16px;padding:8px 11px;border:1px solid rgba(126,201,255,.18);border-radius:7px;background:rgba(3,10,17,.56);color:var(--muted);font-size:.82rem}.root-era-status b{color:#e9f5ff;font-weight:500}
.root-tool-grid{max-width:1080px;margin:0 auto}.root-tool-card h2{margin:0;font:600 1.5rem/1.1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.05rem}
@media(min-width:981px){.topbar-inner>.era-nav{margin-left:28px}.topbar-inner>.topnav{margin-left:auto}}
@media(max-width:980px){.topbar-inner>.era-nav{margin-left:auto}.era-nav button{padding:8px 8px;font-size:.68rem}}
@media(max-width:700px){.era-nav button{padding:8px 6px;font-size:.64rem}.root-era-status{margin-top:13px}.root-tool-grid{grid-template-columns:1fr}}

/* v0.2.4 era identity. All eras share identical background geometry; only the tint changes. */
body[data-era="classic"]{--orange:#d6a64a;--orange-soft:rgba(214,166,74,.22);--blue:#e0c27b;--line:rgba(224,194,123,.26);--line-strong:rgba(224,194,123,.64);}
body[data-era="classic"]{background-image:radial-gradient(circle at 50% -6%,rgba(139,86,31,.26),transparent 36rem),linear-gradient(rgba(6,4,1,.48),rgba(8,5,1,.88)),url('../../images/background.jpg');}
body[data-era="tbc"]{--orange:#78d34f;--orange-soft:rgba(120,211,79,.20);--blue:#a68cff;--line:rgba(124,211,92,.25);--line-strong:rgba(147,224,111,.62);}
body[data-era="tbc"]{background-image:radial-gradient(ellipse at 58% -6%,rgba(72,153,53,.24),rgba(105,67,159,.10) 20rem,transparent 36rem),linear-gradient(rgba(1,6,2,.48),rgba(1,7,3,.89)),url('../../images/background.jpg');}
body[data-era="wrath"]{--orange:#ff7544;--orange-soft:rgba(255,117,68,.22);--blue:#7ac8ff;--line:rgba(111,190,255,.28);--line-strong:rgba(126,201,255,.64);}
body[data-era="wrath"]{background-image:radial-gradient(circle at 50% -6%,rgba(43,120,176,.24),transparent 36rem),linear-gradient(rgba(0,5,10,.48),rgba(0,4,8,.88)),url('../../images/background.jpg');}

/* Keep the gear artwork anchored identically while era colors change. */
body[data-era="classic"],body[data-era="tbc"],body[data-era="wrath"]{background-position:center top,center,center;background-size:auto,cover,cover;background-repeat:no-repeat;background-attachment:fixed}
#pet-calculator[hidden]{display:none!important}

/* v0.2.5 addon library: ranked era-specific essentials with direct download links. */
.addon-hero{max-width:1180px}.addon-hero h1{font-size:clamp(2.25rem,4.6vw,4.25rem);letter-spacing:clamp(.08rem,.48vw,.28rem)}
.addon-ranked-grid{align-items:stretch}.addon-ranked-card{display:flex;min-height:235px;flex-direction:column;position:relative}
.addon-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.addon-rank{color:var(--orange);font:700 .78rem/1 "Rajdhani",sans-serif;letter-spacing:.08rem}.addon-downloads{color:var(--muted-2);font:600 .68rem/1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.05rem}
.addon-ranked-card p{flex:1}.addon-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.addon-actions .button{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px}
@media(max-width:700px){.addon-hero h1{font-size:2.35rem}.addon-ranked-card{min-height:0}}

/* v0.2.6 compact addon library + enriched talents */
.root-client-line{margin-top:14px;color:var(--muted);font-size:.92rem}.root-client-line b{color:#eaf6ff;font-weight:500}
.addon-hero{position:relative;padding-bottom:4px}.addon-pack-download{margin-top:22px;border:1px solid var(--orange);border-radius:7px;background:rgba(255,92,44,.10);color:#ff9b78;padding:10px 15px;font:700 .75rem/1 "Rajdhani",sans-serif;letter-spacing:.06rem;text-transform:uppercase;cursor:pointer}.addon-pack-download:hover{background:rgba(255,92,44,.18)}
.addon-ranked-card{min-height:0!important;padding:15px 16px 14px}.addon-card-top{margin-bottom:8px}.addon-ranked-card h3{margin:0 0 7px}.addon-name-link{color:var(--text);text-decoration:none}.addon-name-link:hover{color:var(--orange)}.addon-ranked-card p{flex:0 0 auto!important;margin:0 0 10px!important}.addon-download-link{align-self:flex-start;color:var(--orange);font:700 .75rem/1 "Rajdhani",sans-serif;letter-spacing:.05rem;text-decoration:none;text-transform:uppercase}.addon-download-link:hover{text-decoration:underline}.addon-actions{display:none!important}
.talent-icon-img,.talent-icon-sprite{display:block;width:100%;height:100%;border-radius:4px}.talent-icon-img{object-fit:cover}.talent-icon-sprite{width:36px;height:36px;background-repeat:no-repeat;background-size:auto 72px;image-rendering:auto}.talent-node.locked .talent-icon-img,.talent-node.locked .talent-icon-sprite{filter:grayscale(1) brightness(.55)}
.talent-tooltip{width:285px}.talent-tooltip .talent-meta{color:#ffd56a;margin-top:5px}.talent-description{display:block;margin-top:7px;color:#f4df65;font:500 .72rem/1.32 Arial,sans-serif;white-space:pre-line}.talent-description em{display:block;margin-bottom:2px;color:#a9bdca;font-style:normal;font-size:.65rem;text-transform:uppercase;letter-spacing:.04rem}
.pet-tree-picker{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.pet-tree-render{max-width:430px}.pet-single-tree{width:100%;max-width:430px}.pet-talent-node .talent-glyph{font-size:.62rem}
@media(max-width:700px){.talent-tooltip{width:220px}.addon-pack-download{margin-top:16px}.pet-tree-render{max-width:100%}}
/* v0.2.6 tooltip/pet polish */
.talent-tooltip .talent-type{color:#d8e1e8;margin-top:3px}.talent-tooltip .talent-requires{color:#fff;margin-top:2px}.talent-description.current{color:#f4df65}.talent-description.next{margin-top:9px;color:#f4df65}.talent-description.next em{color:#f4df65;text-transform:none;font:600 .72rem/1.2 Arial,sans-serif;letter-spacing:0}.pet-talent-node .talent-icon-img{width:100%;height:100%}#pet-spent.over{color:var(--red);font-weight:700}


/* v0.2.7 Wrath hunter build layout + macro inventory/reset controls */
.wrath-build-tools{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.wrath-build-tools>.tool-section{margin-top:42px}
@media(min-width:1180px){.wrath-build-tools.hunter-mode{grid-template-columns:minmax(0,2fr) minmax(330px,1fr);gap:14px}.wrath-build-tools.hunter-mode #glyphs .glyph-layout{grid-template-columns:280px minmax(0,1fr)}.wrath-build-tools.hunter-mode #pet-calculator .section-head{display:block;min-height:73px}.wrath-build-tools.hunter-mode #pet-calculator .section-head p{margin-top:8px}.wrath-build-tools.hunter-mode .pet-tree-render,.wrath-build-tools.hunter-mode .pet-single-tree{max-width:none}.wrath-build-tools.hunter-mode .pet-calculator-panel{padding:14px 10px 16px}}
@media(max-width:1179px){.wrath-build-tools.hunter-mode{grid-template-columns:1fr}.wrath-build-tools.hunter-mode #pet-calculator{margin-top:12px}}

.builder-picker-button,.builder-reset-details>summary{width:100%;min-height:44px;border:1px solid rgba(126,201,255,.24);border-radius:8px;background:#040b13;color:#eef5fb;padding:9px 12px;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px}.builder-picker-button:hover,.builder-reset-details>summary:hover{border-color:rgba(126,201,255,.7)}.builder-picker-button span,.builder-reset-details>summary span{font-weight:500}.builder-picker-button small,.builder-reset-details>summary small{color:var(--orange);font-size:.72rem;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62%}.builder-reset-details{position:relative}.builder-reset-details>summary{list-style:none}.builder-reset-details>summary::-webkit-details-marker{display:none}.builder-reset-details[open]>summary{border-color:var(--line-strong);border-radius:8px 8px 0 0}.reset-options{position:absolute;z-index:25;left:0;top:100%;width:min(420px,calc(100vw - 32px));display:grid;gap:7px;border:1px solid var(--line-strong);border-top:0;border-radius:0 0 8px 8px;background:#06101a;padding:12px 14px;box-shadow:0 16px 34px rgba(0,0,0,.6)}.reset-options label{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:9px;color:#c7d7e2;font-size:.82rem;padding:4px 0}.reset-options label>input[type="checkbox"]{margin:0;justify-self:center}.reset-options .reset-seconds{grid-template-columns:20px minmax(0,1fr) 72px}.reset-options input[type="number"]{min-width:0;width:72px;padding:6px 8px}.reset-options p{margin:5px 0 0;color:var(--muted);font-size:.72rem;line-height:1.35}.reset-options code,.slot-dialog code{color:#ffd86d;font-family:Consolas,"Courier New",monospace}
.slot-dialog{width:min(720px,calc(100vw - 28px));max-height:92vh;border:1px solid var(--line-strong);border-radius:12px;background:#050d16;color:var(--text);padding:18px;box-shadow:0 24px 90px rgba(0,0,0,.78)}.slot-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}.slot-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.slot-dialog-head h2{margin:0;font:600 1.65rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.slot-dialog-close{border:0;background:none;color:#b8c8d4;font-size:1.8rem;line-height:1;cursor:pointer}.slot-dialog-close:hover{color:#fff}.paper-doll{position:relative;display:grid;grid-template-columns:190px minmax(160px,1fr) 190px;grid-template-areas:"left body right" "weapons weapons weapons";gap:12px;align-items:center;min-height:500px;margin:18px 0;padding:18px;border:1px solid rgba(126,201,255,.16);border-radius:10px;background:radial-gradient(circle at 50% 42%,rgba(64,103,132,.15),transparent 42%),#02070d}.paper-slot-list{display:grid;gap:7px;z-index:2}.paper-slot-left{grid-area:left}.paper-slot-right{grid-area:right}.paper-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(126,201,255,.24);border-radius:7px;background:rgba(8,18,30,.9);color:#dceaf4;padding:8px 9px;cursor:pointer;text-align:left}.paper-slot:hover{border-color:var(--blue)}.paper-slot.selected{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 10%,rgba(8,18,30,.92));box-shadow:0 0 0 1px color-mix(in srgb,var(--orange) 35%,transparent)}.paper-slot span{font:600 .78rem/1 "Rajdhani",sans-serif;text-transform:uppercase}.paper-slot b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:5px;background:#010407;color:#ffd56a;font:700 .68rem/1 "Rajdhani",sans-serif}.paper-doll-silhouette{grid-area:body;position:relative;justify-self:center;width:150px;height:330px;opacity:.72}.paper-head{position:absolute;left:52px;top:7px;width:46px;height:52px;border:2px solid #557084;border-radius:48% 48% 42% 42%;background:linear-gradient(#122435,#07111b)}.paper-body{position:absolute;left:35px;top:62px;width:80px;height:150px;border:2px solid #557084;border-radius:32px 32px 20px 20px;background:linear-gradient(145deg,#102435,#07111b)}.paper-arm,.paper-leg{position:absolute;display:block;border:2px solid #557084;background:#0b1824}.paper-arm{top:76px;width:34px;height:138px;border-radius:18px}.paper-arm.left{left:4px;transform:rotate(7deg)}.paper-arm.right{right:4px;transform:rotate(-7deg)}.paper-leg{top:202px;width:36px;height:122px;border-radius:14px}.paper-leg.left{left:37px}.paper-leg.right{right:37px}.paper-weapons{grid-area:weapons;display:grid;grid-template-columns:repeat(2,minmax(0,190px));justify-content:center;gap:9px;z-index:2}.slot-dialog-actions{display:flex;gap:8px;justify-content:flex-end}
@media(max-width:700px){.paper-doll{grid-template-columns:1fr 1fr;grid-template-areas:"left right" "weapons weapons";min-height:0}.paper-doll-silhouette{display:none}.paper-weapons{grid-template-columns:1fr 1fr}.builder-picker-button small,.builder-reset-details>summary small{max-width:50%}}

.reset-options label>span{display:grid;gap:2px}.reset-options label b{font-weight:500;color:#e5f1f8}.reset-options label small{color:var(--muted);font-size:.68rem;line-height:1.15}.reset-options .reset-seconds{grid-template-columns:20px minmax(0,1fr) 72px}

/* v0.2.8 compact profession picker + anchored library/footer polish */
.profession-picker{max-width:520px;margin:0 auto 26px}.profession-picker label{display:block;margin-bottom:7px}.profession-picker select{width:100%;min-height:48px;border:1px solid var(--line-strong);border-radius:9px;background:#06101a;color:var(--text);padding:10px 13px;font:600 1rem/1 "Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.035rem}.profession-picker select:focus{outline:1px solid var(--orange);outline-offset:1px}.calculator-note a{color:var(--orange)}
#library-heading{scroll-margin-top:94px}.footer-inner{display:flex;align-items:center;justify-content:center;gap:10px 18px;flex-wrap:wrap}.footer-lineage{color:var(--muted);font-size:.72rem}.footer-lineage .reborn{color:var(--orange)}
@media(max-width:700px){.reset-options{width:min(360px,calc(100vw - 28px));}.footer-inner{flex-direction:column;gap:5px}}


/* v0.2.9 /wow deployment + WoW Companion branding */
.companion-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;line-height:1;white-space:nowrap}.companion-brand span{display:block}.companion-brand small{display:block;color:var(--muted-2);font:600 .62rem/1 "Rajdhani",sans-serif;letter-spacing:.115rem;text-transform:uppercase}.root-companion-kicker{display:block;margin:14px 0 0;color:#91a9ba}.root-hero .hero-copy{display:flex;flex-direction:column;align-items:flex-start}.root-hero .hero-copy h1{order:1}.root-hero .root-companion-kicker{order:2}
@media(max-width:700px){.companion-brand small{font-size:.53rem;letter-spacing:.08rem}.root-companion-kicker{font-size:.68rem;letter-spacing:.13rem}}

/* v0.3.1 — homepage tool icons */
.root-tool-card{grid-template-columns:58px 1fr auto}
.tool-icon{display:grid;place-items:center;width:50px;height:50px;color:var(--orange)}
.tool-icon-image{display:block;width:42px;height:42px;background:currentColor;-webkit-mask-image:var(--tool-icon-image);mask-image:var(--tool-icon-image);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.root-tool-card:hover .tool-icon{filter:drop-shadow(0 0 8px rgba(255,117,68,.28))}
@media(max-width:700px){.root-tool-card{grid-template-columns:48px 1fr auto}.tool-icon{width:42px;height:42px}.tool-icon-image{width:36px;height:36px}}

/* v0.3.2 — in-game-inspired talent art/chrome */
.talent-tree{position:relative;isolation:isolate;overflow:visible;border-color:rgba(134,119,82,.58);border-radius:5px;background:#090b0d;box-shadow:0 0 0 1px rgba(0,0,0,.9),inset 0 0 0 1px rgba(224,197,126,.09),0 10px 32px rgba(0,0,0,.42)}
.talent-tree.has-art{background-image:linear-gradient(rgba(0,0,0,.14),rgba(0,0,0,.32)),var(--tree-bg);background-position:center top;background-size:100% 100%;background-repeat:no-repeat}
.talent-tree.has-art:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:4px;background:linear-gradient(90deg,rgba(0,0,0,.34),transparent 18%,transparent 82%,rgba(0,0,0,.34)),linear-gradient(180deg,rgba(0,0,0,.10),transparent 15%,transparent 78%,rgba(0,0,0,.42))}
.tree-head{position:relative;z-index:3;margin:-4px -1px 12px;padding:9px 8px 8px;border-bottom:1px solid rgba(197,169,96,.42);background:linear-gradient(180deg,rgba(4,5,7,.91),rgba(4,5,7,.72) 72%,rgba(4,5,7,.18));text-shadow:0 1px 2px #000}
.tree-head h3{color:#fff;text-shadow:0 1px 2px #000,0 0 7px rgba(0,0,0,.9)}
.tree-points{color:#ffd237;text-shadow:0 1px 2px #000}
.tree-reset{color:#b2aaa0;text-shadow:0 1px 2px #000}.tree-reset:hover{color:#ffd237}
.talent-grid{z-index:2;padding-bottom:4px}
.talent-link{stroke:#5f6262;stroke-width:4;filter:drop-shadow(0 1px 1px #000)}
.talent-link.active{stroke:#d8b72d;filter:drop-shadow(0 0 2px rgba(255,220,61,.7))}
.talent-arrow-head{fill:#5f6262;stroke:#111;stroke-width:.5}.talent-link.active~.talent-arrow-head{fill:#d8b72d}
.talent-node{border-radius:5px;border:2px solid #666a6b;background:#050607;padding:2px;box-shadow:0 0 0 1px #050505,0 2px 5px rgba(0,0,0,.88),inset 0 0 0 1px rgba(255,255,255,.06)}
.talent-node:hover{z-index:20;border-color:#d7bd62;box-shadow:0 0 0 1px #080808,0 0 8px rgba(255,221,91,.42),0 2px 6px #000}
.talent-node.locked{opacity:1;filter:none;border-color:#373a3b;cursor:not-allowed}
.talent-node.locked .talent-icon-img,.talent-node.locked .talent-icon-sprite{filter:grayscale(.9) brightness(.28) contrast(1.08)}
.talent-node.spent{border-color:#20a447;box-shadow:0 0 0 1px #071108,0 0 6px rgba(27,185,70,.24),0 2px 5px #000}
.talent-node.maxed{border-color:#d5b62b;box-shadow:0 0 0 1px #151005,0 0 8px rgba(224,190,42,.32),0 2px 5px #000}
.talent-icon-img,.talent-icon-sprite{border-radius:2px}
.talent-node .rank{right:-6px;bottom:-5px;min-width:24px;padding:2px 4px;border:1px solid #656565;border-radius:4px;background:#020202;color:#cfcfcf;text-align:center;text-shadow:0 1px 2px #000;box-shadow:0 1px 2px #000}
.talent-node.spent .rank{border-color:#176d2e;color:#20ff5b}.talent-node.maxed .rank{border-color:#8f7814;color:#ffe344}
.talent-tooltip{z-index:200;width:300px;padding:10px 11px;border:1px solid #6e7480;border-radius:3px;background:linear-gradient(180deg,#090e1a,#03060c 32%,#02040a);box-shadow:0 0 0 1px #000,0 8px 22px rgba(0,0,0,.94);font-family:Arial,"Segoe UI",sans-serif}
.talent-tooltip b{color:#fff;font:400 .88rem/1.18 Arial,"Segoe UI",sans-serif;text-shadow:0 1px 2px #000}.talent-tooltip small{font-family:Arial,"Segoe UI",sans-serif}
.talent-tooltip .talent-type{color:#d8d8d8}.talent-tooltip .talent-requires{color:#fff}.talent-tooltip .talent-meta{color:#fff1a0}.talent-description{color:#ffd929;font-size:.75rem;line-height:1.3}.talent-description.next,.talent-description.next em{color:#ffd929}.talent-description.next em{margin-top:2px;margin-bottom:4px;color:#fff}
@media(max-width:520px){.talent-tree.has-art{background-size:100% 100%}.talent-tooltip{width:230px}}
.talent-arrow-head.active{fill:#d8b72d}

/* v0.3.3 — tooltip stacking + command-aware macro builder */
.talent-trees{position:relative}
.talent-tree{z-index:1}
.talent-tree:hover{z-index:40}
.talent-tree .tree-head{z-index:1}
.talent-tree .talent-grid{z-index:5}
.talent-node:hover{z-index:500}
.talent-tooltip{z-index:10000!important}

.companion-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.companion-command{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;border:1px solid rgba(126,201,255,.16);border-radius:8px;background:rgba(2,8,14,.52);padding:10px;color:#d7e4ed!important;text-transform:none!important;letter-spacing:0!important;font:400 .8rem/1.25 "Rajdhani",sans-serif!important}
.companion-command:hover{border-color:rgba(126,201,255,.42)}
.companion-command>input[type="checkbox"]{margin:2px 0 0}
.companion-command>span{display:grid;gap:3px}
.companion-command b{color:#f3f8fb;font:600 .82rem/1 "Rajdhani",sans-serif}
.companion-command small{color:var(--muted);font-size:.71rem;line-height:1.25}
.companion-with-value{grid-column:1/-1}
.companion-with-value input[type="text"]{margin-top:6px;width:100%;padding:8px 9px}
.field-help{margin:7px 0 0;color:var(--muted);font-size:.72rem;line-height:1.35}
.field-help code{color:#ffd86d;font-family:Consolas,"Courier New",monospace}
#builder-name-field[hidden],#builder-slot-field[hidden],#builder-reset-field[hidden],#builder-fallback-field[hidden],#builder-companion-field[hidden]{display:none!important}
@media(max-width:700px){.companion-command-grid{grid-template-columns:1fr}.companion-with-value{grid-column:auto}}

/* v0.3.4 — streamlined primary commands + value-bearing companion commands */
.companion-with-value>span{gap:6px}
.companion-command input[type="checkbox"]{width:auto!important;min-width:0;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.companion-command input[type="text"]{width:100%;margin-top:3px;border:1px solid rgba(126,201,255,.22);border-radius:6px;background:#030a11;color:#eef5fb;padding:7px 9px;font:400 .76rem/1.2 "Rajdhani",sans-serif;text-transform:none;letter-spacing:0;outline:none}
.companion-command input[type="text"]:focus{border-color:rgba(126,201,255,.7);box-shadow:0 0 0 2px rgba(58,148,214,.08)}

/* v0.3.6 — homepage balance, rolling feature marquee, talent cursor */
.tool-icon-talents .tool-icon-image{width:31px;height:31px}
.tool-icon-addons .tool-icon-image{width:36px;height:36px}
.companion-marquee{position:relative;display:block;width:min(700px,68vw);max-width:100%;height:18px;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.companion-marquee-track{display:flex;width:max-content;animation:companionMarquee 52s linear infinite;will-change:transform}
.companion-marquee-group{display:flex;align-items:center;flex:none}
.companion-marquee-item{display:inline-flex;align-items:center;flex:none;color:#91a9ba}
.companion-marquee-item:after{content:"·";margin:0 13px;color:var(--orange);opacity:.85}
@keyframes companionMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.talent-node.locked{cursor:pointer!important}
@media(max-width:700px){.tool-icon-talents .tool-icon-image{width:27px;height:27px}.tool-icon-addons .tool-icon-image{width:31px;height:31px}.companion-marquee{width:min(86vw,540px);height:16px}.companion-marquee-track{animation-duration:46s}}
@media(prefers-reduced-motion:reduce){.companion-marquee{height:auto;white-space:normal;mask-image:none;-webkit-mask-image:none}.companion-marquee-track{display:block;animation:none}.companion-marquee-group{display:flex;flex-wrap:wrap}.companion-marquee-group[aria-hidden="true"]{display:none}}

/* v0.3.6 — deeper profession tables */
.guide-table-wrap{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.guide-table{min-width:920px}
.guide-table th:nth-child(1){width:92px}
.guide-table th:nth-child(2){width:24%}
.guide-table th:nth-child(3){width:39%}
.guide-table th:nth-child(4){width:29%}
.guide-table td:nth-child(4){color:#d7c49a}
@media(max-width:700px){.guide-table{min-width:820px}}


/* v0.3.7 profession art, persistent guide presentation, and builder alignment */
.guide-hero{justify-content:flex-start;align-items:center;min-height:146px}
.guide-profession-icon{width:112px;height:112px;flex:0 0 112px;object-fit:cover;border:2px solid rgba(208,180,106,.55);border-radius:8px;box-shadow:0 0 0 3px rgba(0,0,0,.55),0 10px 30px rgba(0,0,0,.25);image-rendering:auto}
.guide-hero-copy{min-width:0;flex:1}.guide-hero-copy p{max-width:850px}
.guide-craft-cell{display:flex;align-items:center;gap:10px;min-height:36px}
.guide-item-icon{width:36px;height:36px;flex:0 0 36px;border:1px solid rgba(255,255,255,.18);border-radius:4px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.65)}
.builder-grid-wide{align-items:start}.builder-grid-wide>.panel{margin-top:0}
@media(max-width:700px){.guide-profession-icon{width:84px;height:84px;flex-basis:84px}.guide-hero{align-items:flex-start}.guide-item-icon{width:32px;height:32px;flex-basis:32px}}

/* v0.3.8 — slot-driven glyph picker, complete guide icon coverage, slower marquee */
.companion-marquee-track{animation-duration:62s}
@media(max-width:700px){.companion-marquee-track{animation-duration:56s}}
.glyph-layout-slot-driven{grid-template-columns:minmax(0,420px)}
.glyph-slot-panel{padding:16px}
.glyph-slot-help{margin:12px 2px 0;color:var(--muted);font-size:.78rem}
.glyph-slot{display:flex;align-items:center;gap:9px;min-width:0}
.glyph-slot-icon{width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(255,255,255,.18);border-radius:4px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.7)}
.glyph-slot-copy{display:block;min-width:0}
.glyph-slot-copy strong{overflow-wrap:anywhere}
.glyph-picker-dialog{width:min(760px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 32px));padding:0;border:1px solid rgba(126,201,255,.34);border-radius:10px;background:#06101a;color:var(--text);box-shadow:0 24px 90px rgba(0,0,0,.82)}
.glyph-picker-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(2px)}
.glyph-picker-shell{display:grid;gap:12px;padding:16px}
.glyph-picker-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.glyph-picker-head h3{margin:3px 0 0;font-size:1.15rem}.glyph-picker-head .eyebrow{margin:0}
.glyph-picker-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:480px}
.glyph-item-with-icon{display:flex;align-items:flex-start;gap:10px}
.glyph-item-with-icon>span{min-width:0}
.glyph-item-icon{width:38px;height:38px;flex:0 0 38px;border:1px solid rgba(255,255,255,.18);border-radius:4px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.75)}
.glyph-picker-actions{display:flex;justify-content:flex-end}.glyph-picker-actions .button:disabled{opacity:.4;cursor:default}
.glyph-empty-state{grid-column:1/-1;padding:24px;border:1px dashed rgba(126,201,255,.18);border-radius:8px;color:var(--muted);text-align:center}
@media(max-width:700px){.glyph-layout-slot-driven{grid-template-columns:1fr}.glyph-picker-list{grid-template-columns:1fr}.glyph-picker-dialog{width:calc(100vw - 20px)}}

/* Keep the /use picker in the lower-left builder cell while removing the redundant value field. */
#macro-builder[data-command="use"] #builder-slot-field{grid-column:1;grid-row:2}
#macro-builder[data-command="use"] #builder-conditional-field{grid-column:2;grid-row:1}
#macro-builder[data-command="use"] #builder-modifier-field{grid-column:2;grid-row:2}
