*{box-sizing:border-box}
:root{
 --void:#030806;--deep:#07130d;--forest:#0b2015;--forest2:#11301d;
 --panel:#0a1710ee;--panel2:#10241ae8;--panel3:#162c20;
 --gold:#c49a48;--gold-hi:#f0d58b;--gold-dim:#755b2d;
 --emerald:#48d77a;--emerald2:#1d8746;--parchment:#d9c697;
 --text:#eee5cf;--muted:#9eaa9f;--line:#324b39;--line-hi:#6f653c;
 --danger:#d97168;
}
html,body{margin:0;min-height:100%}
body{
 color:var(--text);
 font-family:"Segoe UI",Tahoma,Arial,sans-serif;
 background:
  radial-gradient(circle at 50% -12%,#244b2c 0,#0b1b11 25%,transparent 52%),
  radial-gradient(circle at 88% 26%,#153f2766 0,transparent 24%),
  linear-gradient(180deg,#061009,#030806 65%,#020503);
 background-attachment:fixed;
}
body:before{
 content:"";position:fixed;inset:0;pointer-events:none;opacity:.32;
 background:
  linear-gradient(90deg,transparent 0 48%,#c89e4a0b 49%,#c89e4a0b 51%,transparent 52%),
  repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 5px);
 mix-blend-mode:screen;
}
.ambient-tree{
 position:fixed;right:-120px;top:65px;width:560px;height:560px;opacity:.045;pointer-events:none;
 background:url("assets/tree-of-life-logo.png") center/contain no-repeat;
 filter:grayscale(.35);
}
a{color:#e2bc69;text-decoration:none}a:hover{color:#fff0b0}
.page-shell{width:min(1260px,calc(100% - 28px));margin:auto;position:relative}
.site-header{
 height:90px;display:flex;align-items:center;justify-content:space-between;
 border-bottom:1px solid var(--gold-dim);
 background:linear-gradient(180deg,#0c1c13dd,#07110caa);
 box-shadow:0 12px 28px #0007;
 padding:0 16px;
 position:sticky;top:0;z-index:20;backdrop-filter:blur(10px);
}
.site-header:after{
 content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;
 background:linear-gradient(90deg,transparent,#5b4827,#e3bd6c,#5b4827,transparent);
 opacity:.65;
}
.brand{display:flex;align-items:center;gap:13px;color:var(--text)}
.brand:hover{color:var(--text)}
.brand-crest{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 0 10px #53d97844)}
.brand-copy strong{
 display:block;font:700 23px Georgia,"Times New Roman",serif;text-transform:uppercase;
 letter-spacing:2.7px;color:var(--gold-hi);text-shadow:0 1px #000,0 0 16px #d3a84f33
}
.brand-copy small{display:block;color:#88a692;margin-top:3px;letter-spacing:.8px}
.top-nav{display:flex;gap:8px}
.top-nav a{
 padding:10px 15px;border:1px solid #38503e;border-radius:4px;
 color:#d9d1ba;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:1px;
 background:linear-gradient(#14251b,#0a1510)
}
.top-nav a:hover,.top-nav .main-site-link{
 border-color:#91723a;color:#f1d58d;background:linear-gradient(#24331e,#111b13);
 box-shadow:inset 0 0 0 1px #17130a,0 0 14px #c99b3e18
}
.main-content{padding:32px 0 58px}

.hero,.character-hero,.guild-hero,.subpage-hero{
 border:1px solid #705c31;border-radius:7px;position:relative;overflow:hidden;
 background:
  linear-gradient(135deg,#102419f2,#07120deb),
  radial-gradient(circle at 75% 20%,#4aa65d35,transparent 45%);
 box-shadow:inset 0 0 0 1px #15281c,0 14px 38px #000a;
}
.hero:before,.character-hero:before,.guild-hero:before,.subpage-hero:before{
 content:"";position:absolute;inset:6px;border:1px solid #bea45a22;pointer-events:none
}
.hero:after,.guild-hero:after,.subpage-hero:after{
 content:"◆";position:absolute;top:7px;left:50%;transform:translateX(-50%);
 color:#b68c42;font-size:12px;text-shadow:0 0 8px #72d886
}
.armory-hero{
 min-height:290px;padding:34px;display:grid;grid-template-columns:1.4fr .55fr .9fr;gap:24px;align-items:center
}
.hero-copy,.character-heading,.guild-hero-copy,.subpage-hero>div{position:relative;z-index:2}
.eyebrow{font-size:10px;letter-spacing:2.6px;color:#6fce83;font-weight:900}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif}
h1{margin:8px 0 8px;font-size:42px;color:#f0d486;text-shadow:0 2px 1px #000,0 0 18px #d9a84b22}
h2{margin:0;color:#e5c574}
.hero p,.guild-hero p,.subpage-hero p{color:#b6c1b8;line-height:1.65;margin:0;max-width:720px}
.hero-actions{display:flex;align-items:center;gap:15px;margin-top:22px;flex-wrap:wrap}
.fantasy-button{
 display:inline-block;padding:10px 15px;border:1px solid #aa8747;border-radius:4px;
 background:linear-gradient(#2a4228,#15271b);color:#f3d991;font-weight:800;
 box-shadow:inset 0 0 0 1px #0a110b,0 0 18px #45b76518
}
.data-rune{font-size:11px;font-weight:800;letter-spacing:.5px}.data-rune.good{color:#72d78c}.data-rune.warn{color:#ddb55e}
.hero-crest-wrap{text-align:center;position:relative;z-index:2}
.hero-crest-wrap img{width:min(210px,100%);filter:drop-shadow(0 0 25px #5fdb7e24)}
.realm-stats{display:grid;grid-template-columns:1fr;gap:8px;position:relative;z-index:2}
.realm-stats div,.guild-stat-stack div,.achievement-summary-strip div{
 padding:15px;text-align:center;border:1px solid #344a38;
 background:linear-gradient(180deg,#12271b,#09140e);box-shadow:inset 0 0 18px #0006
}
.realm-stats strong,.guild-stat-stack strong,.achievement-summary-strip strong{
 display:block;font:700 28px Georgia;color:#efd081
}
.realm-stats span,.guild-stat-stack span,.achievement-summary-strip span{
 font-size:9px;text-transform:uppercase;color:#829589;letter-spacing:1.4px
}
.online-number,.online-text{color:#68df88!important}

.panel{
 margin-top:22px;border:1px solid #5a4c2e;border-radius:5px;
 background:
  linear-gradient(180deg,#102219f5,#09150ff5),
  radial-gradient(circle at 80% 0,#28503833,transparent 33%);
 box-shadow:inset 0 0 0 1px #172a1e,0 8px 28px #0007;overflow:hidden;position:relative
}
.panel:before{
 content:"";position:absolute;left:8px;right:8px;top:7px;height:1px;
 background:linear-gradient(90deg,transparent,#c8a55755,transparent)
}
.panel-ornament{position:absolute;top:-9px;left:50%;transform:translateX(-50%);z-index:3;color:#d0a955;background:#09150f;padding:0 10px}
.panel-title{
 padding:18px 20px 13px;display:flex;align-items:baseline;justify-content:space-between;
 border-bottom:1px solid #304334;background:linear-gradient(180deg,#142a1d,#0d1c14)
}
.panel-title h2{font-size:20px;letter-spacing:.5px}.panel-title span,.panel-title a{font-size:11px;color:#91a095}
.searchbar{
 padding:17px;display:grid;grid-template-columns:1fr 210px 110px;gap:10px;
 border-bottom:1px solid #293d30;background:#07110c77
}
input,select,button{
 font:inherit;border-radius:3px;border:1px solid #4c5f4e;background:#050b08;color:var(--text);padding:11px 12px
}
input:focus,select:focus{outline:1px solid #b38f4d;border-color:#b38f4d}
button{
 cursor:pointer;background:linear-gradient(#8d713b,#5c4726);color:#fff2c5;border-color:#b08c4b;
 font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.8px
}
button:hover{filter:brightness(1.12)}
.table-wrap{overflow-x:auto}
.roster-table{width:100%;border-collapse:collapse;min-width:930px}
.roster-table th{
 text-align:left;padding:11px 14px;font-size:9px;color:#95a89a;text-transform:uppercase;
 letter-spacing:1.2px;border-bottom:1px solid #4e4b31;background:#07110c
}
.roster-table td{padding:12px 14px;border-bottom:1px solid #1d3025}
.roster-table tbody tr:nth-child(even) td{background:#0c1a13aa}
.roster-table tr:hover td{background:#173020!important}
.roster-table small{display:block;color:#718379;margin-top:3px}
.roster-title{color:#baad78!important;font-style:italic}
.character-link{font-weight:900;font-size:14px}
.guild-roster-link{color:#77c889}
.level{color:#e7c76f;font-weight:900}
.level-rank{
 vertical-align:middle;filter:drop-shadow(0 2px 3px #000a);image-rendering:auto
}
.roster-level-rank{display:block;margin:-2px 0}
.profile-level-rank,.identity-level-rank{display:block;margin-top:8px}
.character-heading .profile-level-rank{margin-bottom:3px}
.ip-phase-badge{
 display:inline-flex;align-items:center;gap:7px;max-width:100%;margin-top:8px;padding:5px 9px;
 border:1px solid #8c713c;border-radius:3px;background:linear-gradient(90deg,#17261b,#0a1510);
 color:#d9cc9b;font-size:10px;line-height:1.2;box-shadow:inset 3px 0 #4b9c61,0 2px 8px #0006
}
.ip-phase-badge b{color:#f2d47e;font-size:10px;letter-spacing:.7px;white-space:nowrap}
.ip-phase-badge span{overflow:hidden;text-overflow:ellipsis}
.ip-era-tbc{box-shadow:inset 3px 0 #a069d1,0 2px 8px #0006}
.ip-era-wrath{box-shadow:inset 3px 0 #5ca9df,0 2px 8px #0006}
.ip-era-complete{border-color:#c49a49;box-shadow:inset 3px 0 #e2b955,0 0 12px #e0b84a20}
.compact-ip-phase{display:flex;margin:0;width:max-content;max-width:190px}
.profile-ip-phase,.identity-ip-phase{width:max-content}
.roster-ip-phase{min-width:180px}
.ip-progression-stat{grid-column:1/-1}
.stat-grid .ip-progression-stat small{display:block;margin-top:5px;color:#76897d;font-size:10px}
.achievement-points{color:#eac65e}
.muted{color:#59675f}.empty{text-align:center!important;color:#87948b;padding:34px!important}
.status{
 display:inline-block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;
 border-radius:9px;padding:4px 7px
}
.status.online{background:#143a22;color:#77ed98;border:1px solid #2e7546;box-shadow:0 0 10px #2cc45c22}
.status.offline{background:#171d19;color:#819087;border:1px solid #303b35}
.pager{padding:14px 18px;display:flex;justify-content:center;gap:22px;color:var(--muted)}
.notice{margin:20px 0;padding:15px 18px;border-radius:5px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.notice.error{background:#331814;border:1px solid #7a3a31;color:#ffd0ca}.notice a{margin-left:auto}

/* Character */
.character-hero{padding:27px;display:grid;grid-template-columns:105px 1fr 190px;align-items:center;gap:22px}
.character-seal{width:96px;height:96px;position:relative;display:grid;place-items:center}
.character-seal img{width:96px;height:96px;object-fit:contain;opacity:.78;filter:drop-shadow(0 0 15px #68d67d28)}
.class-initial{
 position:absolute;width:41px;height:41px;display:grid;place-items:center;border-radius:50%;
 background:#07100cdd;border:1px solid #c29b4f;color:#f0d17e;font:700 23px Georgia
}
.character-heading h1{font-size:44px;margin:4px 0}
.character-heading p{font-size:16px;margin:2px 0;color:#c0c9c1}
.character-status-line{margin-bottom:6px}
.selected-title{color:#d8be77;font:italic 14px Georgia,serif;margin:2px 0 6px;text-shadow:0 1px #000}
.guild-line{display:inline-block;margin-top:7px;color:#78d28c}
.character-achievement-score,.subpage-score{
 text-align:center;padding:18px;border-left:1px solid #574a2e;position:relative;z-index:2
}
.character-achievement-score strong,.subpage-score strong{
 display:block;font:700 31px Georgia;color:#efcc72
}
.character-achievement-score span,.subpage-score span{
 display:block;color:#90a095;text-transform:uppercase;font-size:9px;letter-spacing:1.3px;margin-top:4px
}
.character-tabs{
 margin-top:12px;display:flex;gap:4px;padding:0 10px;border-bottom:1px solid #66562f
}
.character-tabs a{
 padding:10px 19px;border:1px solid #3b4c3d;border-bottom:0;border-radius:4px 4px 0 0;
 background:#09140f;color:#87998d;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:1px
}
.character-tabs a.active,.character-tabs a:hover{
 color:#f0d382;border-color:#8b703a;background:linear-gradient(#1c3222,#0d1b13)
}
.profile-grid{display:grid;grid-template-columns:minmax(480px,1.25fr) minmax(350px,.75fr);gap:22px}
.right-column .panel{margin-top:22px}
.equipment-list{display:grid;grid-template-columns:1fr 1fr}
.equipment-row{min-height:82px;padding:13px;display:flex;gap:11px;border-bottom:1px solid #1e3128}
.equipment-row:nth-child(odd){border-right:1px solid #1e3128}
.slot-icon{
 flex:0 0 45px;height:45px;border:1px solid #78633a;border-radius:4px;
 background:radial-gradient(circle,#203729,#07100b);display:grid;place-items:center;
 color:#a4b3a8;font-size:10px;text-transform:uppercase;box-shadow:inset 0 0 12px #000
}
.slot-icon.has-icon{padding:2px;background:#050a07}
.slot-icon img{
 width:100%;height:100%;display:block;object-fit:cover;border-radius:2px;
 image-rendering:auto
}
.equipment-text{min-width:0}.equipment-text small{display:block;color:#7c8f83;text-transform:uppercase;font-size:9px;letter-spacing:.8px;margin-bottom:4px}
.equipment-text strong{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.equipment-text span{display:block;color:#78867e;font-size:10px;margin-top:4px}
.empty-item{color:#4e5b53!important;font-weight:400}
.stat-grid{display:grid;grid-template-columns:1fr 1fr}
.stat-grid div{padding:15px 18px;border-bottom:1px solid #1f3229}
.stat-grid div:nth-child(odd){border-right:1px solid #1f3229}
.stat-grid span{display:block;color:#7f9186;font-size:9px;text-transform:uppercase;letter-spacing:1px}.stat-grid strong{display:block;margin-top:5px}
.skills-list{padding:9px 18px 17px}.skill{padding:10px 0}.skill>div:first-child{display:flex;justify-content:space-between}.skill span{color:#8ea096;font-size:11px}
.skill-bar{height:6px;margin-top:7px;background:#040906;border:1px solid #25362b;border-radius:5px;overflow:hidden}.skill-bar i{display:block;height:100%;background:linear-gradient(90deg,#2f894b,#d0a84d)}

/* Achievements */
.achievement-list .achievement-row{display:grid;grid-template-columns:46px 1fr 38px;align-items:center;gap:10px;padding:12px 17px;border-bottom:1px solid #1f3128}
.achievement-medal,.achievement-rune{
 width:29px;height:29px;border:1px solid #8a6b35;display:grid;place-items:center;
 transform:rotate(45deg);color:#d9b45f;background:#0d1a12
}
.achievement-medal.has-icon,.achievement-rune.has-icon{
 width:42px;height:42px;transform:none;padding:2px;border-radius:4px;background:#050a07
}
.achievement-medal.has-icon img,.achievement-rune.has-icon img{
 width:100%;height:100%;display:block;object-fit:cover;border-radius:2px
}
.achievement-copy strong,.achievement-copy small,.achievement-copy em{display:block}
.achievement-copy small{color:#9ca99f;margin-top:3px;line-height:1.35}.achievement-copy em{color:#6e8075;font-size:10px;font-style:normal;margin-top:4px}
.point-badge{
 justify-self:end;min-width:30px;text-align:center;padding:4px 5px;border:1px solid #725a2f;
 background:#17170d;color:#e9c45f;font-size:10px;border-radius:10px
}
.subpage-hero{
 min-height:170px;padding:24px 30px;display:grid;grid-template-columns:105px 1fr 200px;gap:22px;align-items:center
}
.subpage-hero>img{width:94px;height:94px;object-fit:contain;filter:drop-shadow(0 0 14px #57cf7630);position:relative;z-index:2}
.subpage-hero h1{font-size:38px;margin:5px 0}
.achievement-summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}
.achievement-cards{padding:8px}
.achievement-card{
 display:grid;grid-template-columns:48px 1fr;gap:15px;padding:16px;margin:8px;
 border:1px solid #324a38;background:linear-gradient(90deg,#0c1b13,#09120e);
 box-shadow:inset 0 0 18px #0005
}
.achievement-card .achievement-rune{margin:7px;transform:rotate(45deg)}
.achievement-card .achievement-rune.has-icon{margin:3px;transform:none}
.achievement-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.achievement-card h3{margin:0;color:#ead08c;font-size:17px}.achievement-card p{margin:7px 0;color:#aab6ad;line-height:1.5;font-size:12px}
.achievement-card footer{display:flex;gap:14px;flex-wrap:wrap;color:#6f8076;font-size:10px}
.reward-title{color:#72c785!important}

/* Titles */
.title-preview{padding:14px;display:flex;gap:7px;flex-wrap:wrap}
.title-preview span{
 border:1px solid #3b4f3e;background:#09140f;padding:6px 8px;color:#aaa27f;font:italic 11px Georgia
}
.title-preview span.selected{border-color:#b18c45;color:#f0d182;box-shadow:0 0 12px #d3a3471a}
.title-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px}
.title-card{
 display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:13px;
 border:1px solid #31493a;background:#0a1710
}
.title-card.selected{border-color:#b28a42;background:linear-gradient(90deg,#1d2c19,#0d1810);box-shadow:inset 3px 0 #d2a94f}
.title-gem{color:#6dd583}.title-card strong{display:block;color:#d9c992;font:italic 13px Georgia}.title-card small{display:block;color:#6f8176;margin-top:3px}.title-card b{font-size:9px;text-transform:uppercase;color:#efcd73}

/* Guild */
.guild-hero{padding:28px;display:grid;grid-template-columns:140px 1fr 165px;gap:22px;align-items:center}
.guild-seal{position:relative;z-index:2;text-align:center}.guild-seal img{width:135px;filter:drop-shadow(0 0 24px #55d07430)}
.guild-hero h1{margin:5px 0;font-size:40px}.guild-hero blockquote{
 margin:18px 0 0;padding:10px 14px;border-left:3px solid #b58d43;
 background:#070e0acc;color:#d1d7cf;font-style:italic
}
.guild-hero blockquote span{display:block;color:#a89665;text-transform:uppercase;font-size:8px;font-style:normal;letter-spacing:1.4px;margin-bottom:4px}
.guild-stat-stack{display:grid;gap:7px;position:relative;z-index:2}
.guild-info{padding:0 20px 20px;line-height:1.7;color:#c0bda9}.parchment-panel{background:linear-gradient(#171d13,#0c1610)}

/* Health */
.health-grid{padding:12px}.health-row{display:grid;grid-template-columns:220px 80px 1fr;gap:14px;padding:11px;border-bottom:1px solid #22372b}
.health-row code{color:#9db0a3;word-break:break-all}.health-pass{color:#67de86;font-weight:900}.health-fail{color:#ff8278;font-weight:900}.setup-copy{padding:18px;line-height:1.6}.setup-copy code,.setup-copy pre{color:#e4c36f;background:#050a07;padding:3px 6px}.setup-copy pre{padding:12px;overflow:auto}

/* Footer */
.site-footer{
 min-height:72px;border-top:1px solid #5b4c2c;display:flex;align-items:center;justify-content:space-between;
 color:#607269;font-size:10px;text-transform:uppercase;letter-spacing:.8px
}
.site-footer a{color:#a9894b}

/* WoW quality/class colors */
.quality-0{color:#9d9d9d}.quality-1{color:#fff}.quality-2{color:#1eff00}.quality-3{color:#4c7fff}.quality-4{color:#a335ee}.quality-5{color:#ff8000}.quality-6{color:#e6cc80}.quality-7{color:#00ccff}
.class-warrior{color:#c79c6e}.class-paladin{color:#f58cba}.class-hunter{color:#abd473}.class-rogue{color:#fff569}.class-priest{color:#fff}.class-death-knight{color:#c41f3b}.class-shaman{color:#0070de}.class-mage{color:#69ccf0}.class-warlock{color:#9482c9}.class-druid{color:#ff7d0a}

@media(max-width:980px){
 .armory-hero{grid-template-columns:1fr 180px}.realm-stats{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
 .profile-grid{grid-template-columns:1fr}.guild-hero{grid-template-columns:110px 1fr}.guild-stat-stack{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
 .character-hero{grid-template-columns:95px 1fr}.character-achievement-score{grid-column:1/-1;border-left:0;border-top:1px solid #574a2e}
}
@media(max-width:760px){
 .site-header{height:auto;min-height:76px;padding:10px}.brand-crest{width:48px;height:48px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:9px}
 .top-nav a{padding:8px 9px;font-size:9px}
 .armory-hero{grid-template-columns:1fr;padding:24px}.hero-crest-wrap{display:none}.realm-stats{grid-template-columns:repeat(3,1fr)}
 .searchbar{grid-template-columns:1fr}.equipment-list{grid-template-columns:1fr}.equipment-row:nth-child(odd){border-right:0}
 .subpage-hero{grid-template-columns:80px 1fr}.subpage-score{grid-column:1/-1;border-left:0;border-top:1px solid #574a2e}
 .title-grid{grid-template-columns:1fr}.health-row{grid-template-columns:1fr 70px}.health-row code{grid-column:1/-1}
}
@media(max-width:560px){
 .page-shell{width:min(100% - 12px,1260px)}.brand-copy small{display:none}.top-nav a:first-child{display:none}
 h1{font-size:31px}.character-heading h1{font-size:31px}.character-hero{grid-template-columns:70px 1fr;padding:20px;gap:12px}
 .character-seal,.character-seal img{width:68px;height:68px}.class-initial{width:33px;height:33px;font-size:18px}
 .stat-grid{grid-template-columns:1fr}.stat-grid div:nth-child(odd){border-right:0}
 .achievement-summary-strip{grid-template-columns:1fr}.guild-hero{grid-template-columns:1fr;text-align:center}.guild-seal img{width:115px}.guild-stat-stack{grid-template-columns:repeat(3,1fr)}
 .character-tabs{overflow-x:auto;padding:0}.character-tabs a{padding:9px 13px;white-space:nowrap}
 .site-footer{flex-direction:column;justify-content:center;gap:5px;text-align:center}
}


/* ===== Tree of Life v1.2 Collections + primary logo ===== */
.brand-crest{
 width:70px;height:70px;object-fit:contain;border-radius:9px;
 filter:drop-shadow(0 0 16px #38cc6d38);
 mix-blend-mode:screen;
}
.hero-crest-wrap img,.guild-seal img,.subpage-hero>img,.character-seal img{
 border-radius:14px;
 mix-blend-mode:screen;
 filter:drop-shadow(0 0 26px #4fe07832);
}
.ambient-tree{opacity:.038;mix-blend-mode:screen}
.collections-hero{background:
 radial-gradient(circle at 76% 48%,#216d3d44,transparent 35%),
 linear-gradient(135deg,#102419f2,#050b08f5)}
.collection-score-pair{
 display:grid;grid-template-columns:1fr 1fr;gap:7px;position:relative;z-index:2
}
.collection-score-pair>div{
 padding:17px 12px;border:1px solid #5a4e30;background:linear-gradient(#13271b,#08120d);
 text-align:center;box-shadow:inset 0 0 20px #0006
}
.collection-score-pair strong{
 display:block;font:700 29px Georgia;color:#f0cf77
}
.collection-score-pair span{
 display:block;margin-top:4px;color:#8ca093;text-transform:uppercase;font-size:9px;letter-spacing:1.2px
}
.collection-summary{
 display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px
}
.collection-summary-card{
 min-height:100px;display:flex;align-items:center;justify-content:center;gap:18px;
 border:1px solid #69572f;background:
 radial-gradient(circle at 20% 50%,#2a64403c,transparent 40%),
 linear-gradient(135deg,#11251a,#07110c);
 box-shadow:inset 0 0 0 1px #172a1e,0 7px 24px #0007
}
.collection-symbol{
 width:48px;height:48px;display:grid;place-items:center;border:1px solid #b18b43;
 border-radius:50%;background:#07100c;color:#e5c66e;font:700 25px Georgia;
 box-shadow:0 0 18px #4cdb7430,inset 0 0 14px #000
}
.collection-summary-card strong{
 display:block;font:700 28px Georgia;color:#f0cf78
}
.collection-summary-card span:not(.collection-symbol){
 display:block;color:#879c8d;text-transform:uppercase;font-size:9px;letter-spacing:1.2px;margin-top:3px
}
.collection-grid{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px
}
.collection-card{
 min-height:72px;display:flex;align-items:center;gap:12px;padding:12px;
 border:1px solid #304738;background:
 linear-gradient(100deg,#0b1a12,#08100c);
 transition:transform .12s ease,border-color .12s ease,background .12s ease
}
.collection-card:hover{
 transform:translateY(-1px);border-color:#806c3d;background:linear-gradient(100deg,#14291c,#0b1610)
}
.collection-medallion{
 flex:0 0 42px;height:42px;display:grid;place-items:center;border-radius:50%;
 border:1px solid #816838;background:radial-gradient(circle,#1d3927,#07100c);
 color:#deb95e;font-size:19px;box-shadow:inset 0 0 12px #000,0 0 12px #49d16c18
}
.collection-medallion.has-icon{padding:2px;border-radius:5px;background:#050a07}
.collection-medallion.has-icon img{
 width:100%;height:100%;display:block;object-fit:cover;border-radius:3px
}
.pet-card .collection-medallion{color:#70d68a}
.collection-card-copy{min-width:0}
.collection-card-copy strong{
 display:block;color:#e6d7a6;font:700 13px Georgia;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.collection-card-copy small{
 display:block;color:#718278;font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.collection-note{
 margin:15px 0 0;padding:10px 14px;text-align:center;color:#64786b;font-size:10px;
 border-top:1px solid #273c2e
}
.mini-collection-stats{display:grid;grid-template-columns:1fr 1fr}
.mini-collection-stats>div{
 padding:16px;display:grid;grid-template-columns:35px 1fr;grid-template-rows:auto auto;
 align-items:center;border-right:1px solid #24372b
}
.mini-collection-stats>div:last-child{border-right:0}
.mini-symbol{
 grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;
 border:1px solid #786238;color:#dbb862;background:#09120d
}
.mini-collection-stats strong{font:700 21px Georgia;color:#e9c96f}
.mini-collection-stats small{color:#7f9186;text-transform:uppercase;font-size:8px;letter-spacing:1px}

@media(max-width:980px){
 .collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
 .collection-summary{grid-template-columns:1fr}
 .collection-grid{grid-template-columns:1fr}
 .collection-score-pair{grid-column:1/-1}
 .brand-crest{width:52px;height:52px}
}


/* ===== v1.3 Character identity / Achievement dashboard / Reputations ===== */

.character-identity-hero{
    grid-template-columns:105px 1fr minmax(170px,240px);
}
.character-identity-hero .identity-copy{
    min-width:0;
}
.identity-details{
    margin-top:5px;
    color:#d5ddce;
    font-weight:700;
    font-size:13px;
}
.identity-guild{
    display:inline-block;
    margin-top:5px;
    color:#70cf88;
    font-size:12px;
}
.identity-description{
    margin-top:9px!important;
    color:#8fa196!important;
    font-size:11px;
}
.identity-stats{
    display:grid;
    position:relative;
    z-index:2;
    gap:7px;
}
.identity-stats.multi{
    grid-template-columns:1fr 1fr;
}
.identity-stats>div{
    min-height:82px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:center;
    padding:13px 10px;
    border:1px solid #594b2d;
    background:linear-gradient(#13261a,#08120d);
    box-shadow:inset 0 0 18px #0006;
}
.identity-stats strong{
    color:#f0cd72;
    font:700 27px Georgia,serif;
}
.identity-stats span{
    margin-top:4px;
    color:#82978a;
    font-size:8px;
    font-weight:800;
    letter-spacing:1.1px;
    text-transform:uppercase;
}

/* Achievement category dashboard inspired by the circular category view,
   but generated from actual Wrath Achievement_Category.dbc data. */
.achievement-category-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    padding:16px;
}
.achievement-category-card{
    min-height:225px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:17px 12px;
    border:1px solid #394a3d;
    background:
        radial-gradient(circle at 50% 20%,#21422c30,transparent 42%),
        linear-gradient(180deg,#101b15,#080e0b);
    color:#ddd4b8;
    text-align:center;
    transition:transform .12s ease,border-color .12s ease,background .12s ease;
}
.achievement-category-card:hover,
.achievement-category-card.active{
    transform:translateY(-2px);
    border-color:#b08b45;
    background:
        radial-gradient(circle at 50% 20%,#2d623d4d,transparent 42%),
        linear-gradient(180deg,#15241a,#0a120e);
}
.achievement-category-card.complete{
    border-color:#39744b;
}
.progress-ring{
    --pct:0;
    width:112px;
    height:112px;
    border-radius:50%;
    display:grid;
    place-items:center;
    position:relative;
    background:
        radial-gradient(circle,#07100c 0 54%,transparent 55%),
        conic-gradient(
            #d97b00 calc(var(--pct) * 1%),
            #1b211d 0
        );
    box-shadow:
        inset 0 0 0 1px #6d6a5d,
        0 0 0 1px #0b0d0c,
        0 0 18px #000a;
}
.achievement-category-card.complete .progress-ring{
    background:
        radial-gradient(circle,#07100c 0 54%,transparent 55%),
        conic-gradient(
            #36bb55 calc(var(--pct) * 1%),
            #1b211d 0
        );
}
.progress-ring:after{
    content:"";
    position:absolute;
    inset:10px;
    border:1px solid #4b554d;
    border-radius:50%;
}
.progress-ring>div{
    position:relative;
    z-index:2;
    width:72px;
    height:72px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#050a07;
    border:1px solid #2f3d33;
}
.progress-ring strong{
    color:#fff;
    font-size:17px;
}
.achievement-category-card h3{
    margin:5px 0 0;
    color:#e1b44c;
    font:700 16px Georgia,serif;
}
.category-count{
    color:#e8d28e;
    font-weight:900;
    font-size:12px;
}
.achievement-category-card small{
    color:#77877d;
    font-size:9px;
}
.achievement-card.unearned{
    opacity:.58;
    filter:saturate(.55);
}
.achievement-card.unearned:hover{
    opacity:.82;
}
.earned-text{
    color:#73d58b!important;
}

/* Reputation */
.reputation-summary-strip{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin-top:15px;
}
.reputation-summary-strip>div{
    padding:14px;
    text-align:center;
    border:1px solid #394a39;
    background:linear-gradient(#12241a,#09140e);
}
.reputation-summary-strip strong{
    display:block;
    color:#efce75;
    font:700 26px Georgia,serif;
}
.reputation-summary-strip span{
    color:#809286;
    font-size:8px;
    letter-spacing:1.1px;
    text-transform:uppercase;
}
.reputation-list{
    padding:10px;
}
.reputation-row{
    padding:14px 15px;
    border-bottom:1px solid #213429;
    background:linear-gradient(90deg,#0b1811,#09110d);
}
.reputation-row:last-child{
    border-bottom:0;
}
.reputation-row:hover{
    background:linear-gradient(90deg,#12291b,#0b1710);
}
.reputation-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:15px;
}
.reputation-heading strong{
    display:block;
    color:#e2d4a7;
    font:700 14px Georgia,serif;
}
.reputation-heading small{
    display:block;
    margin-top:3px;
    color:#61746a;
    font-size:9px;
}
.reputation-rank{
    text-align:right;
}
.reputation-rank b{
    display:block;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.8px;
    color:#c9aa61;
}
.reputation-rank span{
    display:block;
    color:#839489;
    font-size:9px;
    margin-top:2px;
}
.reputation-bar{
    height:11px;
    margin-top:10px;
    overflow:hidden;
    border:1px solid #35453a;
    background:#050906;
    box-shadow:inset 0 0 8px #000;
}
.reputation-bar i{
    display:block;
    height:100%;
    background:linear-gradient(90deg,#8c6a2d,#e1b54e);
}
.rank-exalted .reputation-bar i{background:linear-gradient(90deg,#278e45,#52df73)}
.rank-revered .reputation-bar i{background:linear-gradient(90deg,#238e86,#4acfc3)}
.rank-honored .reputation-bar i{background:linear-gradient(90deg,#4e62a2,#7f96e8)}
.rank-friendly .reputation-bar i{background:linear-gradient(90deg,#40894d,#73cb74)}
.rank-neutral .reputation-bar i{background:linear-gradient(90deg,#918047,#d0b75c)}
.rank-unfriendly .reputation-bar i,
.rank-hostile .reputation-bar i,
.rank-hated .reputation-bar i{background:linear-gradient(90deg,#7d352f,#c4574c)}
.reputation-progress-text{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-top:5px;
    color:#66796d;
    font-size:8px;
}

@media(max-width:1050px){
    .achievement-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
    .character-identity-hero{grid-template-columns:80px 1fr}
    .character-identity-hero .identity-stats{
        grid-column:1/-1;
        grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
    }
    .achievement-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .reputation-summary-strip{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
    .achievement-category-grid{grid-template-columns:1fr}
    .reputation-summary-strip{grid-template-columns:1fr 1fr}
}

/* ===== v1.6 PvP / Dungeons / Raids ===== */
.progression-summary-strip{
 display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px
}
.progression-summary-strip>div{
 padding:14px;text-align:center;border:1px solid #394a39;
 background:linear-gradient(#12241a,#09140e)
}
.progression-summary-strip strong{
 display:block;color:#efce75;font:700 26px Georgia,serif
}
.progression-summary-strip span{
 color:#809286;font-size:8px;letter-spacing:1.1px;text-transform:uppercase
}
.progression-panel{overflow:hidden}
.instance-grid{
 display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px
}
.instance-card{
 overflow:hidden;border:1px solid #4b4c32;border-radius:4px;
 background:#07100c;box-shadow:inset 0 0 0 1px #122319,0 5px 16px #0007
}
.instance-art{
 height:118px;overflow:hidden;background:#040805;position:relative;border-bottom:1px solid #3d432f
}
.instance-art>img:first-child{
 width:100%;height:100%;display:block;object-fit:cover;
 filter:grayscale(100%) brightness(55%) contrast(92%);
 opacity:.74;transition:filter .2s ease,opacity .2s ease
}
.instance-card.completed .instance-art>img:first-child{
 filter:none;opacity:1
}
.instance-name{
 min-height:42px;display:flex;align-items:center;justify-content:center;padding:9px 8px;
 color:#bfae7b;text-align:center;text-transform:uppercase;letter-spacing:.85px;
 font:700 11px Georgia,"Times New Roman",serif;background:linear-gradient(#0d1a13,#09120d)
}
.raid-logo-overlay{
 position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 width:80%!important;height:74%!important;object-fit:contain!important;
 filter:grayscale(100%) brightness(60%)!important;opacity:.68!important;
 pointer-events:none
}
.instance-card.completed .raid-logo-overlay{
 filter:none!important;opacity:.92!important
}

.pvp-summary-grid{
 display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px
}
.pvp-summary-grid>div{
 padding:17px 16px;border:1px solid #394a39;background:linear-gradient(#12241a,#09140e)
}
.pvp-summary-grid span{
 display:block;color:#7f9186;font-size:8px;text-transform:uppercase;letter-spacing:1.05px
}
.pvp-summary-grid strong{
 display:block;margin-top:5px;color:#edcf7a;font:700 24px Georgia,serif
}
.pvp-title-value{font-size:16px!important;color:#d5c08b!important}
.battleground-grid{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:15px
}
.battleground-card{
 min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;
 padding:17px;border:1px solid #3b4b3d;background:
 radial-gradient(circle at 50% 25%,#21412b40,transparent 45%),linear-gradient(#0e1d15,#07100c)
}
.battleground-card img{
 width:min(100%,300px);height:92px;object-fit:contain;filter:drop-shadow(0 4px 12px #000b)
}
.battleground-card strong{
 margin-top:10px;color:#d9c58c;text-transform:uppercase;letter-spacing:.9px;font:700 12px Georgia,serif
}
.arena-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}
.arena-team-card{
 display:grid;grid-template-columns:72px 1fr;gap:15px;align-items:center;padding:16px;
 border:1px solid #35483a;background:linear-gradient(100deg,#0c1a13,#08110d)
}
.arena-bracket{
 width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:1px solid #9b7c42;
 color:#edcf79;background:radial-gradient(circle,#1a3223,#06100b);font:700 15px Georgia,serif
}
.arena-team-card h3{margin:0 0 9px;color:#e5cb88;font-size:16px}
.arena-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 12px}
.arena-stats span{color:#73857a;font-size:9px;text-transform:uppercase;letter-spacing:.6px}
.arena-stats b{display:block;color:#d8d9c9;font-size:13px;margin-bottom:2px}

@media(max-width:1000px){
 .instance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .pvp-summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
 .instance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .battleground-grid{grid-template-columns:1fr}
 .arena-team-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
 .instance-grid{grid-template-columns:1fr}
 .progression-summary-strip,.pvp-summary-grid{grid-template-columns:1fr}
 .instance-art{height:150px}
}

/* Wrath-style equipped item mouseover tooltip */
.equipment-row.has-item{cursor:default;outline:none}
.equipment-row.has-item:hover,.equipment-row.has-item:focus{background:rgba(55,82,62,.16)}
.item-tooltip-template{display:none}
.item-tooltip{
 position:fixed;z-index:9999;left:0;top:0;width:min(330px,calc(100vw - 20px));
 padding:12px 13px 13px;border:1px solid #7d6a3e;border-radius:4px;
 background:linear-gradient(145deg,rgba(7,12,9,.985),rgba(1,3,2,.985));
 box-shadow:0 0 0 1px rgba(0,0,0,.9),0 8px 28px rgba(0,0,0,.75),inset 0 0 24px rgba(21,52,31,.18);
 color:#fff;font:12px/1.35 Arial,Helvetica,sans-serif;pointer-events:none;
 opacity:0;visibility:hidden;transform:translateY(2px);transition:opacity .08s ease,transform .08s ease;
 text-shadow:1px 1px 1px #000
}
.item-tooltip.visible{opacity:1;visibility:visible;transform:none}
.item-tooltip-title{font-size:15px;font-weight:700;line-height:1.25;margin-bottom:1px}
.item-tooltip-ilvl{color:#ffd100;margin-bottom:5px}
.item-tooltip-line,.item-tooltip-stat,.item-tooltip-muted,.item-tooltip-effect,.item-tooltip-socket,.item-tooltip-description{margin-top:2px}
.item-tooltip-line.split{display:flex;justify-content:space-between;gap:14px}
.item-tooltip-line.split span:last-child{text-align:right}
.item-tooltip-muted{color:#cfcfcf}
.item-tooltip-stat{color:#fff}
.item-tooltip-effect{color:#1eff00;margin-top:5px}
.item-tooltip-effect span{color:#1eff00;font-weight:700}
.item-tooltip-socket{color:#9d9d9d;display:flex;align-items:center;gap:6px}
.item-tooltip-socket i{display:inline-block;width:9px;height:9px;border:1px solid rgba(255,255,255,.35);box-shadow:0 0 3px #000 inset}
.item-tooltip-socket .socket-meta{background:#b9b9b9}
.item-tooltip-socket .socket-red{background:#d92424}
.item-tooltip-socket .socket-yellow{background:#d8b51f}
.item-tooltip-socket .socket-blue{background:#285ee8}
.item-tooltip-socket .socket-prismatic{background:linear-gradient(135deg,#d92424,#d8b51f,#285ee8)}
.item-tooltip-description{color:#ffb100;margin-top:6px;font-style:italic}
@media (max-width:700px){.item-tooltip{font-size:11px;width:min(310px,calc(100vw - 16px))}}

/* ===== v1.8 Classic / Burning Crusade attunement trees ===== */
.attunements-hero{background:
 radial-gradient(circle at 82% 28%,rgba(160,119,45,.16),transparent 24%),
 linear-gradient(110deg,rgba(7,18,12,.97),rgba(13,34,23,.92))}
.attunement-legend{
 display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:13px 0;padding:11px 14px;
 border:1px solid #35483a;background:rgba(5,13,9,.86);color:#9eaea3;
 font-size:9px;text-transform:uppercase;letter-spacing:.75px
}
.attunement-legend span{display:flex;align-items:center;gap:7px}
.attunement-legend i{width:9px;height:9px;border-radius:50%;background:#4d574f;box-shadow:0 0 0 1px #000}
.attunement-legend .complete i{background:#4fc56e;box-shadow:0 0 7px #42b96188}
.attunement-legend .active i{background:#6eb8e9;box-shadow:0 0 7px #5cabdf88}
.attunement-legend .available i{background:#d8ad4e;box-shadow:0 0 7px #d8ad4e77}
.attunement-picker-panel{overflow:hidden}
.attunement-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:12px}
.attunement-picker-card{
 position:relative;min-height:92px;overflow:hidden;border:1px solid #3d493d;border-radius:3px;
 background:#050b07;color:#d1c18e;text-decoration:none;box-shadow:inset 0 0 0 1px #0008
}
.attunement-picker-card>img{
 position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(100%) brightness(35%);
 opacity:.62;transition:filter .15s ease,opacity .15s ease,transform .15s ease
}
.attunement-picker-card>span{
 position:absolute;inset:auto 0 0;padding:26px 10px 9px;background:linear-gradient(transparent,rgba(2,7,4,.96));
 text-shadow:0 1px 3px #000
}
.attunement-picker-card strong{display:block;font:700 11px Georgia,serif;text-transform:uppercase;letter-spacing:.65px}
.attunement-picker-card small{display:block;margin-top:4px;color:#88988d;font-size:8px;letter-spacing:.45px}
.attunement-picker-card:hover,.attunement-picker-card.selected{border-color:#b78d3f}
.attunement-picker-card:hover>img,.attunement-picker-card.selected>img{filter:grayscale(35%) brightness(60%);opacity:.82;transform:scale(1.025)}
.attunement-picker-card.complete>img{filter:none;opacity:.75}
.attunement-picker-card.complete small{color:#71d28a}
.attunement-picker-card.selected{box-shadow:inset 0 0 0 1px #d4ad5a,0 0 14px #b98b3533}
.attunement-tree-panel{overflow:hidden}
.attunement-tree-heading{
 display:grid;grid-template-columns:118px 1fr auto;gap:16px;align-items:center;padding:13px;
 border-bottom:1px solid #354536;background:linear-gradient(100deg,#102218,#08120d)
}
.attunement-tree-art{height:82px;overflow:hidden;border:1px solid #716039;background:#030604}
.attunement-tree-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05)}
.attunement-tree-heading h2{margin:3px 0 4px;color:#e6cd8d;font:700 24px Georgia,serif}
.attunement-tree-heading p{margin:0;color:#89998e;font-size:11px}
.attunement-tree-progress{min-width:110px;text-align:right;padding:9px 13px;border-left:1px solid #384b3c}
.attunement-tree-progress strong{display:block;color:#d9b660;font:700 28px Georgia,serif}
.attunement-tree-progress span{display:block;margin-top:3px;color:#77877d;font-size:8px;text-transform:uppercase;letter-spacing:.7px}
.attunement-tree-progress.complete strong{color:#66d481}
.attunement-warning{padding:10px 14px;border-bottom:1px solid #5e4722;background:#2b1c0b;color:#d4b66f;font-size:10px}
.attunement-tree-scroll{
 overflow:auto;max-height:72vh;background:
  linear-gradient(rgba(4,10,7,.96),rgba(4,10,7,.96)),
  radial-gradient(circle at 50% 0,#24452e,transparent 45%);
 scrollbar-color:#6e5a31 #07100b;scrollbar-width:thin
}
.attunement-tree{
 position:relative;display:block;width:max-content;min-width:100%;padding:36px 34px 48px;box-sizing:border-box
}
.attunement-connectors{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:visible}
.attunement-connector{
 fill:none;stroke:#465247;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;
 filter:drop-shadow(0 1px 1px #000)
}
.attunement-connector.complete{stroke:#398d50}
.attunement-connector.current{stroke:#a88036}
.attunement-stage-row{
 position:relative;z-index:2;display:flex;justify-content:center;align-items:stretch;gap:22px;
 width:max-content;min-width:100%;margin:0 auto 48px
}
.attunement-stage-row:last-child{margin-bottom:0}
.attunement-node,.attunement-spacer{width:220px;min-width:220px;box-sizing:border-box}
.attunement-spacer{visibility:hidden;min-height:62px}
.attunement-node{
 position:relative;display:grid;grid-template-columns:42px 1fr 18px;gap:9px;align-items:center;min-height:68px;padding:9px;
 border:1px solid #4a554b;border-radius:4px;background:linear-gradient(145deg,#111b15,#070d09);
 box-shadow:inset 0 0 0 1px #0009,0 4px 13px #0008;color:#bfc7c1
}
.attunement-node>img{width:40px;height:40px;object-fit:cover;border:1px solid #625b3c;border-radius:3px;background:#020503;filter:grayscale(65%) brightness(65%)}
.attunement-node-type{display:block;color:#77867c;font-size:7px;text-transform:uppercase;letter-spacing:.7px}
.attunement-node strong{display:block;margin-top:3px;color:#b9bda9;font:700 11px/1.18 Georgia,serif}
.attunement-node small{display:block;margin-top:3px;color:#6f7d73;font-size:8px;line-height:1.2}
.attunement-node-state{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;color:#0a120c;font-size:11px}
.attunement-node.status-complete{border-color:#397b4a;background:linear-gradient(145deg,#153522,#09150e);box-shadow:inset 0 0 0 1px #183822,0 0 11px #3ba15722}
.attunement-node.status-complete>img{filter:none;border-color:#4b9c5e}
.attunement-node.status-complete strong{color:#9ee2aa}
.attunement-node.status-complete .attunement-node-state{background:#55c66f;color:#061109}
.attunement-node.status-active{border-color:#4d96c5;background:linear-gradient(145deg,#142d3b,#08141b);box-shadow:0 0 13px #5babd52b}
.attunement-node.status-active>img{filter:none;border-color:#62a8d1}
.attunement-node.status-active strong{color:#aad9f3}
.attunement-node.status-active .attunement-node-state{background:#70b9e4;color:#07141c}
.attunement-node.status-available{border-color:#a57d37;background:linear-gradient(145deg,#302713,#121006);box-shadow:0 0 14px #d6a7462b}
.attunement-node.status-available>img{filter:none;border-color:#bd984d}
.attunement-node.status-available strong{color:#ebcf86}
.attunement-node.status-available .attunement-node-state{background:#d9ae50;color:#231903;font-size:16px}
.attunement-node.status-locked{opacity:.72}
.attunement-data-note{margin:12px 0 18px;padding:10px 13px;color:#69786e;font-size:9px;text-align:center}

@media(max-width:1050px){
 .attunement-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
 .attunement-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .attunement-tree-heading{grid-template-columns:78px 1fr}.attunement-tree-art{height:66px}
 .attunement-tree-progress{grid-column:1/-1;border-left:0;border-top:1px solid #334536;text-align:left;display:flex;align-items:center;gap:10px;padding:8px 0 0}
 .attunement-tree-progress strong{font-size:21px}.attunement-tree-progress span{margin:0}
 .attunement-tree{padding-left:18px;padding-right:18px}.attunement-node,.attunement-spacer{width:205px;min-width:205px}
}
@media(max-width:430px){.attunement-picker-grid{grid-template-columns:1fr}.attunement-legend{gap:8px 12px}}

/* ===== v1.9 Realm Rating / Realm MVP ===== */
.realm-mvp-card{
 display:grid;grid-template-columns:112px minmax(210px,.9fr) 150px minmax(360px,1.5fr);gap:20px;align-items:center;
 margin:0 0 18px;padding:19px 22px;border:1px solid #b99448;background:
 radial-gradient(circle at 8% 50%,rgba(214,177,76,.18),transparent 23%),
 radial-gradient(circle at 95% 15%,rgba(49,132,75,.18),transparent 30%),
 linear-gradient(110deg,#0d1b13,#07100b 58%,#0d1a12);
 box-shadow:inset 0 0 0 1px #151008,0 10px 35px #0008,0 0 26px #a87e2f22
}
.realm-mvp-crown{height:94px;border:1px solid #88703e;background:radial-gradient(circle,#2d321d,#09110b 67%);display:grid;place-items:center;align-content:center;box-shadow:inset 0 0 22px #d9b3551b}
.realm-mvp-crown>span{color:#ebcb72;font-size:25px;line-height:1}.realm-mvp-crown small{margin-top:5px;color:#8fa294;font-size:8px;letter-spacing:2px}.realm-mvp-crown strong{color:#e4c56d;font:700 21px Georgia,serif;letter-spacing:2px}
.realm-mvp-player .eyebrow{color:#9e854f}.realm-mvp-player h2{margin:4px 0 3px;font:700 29px Georgia,serif}.realm-mvp-player h2 a{text-decoration:none}.realm-mvp-player p{margin:0;color:#8b9b90;font-size:11px}.mvp-ip{display:inline-block;margin-top:7px;padding:4px 7px;border:1px solid #405443;background:#0a1710;color:#c8b779;font-size:9px}
.realm-mvp-score{text-align:center;border-left:1px solid #3c4b3d;border-right:1px solid #3c4b3d;padding:9px 16px}.realm-mvp-score strong{display:block;color:#f1cf6d;font:700 43px/1 Georgia,serif;text-shadow:0 0 16px #bd8b3277}.realm-mvp-score span{display:block;color:#77877c;font-size:9px;letter-spacing:1px}.realm-mvp-score a{display:block;margin-top:9px;color:#bfa55f;font-size:9px;text-decoration:none}
.realm-mvp-breakdown,.realm-rank-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 13px}.realm-mvp-breakdown>div,.realm-rank-breakdown>div{display:grid;grid-template-columns:82px 1fr 30px;gap:6px;align-items:center}.realm-mvp-breakdown span,.realm-rank-breakdown span{color:#78887e;font-size:7px;text-transform:uppercase;letter-spacing:.45px}.realm-mvp-breakdown i,.realm-rank-breakdown i,.character-rating-bars i{display:block;height:5px;background:#101b14;border:1px solid #2c3a2e;overflow:hidden}.realm-mvp-breakdown i b,.realm-rank-breakdown i b,.character-rating-bars i b{display:block;height:100%;background:linear-gradient(90deg,#347d49,#d0a94f)}.realm-mvp-breakdown em,.realm-rank-breakdown em{color:#d6c183;font:normal 9px Arial;text-align:right}.roster-realm-rating strong{display:block;color:#e2c46c}.roster-realm-rating small{display:block;color:#64766a;font-size:8px}
.realm-rankings-hero{background:radial-gradient(circle at 84% 30%,rgba(189,143,53,.17),transparent 29%),linear-gradient(110deg,#07120d,#102419)}
.rating-weight-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;padding:14px}.rating-weight-grid>div{padding:13px 8px;border:1px solid #344637;background:#0a1510;text-align:center}.rating-weight-grid span{display:block;color:#839287;font-size:8px;text-transform:uppercase;letter-spacing:.6px}.rating-weight-grid strong{display:block;margin-top:4px;color:#e0c068;font:700 23px Georgia,serif}.rating-weight-grid small{color:#5f7065;font-size:7px}.rating-method-note{margin:0;padding:0 15px 15px;color:#7d8d82;font-size:10px;line-height:1.55}
.realm-ranking-list{padding:8px}.realm-ranking-row{display:grid;grid-template-columns:54px minmax(170px,.7fr) 105px minmax(360px,1.6fr);gap:14px;align-items:center;padding:12px;border-bottom:1px solid #27372c;background:linear-gradient(90deg,rgba(12,27,19,.78),rgba(7,14,10,.5))}.realm-ranking-row:last-child{border-bottom:0}.realm-ranking-row.is-mvp{border:1px solid #88713f;background:linear-gradient(90deg,#182515,#0a1610);box-shadow:inset 0 0 22px #bf91321a}.realm-rank-number{color:#8e7a4e;font:700 22px Georgia,serif;text-align:center}.realm-ranking-row.is-mvp .realm-rank-number{color:#f0cb69}.realm-rank-player>a{font:700 16px Georgia,serif;text-decoration:none}.realm-rank-player small{display:block;margin-top:3px;color:#718177;font-size:9px}.realm-rank-score{text-align:right}.realm-rank-score strong{color:#e1c26a;font:700 27px Georgia,serif}.realm-rank-score span{display:block;color:#65776b;font-size:8px}
.character-rating-strip{display:grid;grid-template-columns:100px 130px 1fr auto;gap:16px;align-items:center;margin:-1px 0 13px;padding:11px 15px;border:1px solid #35483a;background:linear-gradient(90deg,#0d1c14,#08110c)}.character-rating-strip.is-mvp{border-color:#a28243;box-shadow:inset 0 0 18px #b88d3122}.character-rating-rank span,.character-rating-total span{display:block;color:#74857a;font-size:7px;text-transform:uppercase;letter-spacing:.75px}.character-rating-rank strong{display:block;color:#e4c268;font:700 23px Georgia,serif}.character-rating-total strong{display:block;color:#e4c268;font:700 26px Georgia,serif}.character-rating-bars{display:grid;grid-template-columns:repeat(4,1fr);gap:5px 10px}.character-rating-bars>div{display:grid;grid-template-columns:62px 1fr;gap:5px;align-items:center}.character-rating-bars span{color:#718177;font-size:6px;text-transform:uppercase}.character-rating-strip>a{color:#b79a55;font-size:9px;text-decoration:none;white-space:nowrap}
@media(max-width:1050px){.realm-mvp-card{grid-template-columns:90px 1fr 130px}.realm-mvp-breakdown{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.rating-weight-grid{grid-template-columns:repeat(4,1fr)}.realm-ranking-row{grid-template-columns:48px 1fr 100px}.realm-rank-breakdown{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.character-rating-strip{grid-template-columns:90px 120px 1fr}.character-rating-strip>a{grid-column:1/-1;text-align:right}}
@media(max-width:700px){.realm-mvp-card{grid-template-columns:72px 1fr}.realm-mvp-score{border:0;border-top:1px solid #344538;grid-column:1/-1;padding-top:13px}.realm-mvp-breakdown{grid-template-columns:repeat(2,1fr)}.rating-weight-grid{grid-template-columns:repeat(2,1fr)}.realm-ranking-row{grid-template-columns:44px 1fr}.realm-rank-score{text-align:left}.realm-rank-breakdown{grid-template-columns:repeat(2,1fr)}.character-rating-strip{grid-template-columns:1fr 1fr}.character-rating-bars{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.realm-mvp-breakdown,.realm-rank-breakdown,.character-rating-bars{grid-template-columns:1fr}.realm-mvp-card{padding:14px;gap:12px}.realm-ranking-row{padding:10px;gap:9px}}

/* ===== v1.9.1 Shared Guild Bank Inventory ===== */
.bank-inventory-hero{background:radial-gradient(circle at 88% 24%,rgba(184,142,56,.16),transparent 30%),linear-gradient(110deg,#07110c,#112419)}
.bank-inventory-stats{align-self:stretch;display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:1px;min-width:350px;background:#28382d;border:1px solid #37493b}.bank-inventory-stats>div{display:grid;place-items:center;align-content:center;padding:14px;background:#09140e;text-align:center}.bank-inventory-stats strong{color:#e2c46b;font:700 28px Georgia,serif}.bank-inventory-stats span{color:#73847a;font-size:8px;text-transform:uppercase;letter-spacing:.7px}
.bank-category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:0 0 14px}.bank-category-card{display:block;padding:10px 11px;border:1px solid #304236;background:linear-gradient(145deg,#0b1810,#07100b);text-decoration:none}.bank-category-card:hover,.bank-category-card.active{border-color:#9b7c3e;background:#142217}.bank-category-card span{display:block;color:#8b9a90;font-size:8px;text-transform:uppercase;letter-spacing:.55px}.bank-category-card strong{display:block;margin-top:3px;color:#dec169;font:700 18px Georgia,serif}.bank-category-card small{display:block;color:#607167;font-size:7px}
.bank-access-panel{max-width:620px;margin:20px auto}.bank-access-form{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px}.bank-access-form label span,.bank-search-form label span{display:block;margin-bottom:5px;color:#7f8f84;font-size:8px;text-transform:uppercase;letter-spacing:.55px}.bank-access-form input,.bank-search-form input,.bank-search-form select{width:100%;box-sizing:border-box;min-height:38px;border:1px solid #35463a;background:#07100b;color:#d9ddcf;padding:8px 10px}.bank-access-form button,.bank-search-form button{border:1px solid #9d803e;background:#27311c;color:#e5ca75;padding:9px 14px;cursor:pointer}
.bank-search-panel{margin-bottom:12px}.bank-search-form{display:grid;grid-template-columns:minmax(230px,2fr) repeat(5,minmax(120px,1fr)) auto;gap:9px;align-items:end;padding:13px}.bank-search-form label{min-width:0}.bank-search-keyword{min-width:220px}.bank-search-actions{display:flex;align-items:center;gap:9px}.bank-search-actions a{color:#a99561;font-size:9px}.bank-result-count{color:#7e8f83;font-size:9px}
.bank-inventory-table td{vertical-align:middle}.bank-item-cell{display:flex;align-items:center;gap:9px;min-width:230px}.bank-item-cell img,.bank-item-name-wrap img{width:38px;height:38px;border:1px solid #4b5b4d;background:#020503;object-fit:cover}.bank-item-cell strong{display:block;font:700 12px Georgia,serif}.bank-item-cell small,.bank-inventory-table td>small,.bank-quantity small{display:block;margin-top:3px;color:#65756b;font-size:8px}.bank-quantity strong{color:#e0c36c;font:700 17px Georgia,serif}.bank-character-list{display:block;max-width:260px;color:#91a095;font-size:9px;line-height:1.35}.bank-locate-link{display:inline-block;padding:5px 8px;border:1px solid #4b5c4e;color:#c1aa69;text-decoration:none;font-size:8px}.bank-locate-link:hover{border-color:#a38645}.bank-pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:13px}.bank-pagination a{color:#c1a85f;text-decoration:none}.bank-pagination span{color:#738378;font-size:9px}
.bank-item-detail{margin-bottom:12px;border-color:#7f6c3e}.bank-detail-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.bank-item-name-wrap{display:flex;align-items:center;gap:11px}.bank-item-name-wrap h2{margin:2px 0 0}.bank-detail-total{text-align:right}.bank-detail-total strong{display:block;color:#e1c36b;font:700 28px Georgia,serif}.bank-detail-total span{display:block;color:#718177;font-size:8px;text-transform:uppercase}.bank-detail-table{max-width:760px}.bank-detail-table td strong{color:#e0c36c}
@media(max-width:1200px){.bank-category-grid{grid-template-columns:repeat(4,1fr)}.bank-search-form{grid-template-columns:repeat(3,minmax(0,1fr))}.bank-search-keyword{grid-column:span 2}.bank-search-actions{align-self:end}}
@media(max-width:760px){.bank-inventory-stats{min-width:0;width:100%;grid-template-columns:repeat(3,1fr)}.bank-category-grid{grid-template-columns:repeat(2,1fr)}.bank-search-form{grid-template-columns:1fr 1fr}.bank-search-keyword{grid-column:1/-1}.bank-search-actions{grid-column:1/-1}.bank-access-form{grid-template-columns:1fr}.bank-detail-title{align-items:flex-start;flex-direction:column}.bank-detail-total{text-align:left}.bank-character-list{max-width:150px}}
@media(max-width:430px){.bank-category-grid,.bank-search-form{grid-template-columns:1fr}.bank-search-keyword,.bank-search-actions{grid-column:1}.bank-inventory-stats strong{font-size:20px}.bank-inventory-stats span{font-size:6px}.bank-item-cell{min-width:190px}}


/* Guild bank web withdrawal */
.bank-withdraw-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:300px}.bank-withdraw-form select{min-width:170px;max-width:220px}.bank-withdraw-form button{white-space:nowrap}.bank-withdraw-disabled{opacity:.68;font-size:.88rem}.bank-detail-table td small{display:block;opacity:.68;margin-top:3px}

/* v1.9.3 quantity / partial-stack withdrawal */
.bank-withdraw-qty{display:flex;align-items:flex-end;gap:5px}
.bank-withdraw-qty label{display:block}
.bank-withdraw-qty label span{display:block;margin-bottom:3px;color:#7f8f84;font-size:7px;text-transform:uppercase;letter-spacing:.5px}
.bank-withdraw-qty input{width:64px;min-height:34px;box-sizing:border-box;border:1px solid #455c49;background:#07100b;color:#e1c86f;padding:6px 7px;text-align:center}
.bank-withdraw-qty .bank-withdraw-all{min-height:34px;padding:6px 9px;border:1px solid #6e6039;background:#152217;color:#d7bc6b;cursor:pointer}
