*{box-sizing:border-box}body{margin:0;background:#050908;color:#edf6f2;font-family:Arial,sans-serif}.wrap{max-width:1180px;margin:auto;padding:0 20px}.nav{height:68px;display:flex;align-items:center;gap:25px;padding:0 max(20px,calc((100% - 1180px)/2));position:sticky;top:0;z-index:9;background:#07100df2;border-bottom:1px solid #20372f}.brand{font:800 22px Georgia;color:white;text-decoration:none}.brand b,.eyebrow,.ok{color:#39e6c2}.nav nav{margin-left:auto;display:flex;gap:20px}.nav a{color:#b8c8c2;text-decoration:none;font-size:12px;font-weight:bold}.btn{background:#39e6c2!important;color:#04100d!important;padding:11px 15px;border:0;font-weight:bold;cursor:pointer;text-decoration:none}.hero{height:560px;position:relative}.hero img{width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#030706f5,#03070699 45%,transparent),linear-gradient(0deg,#050908,transparent 35%)}.heroCopy{position:absolute;top:45%;left:max(20px,calc((100% - 1180px)/2));transform:translateY(-50%)}h1,h2,h3{font-family:Georgia,serif}.hero h1{font-size:64px;margin:8px 0}.hero h1 em{color:#39e6c2;font-style:normal}.hero p,.muted{color:#91a59d}.section{padding:65px 0}.head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:bold}.cards{display:grid;grid-template-columns:1fr 1fr;gap:15px}.card{background:#0b1210;border:1px solid #20372f;padding:19px}.raidtop{display:flex;justify-content:space-between}.score{font:800 28px Georgia;color:#d2a757}.meter{height:9px;background:#14201c;margin:12px 0}.meter i{height:100%;display:block;background:#39e6c2}.checks,.buffs{display:flex;gap:6px;flex-wrap:wrap}.tag{padding:6px 8px;background:#08100e;border:1px solid #29483e;font-size:10px}.bad{color:#ee7777}.warn{color:#efbd61}.raidfoot{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}.row{display:grid;grid-template-columns:1fr 1fr .7fr .8fr;gap:8px;padding:10px;border-bottom:1px solid #1d302a;font-size:12px}.form label{display:block;color:#91a59d;font-size:9px;text-transform:uppercase;margin:10px 0 4px}.form input,.form select,.form textarea{width:100%;padding:10px;background:#07100d;border:1px solid #294039;color:white}.form textarea{height:70px}.form .btn{margin-top:14px}.notice{padding:11px;border:1px solid #315048;background:#0b1814;color:#9eb9af;font-size:11px;margin:10px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#20372f}.stats div{background:#09100e;padding:20px;text-align:center}.stats strong{display:block;font-size:27px;color:#d2a757}.stats span{font-size:9px;color:#91a59d;text-transform:uppercase}.loot{width:100%;border-collapse:collapse;font-size:12px}.loot th,.loot td{padding:10px;text-align:left;border-bottom:1px solid #20372f}.loot th{font-size:9px;color:#91a59d}.purple{color:#b37cff}.recruit{text-align:center;padding:80px 20px;background:radial-gradient(circle,#143027,#050908 65%)}footer{padding:30px;border-top:1px solid #20372f;text-align:center;color:#91a59d}@media(max-width:800px){.nav nav{display:none}.cards,.grid{grid-template-columns:1fr}.hero h1{font-size:43px}.row{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}}
/* V4 Character Portal */
.playerCards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.playerCard{cursor:pointer;background:#0b1210;border:1px solid #20372f;border-left:3px solid #39e6c2;padding:16px;transition:.15s transform}
.playerCard:hover{transform:translateY(-2px);border-color:#45685d}
.playerCard .pcTop{display:flex;gap:12px;align-items:center}.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#16241f;font:800 20px Georgia}
.playerCard h3{margin:0}.playerCard p{margin:4px 0;color:#91a59d;font-size:11px}.pcStats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:13px}.pcStats div{background:#07100d;padding:8px;text-align:center}.pcStats strong{display:block}.pcStats span{font-size:8px;color:#91a59d;text-transform:uppercase}
.portal{display:grid;grid-template-columns:300px 1fr;gap:18px}.portrait{height:230px;display:grid;place-items:center;background:radial-gradient(circle,#1c493d,#09100e 70%);font:800 88px Georgia;color:#39e6c2}.portalStats{display:grid;grid-template-columns:1fr 1fr;gap:7px}.portalStats div{background:#07100d;border:1px solid #20372f;padding:11px}.portalStats strong{display:block;font-size:19px}.portalStats span{font-size:8px;color:#91a59d;text-transform:uppercase}.ext{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.ext a{border:1px solid #315048;padding:8px;color:#39e6c2;text-decoration:none;font-size:9px;font-weight:bold}.gearGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gearItem{display:grid;grid-template-columns:35px 1fr auto;gap:8px;align-items:center;background:#07100d;border:1px solid #20372f;padding:8px}.gearIcon{height:34px;display:grid;place-items:center;background:#17241f}.gearItem b{font-size:11px}.gearItem small{display:block;color:#91a59d;font-size:9px}.gearItem em{font-style:normal;color:#d2a757;font-weight:bold;font-size:11px}.tabs{display:flex;gap:7px;margin:16px 0}.tabs button{background:#0b1210;border:1px solid #315048;color:#9eb9af;padding:9px;font-weight:bold;cursor:pointer}.tabs .active{background:#39e6c2;color:#04100d}.wclBox{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:15px}.wclBox div{background:#07100d;border:1px solid #20372f;padding:12px;text-align:center}.wclBox strong{display:block;font-size:21px;color:#d2a757}.wclBox span{font-size:8px;color:#91a59d;text-transform:uppercase}
@media(max-width:900px){.playerCards{grid-template-columns:1fr 1fr}.portal{grid-template-columns:1fr}.gearGrid{grid-template-columns:1fr}}@media(max-width:550px){.playerCards{grid-template-columns:1fr}.wclBox{grid-template-columns:1fr 1fr}}

.plan{display:grid;grid-template-columns:260px 1fr;gap:16px}.panel{background:#0b1210;border:1px solid #20372f;padding:18px}.phasebar{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.phasebar button,.planpick{background:#07100d;color:#b8c8c2;border:1px solid #294039;padding:9px;cursor:pointer}.phasebar .active,.planpick.active{background:#39e6c2;color:#04100d}.map{height:480px;position:relative;overflow:hidden;border:1px solid #4c392d;border-radius:46%;background:radial-gradient(ellipse,#3a2419,#20140f 48%,#080c0a 75%)}.map:before{content:"";position:absolute;inset:8%;border:2px solid #60442f;border-radius:48%}.boss,.mark{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;text-align:center}.boss{width:90px;height:90px;border-radius:50%;background:#591818;border:2px solid #e36b62;font:700 12px Georgia}.mark{min-width:75px;padding:8px;border-radius:18px;background:#0b2a23;border:1px solid #39e6c2;font-size:9px;cursor:move}.mark.tank{background:#17314b;border-color:#68a7e8}.mark.danger{background:#4b1818;border-color:#e86868}.mark.whelp{background:#493b13;border-color:#dfbd55}.north,.south{position:absolute;left:50%;transform:translateX(-50%);font-size:8px;color:#a38d79}.north{top:10px}.south{bottom:10px}.assign{width:100%;border-collapse:collapse;font-size:11px}.assign th,.assign td{padding:9px;border-bottom:1px solid #20372f;text-align:left}.assign th{color:#91a59d;font-size:9px}.two{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin-top:14px}.edit label{display:block;font-size:9px;color:#91a59d;text-transform:uppercase;margin:9px 0 3px}.edit input,.edit select,.edit textarea{width:100%;padding:9px;background:#07100d;color:white;border:1px solid #294039}.edit textarea{height:70px}.edit button{margin-top:10px}.templates span{display:inline-block;padding:5px 7px;border:1px solid #315048;color:#39e6c2;font-size:8px;margin:3px}.help{font-size:10px;color:#91a59d}@media(max-width:850px){.plan,.two{grid-template-columns:1fr}.map{height:400px}}

/* V5.1 mobile navigation fix */
.mobileMenuBtn{display:none;margin-left:auto;background:#0b1814;border:1px solid #315048;color:#39e6c2;padding:9px 11px;font-weight:800;cursor:pointer}
@media(max-width:800px){
  .nav{height:auto;min-height:64px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
  .mobileMenuBtn{display:block}
  .nav>a.btn{display:none}
  .nav nav{display:none!important;width:100%;margin:8px 0 0;flex-direction:column;gap:0;border-top:1px solid #20372f}
  .nav nav.open{display:flex!important}
  .nav nav a{display:block;padding:13px 4px;border-bottom:1px solid #162821;font-size:12px}
  .plan{grid-template-columns:1fr}
  .planSide,.panel{min-width:0}
  .phasebar{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}
  .phasebar button{white-space:nowrap}
  .map{height:390px;min-width:0}
  .two{grid-template-columns:1fr}
}

/* V6 visual assignment board */
.boardTools{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.toolBtn{background:#07100d;color:#b8c8c2;border:1px solid #315048;padding:8px 10px;font-size:9px;font-weight:bold;cursor:pointer}.toolBtn.active{background:#39e6c2;color:#04100d}.map.customBg{background-size:cover;background-position:center}.playerDot{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#10221d;border:2px solid #39e6c2;font-size:9px;font-weight:900;cursor:move;z-index:4}.playerDot.tank{border-color:#68a7e8}.playerDot.healer{border-color:#75d885}.playerDot.dps{border-color:#e6b75b}.zone{position:absolute;transform:translate(-50%,-50%);width:110px;height:80px;border-radius:50%;border:2px dashed #e86868;background:#a0202022;display:grid;place-items:center;color:#ffaaaa;font-size:9px;text-align:center;cursor:move;z-index:2}.arrow{position:absolute;height:3px;background:#d2a757;transform-origin:left center;z-index:3}.arrow:after{content:"";position:absolute;right:-2px;top:-5px;border-left:10px solid #d2a757;border-top:6px solid transparent;border-bottom:6px solid transparent}.mapLabel{position:absolute;transform:translate(-50%,-50%);padding:6px 8px;background:#050908dd;border:1px solid #82978f;color:#fff;font-size:9px;cursor:move;z-index:5}.assignCards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.assignmentCard{background:#07100d;border:1px solid #20372f;padding:11px}.assignmentCard b{display:block;color:#d2a757}.assignmentCard small{color:#91a59d}.myJob{border:1px solid #39e6c2;background:#0b1814;padding:14px;margin:12px 0}.myJob h3{margin-top:0}.uploadMap{position:relative;overflow:hidden}.uploadMap input{position:absolute;inset:0;opacity:0;cursor:pointer}.publishBar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;background:#0b1814;border:1px solid #315048;margin-bottom:12px}.viewToggle{display:flex;gap:5px}.viewToggle button{background:#07100d;border:1px solid #315048;color:#b8c8c2;padding:7px 9px;cursor:pointer}.viewToggle .active{background:#39e6c2;color:#04100d}@media(max-width:850px){.assignCards{grid-template-columns:1fr}.boardTools{overflow-x:auto;flex-wrap:nowrap}.toolBtn{white-space:nowrap}.publishBar{align-items:flex-start;flex-direction:column}.playerDot{width:30px;height:30px}}

/* V7 application */
.applicationGrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:14px;align-items:start}.appStep{display:flex;gap:12px;align-items:center;margin:8px 0 16px;padding-bottom:12px;border-bottom:1px solid #20372f}.appStep>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#39e6c2;color:#04100d;font-weight:900}.appStep b,.appStep small{display:block}.appStep small{color:#91a59d}.fetchRow{display:grid;grid-template-columns:1fr auto;gap:8px}#logPreview{margin:12px 0 24px}.logCard{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;background:#07100d;border:1px solid #315048;padding:14px}.logAvatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#10221d;border:2px solid #39e6c2;font-size:22px;font-weight:900}.logIdentity h3{margin:2px 0}.logIdentity small,.logIdentity b{display:block}.logIdentity small{color:#91a59d}.logStats{display:flex;gap:7px}.logStats div,.appMetrics div{min-width:64px;text-align:center;padding:8px;background:#0b1814;border:1px solid #20372f}.logStats strong,.logStats small,.appMetrics b,.appMetrics small{display:block}.logStats strong,.appMetrics b{font-size:18px;color:#d2a757}.logStats small,.appMetrics small{font-size:8px;color:#91a59d}.demoFlag{font-size:9px;color:#d2a757}.goodText{color:#65e0a1}.badText{color:#ff8d8d}.submitApp{margin-top:14px;width:100%}.officerPreview{display:grid;gap:7px;margin:12px 0}.miniMetric{padding:10px;background:#07100d;border-left:3px solid #39e6c2}.miniMetric b,.miniMetric span{display:block}.miniMetric span{font-size:10px;color:#91a59d}.queueHead{margin-top:28px}.appQueue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.applicantCard{background:#07100d;border:1px solid #20372f;padding:14px}.applicantTop{display:flex;justify-content:space-between;gap:10px}.applicantTop h3{margin:5px 0 1px}.applicantTop p{margin:0;color:#91a59d;font-size:11px}.status{display:inline-block;padding:3px 7px;border:1px solid #315048;font-size:8px;font-weight:900}.status.new{color:#39e6c2}.status.accepted{color:#65e0a1}.status.pass{color:#ff8d8d}.status.hold{color:#d2a757}.scoreRing{width:68px;height:68px;border-radius:50%;border:3px solid #d2a757;display:grid;place-items:center;text-align:center;align-content:center}.scoreRing strong{font-size:21px}.scoreRing small{font-size:7px;color:#91a59d}.appMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.scoreBreakdown{display:flex;flex-wrap:wrap;gap:5px}.scoreBreakdown span{font-size:8px;border:1px solid #315048;padding:4px 6px}.appAnswers{font-size:10px}.appActions{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.toolBtn.accept{border-color:#65e0a1}.toolBtn.pass{border-color:#a94d4d}.emptyState{padding:30px;text-align:center;border:1px dashed #315048;color:#91a59d}@media(max-width:850px){.applicationGrid,.appQueue{grid-template-columns:1fr}.fetchRow{grid-template-columns:1fr}.fetchRow .btn{width:100%}.logCard{grid-template-columns:auto 1fr}.logStats,.logCard>a{grid-column:1/-1}.logCard>a{text-align:center}}

/* V7.2 polished application */
.applicationPage{max-width:1180px}.appHero{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:34px 4px 26px}.appHero h1{font-size:42px;line-height:1;margin:7px 0 10px}.appHero p{max-width:700px;color:#9fb3ab;font-size:14px;line-height:1.6}.appHeroBadge{min-width:150px;border:1px solid #315048;background:linear-gradient(145deg,#0b1814,#07100d);padding:18px;text-align:center}.appHeroBadge span,.appHeroBadge b,.appHeroBadge small{display:block}.appHeroBadge span{font-size:30px;color:#39e6c2;font-weight:900}.appHeroBadge b{color:#fff}.appHeroBadge small{color:#81968e;margin-top:4px}
.appTabs{display:flex;border-bottom:1px solid #29433a;margin-bottom:18px}.appTabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:#82978f;padding:12px 18px;font-weight:900;cursor:pointer}.appTabs button.active{color:#39e6c2;border-color:#39e6c2}.appTabs button span{background:#17342b;color:#7ff0d1;padding:2px 6px;margin-left:5px;border-radius:10px}
.applicationShell{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,.8fr);gap:18px}.appMain,.asideCard{background:#08110e;border:1px solid #263d35}.appMain{padding:26px}.appAside{display:grid;gap:12px;align-content:start}.asideCard{padding:18px}.asideCard h3{margin:7px 0 15px}
.stepHeader{display:flex;gap:14px;align-items:center;margin-bottom:16px}.stepHeader .stepNum{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:#76e3c4;color:#05100c;font-size:18px;font-weight:900}.stepHeader small{color:#d2a757;font-weight:900;letter-spacing:1px}.stepHeader h2{margin:1px 0;font-size:22px}.stepHeader p{margin:2px 0;color:#839990;font-size:11px}
.urlBox{padding:15px;border:1px solid #315048;background:#050b09}.urlBox label,.field label{display:block;color:#c6d5d0;font-size:9px;font-weight:900;letter-spacing:.7px;margin-bottom:7px}.fetchRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.fetchRow input,.field input,.field textarea,.field select{box-sizing:border-box;width:100%;background:#f5f7f6;color:#111;border:0;padding:11px 12px;font:inherit}.fetchBtn{white-space:nowrap;padding-left:18px;padding-right:18px}.fetchState{font-size:9px;color:#82978f;margin-top:8px}.statusDot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d2a757;margin-right:6px}
.previewSpace{margin:12px 0 4px}.emptyImport{min-height:95px;border:1px dashed #29433a;display:flex;align-items:center;justify-content:center;gap:12px;color:#647a72}.emptyImport b{border:1px solid #315048;padding:8px;color:#82978f}.stepDivider{height:1px;background:#20372f;margin:27px 0}.fieldGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{margin:0 0 14px}.field textarea{resize:vertical;min-height:92px}.submitApp{width:100%;display:flex;justify-content:center;gap:12px;font-size:11px;padding:13px}
.importChecklist{display:grid;gap:10px}.importChecklist>div{display:flex;gap:10px;align-items:center;padding:9px;background:#07100d;border:1px solid #172a23}.importChecklist i{font-style:normal;color:#39e6c2}.importChecklist b,.importChecklist small{display:block}.importChecklist small{color:#7f958c}.flowLine{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #172a23}.flowLine b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#10231d;color:#39e6c2}
.queueIntro{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:25px 0 14px}.queueIntro h2{margin:4px 0}.queueStats{display:flex;gap:7px}.queueStats div{min-width:65px;text-align:center;background:#08110e;border:1px solid #263d35;padding:9px}.queueStats b,.queueStats small{display:block}.queueStats b{font-size:19px;color:#39e6c2}.queueStats small{font-size:7px;color:#81968e}
.applicationNotes,.applicationDecision{margin-top:12px;padding:11px;background:#0a1612;border:1px solid #29483e}.applicationNotes label,.applicationDecision>b{display:block;color:#39e6c2;font-size:9px;font-weight:900;letter-spacing:.12em;margin-bottom:7px}.applicationNotes textarea{width:100%;resize:vertical;min-height:74px}.applicationNotes>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}.applicationNotes small,.applicationDecision small{color:#81968e}.applicationDecision{border-left:3px solid #d2a757}.applicationDecision p{margin:4px 0 7px;white-space:pre-wrap;color:#d8e5df}
.logCard{border-color:#39e6c2;background:linear-gradient(120deg,#091712,#07100d)}.goodText{color:#65e0a1}.badText{color:#ff8d8d}
@media(max-width:850px){.appHero{align-items:flex-start;padding-top:20px}.appHero h1{font-size:32px}.appHeroBadge{display:none}.applicationShell{grid-template-columns:1fr}.appAside{grid-template-columns:1fr 1fr}.appMain{padding:16px}.fieldGrid{grid-template-columns:1fr}.fetchRow{grid-template-columns:1fr}.fetchBtn{width:100%}.queueIntro{align-items:flex-start;flex-direction:column}.queueStats{width:100%}.queueStats div{flex:1}}
@media(max-width:560px){.appAside{grid-template-columns:1fr}.appTabs button{flex:1;padding:11px 5px;font-size:9px}.stepHeader h2{font-size:18px}.stepHeader p{font-size:10px}.appHero p{font-size:12px}.appMain{padding:13px}.urlBox{padding:11px}.queueStats{gap:4px}}

/* V7.3 API diagnostic */
.apiDiag{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid #172a23;font-size:9px;color:#82978f}.diagBtn{background:transparent;border:1px solid #315048;color:#9fb3ab;padding:6px 9px;font-size:8px;font-weight:900;cursor:pointer}.diagBtn:hover{border-color:#39e6c2;color:#39e6c2}@media(max-width:560px){.apiDiag{align-items:flex-start;flex-direction:column}.diagBtn{width:100%}}

/* V8 Auth + Admin */
.authBtn{background:#101b18;border:1px solid #365f50;color:#d9f5e9;padding:10px 14px;border-radius:8px;font-weight:800;cursor:pointer}
.userChip{display:flex;align-items:center;gap:10px}.userChip span{display:flex;flex-direction:column;line-height:1.05;text-align:right}.userChip small{color:#71d3ae;font-size:10px;letter-spacing:.12em;margin-top:4px}
.authPage{min-height:70vh;display:grid;place-items:center}.authCard{width:min(460px,100%);background:#0c1513;border:1px solid #263f37;border-radius:14px;padding:28px;box-shadow:0 20px 60px #0008}.authCard form{display:grid;gap:10px}.authCard input,.adminControls select{width:100%;box-sizing:border-box;background:#101b18;color:#fff;border:1px solid #345247;border-radius:8px;padding:12px}.authMessage{min-height:22px;color:#e6b86a}
.adminUsers{display:grid;gap:12px}.adminUserCard{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#0c1513;border:1px solid #263f37;border-radius:12px;padding:18px}.adminUserCard h3{margin:8px 0 2px}.adminControls{display:flex;align-items:end;gap:14px;min-width:340px}.adminControls label{font-size:11px;letter-spacing:.08em;color:#9db8ae}.toggleLine{display:flex;align-items:center;gap:7px;padding-bottom:12px;white-space:nowrap}.toggleLine input{width:auto}
@media(max-width:850px){.userChip span{display:none}.adminUserCard{align-items:stretch;flex-direction:column}.adminControls{min-width:0;align-items:stretch;flex-direction:column}.toggleLine{padding-bottom:0}}

/* V8.1 Join Requests */
.authActions{display:flex;gap:8px;align-items:center}
.joinBtn,.dangerBtn{border-radius:8px;padding:10px 14px;font-weight:800;cursor:pointer}
.joinBtn{background:transparent;border:1px solid #b7924a;color:#e8c477}
.dangerBtn{background:#2a1114;border:1px solid #75343d;color:#ffabb5}
.adminTabs{display:flex;gap:10px;margin:18px 0}.requestActions{display:flex;gap:10px;align-items:center}
.successCard{border-color:#365f50}
@media(max-width:850px){.authActions{gap:5px}.joinBtn,.authBtn{padding:9px 10px;font-size:11px}.requestActions{align-items:stretch;flex-direction:column}}

/* V8.2 persistence */
.persistenceNote{font-size:12px;color:#7fbda7}

/* V8.3 Roster Management */
.rosterAdminHead{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:8px 0 18px}.rosterAdminGrid{display:grid;gap:12px}.rosterEditor{margin:24px auto;width:min(720px,100%)}.rosterEditor form{display:grid;gap:11px}.rosterEditor input,.rosterEditor select,.wclAdminImport input{width:100%;box-sizing:border-box;background:#101b18;color:#fff;border:1px solid #345247;border-radius:8px;padding:12px}.wclAdminImport{border:1px solid #365f50;background:#0b1814;padding:14px;border-radius:10px;margin:14px 0}.wclAdminImport small{display:block;color:#9db8ae;margin-top:8px}
@media(max-width:850px){.rosterAdminHead{align-items:stretch;flex-direction:column}}

/* V8.4 */
.raidControl{margin:16px 0}.raidControl .requestActions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}

/* V8.5 production raid roster */
.raidRosterRow{grid-template-columns:minmax(110px,1.1fr) minmax(150px,1.4fr) 90px minmax(100px,1fr) auto;align-items:center}
.raidRowActions{display:flex;gap:6px;justify-content:flex-end}.miniBtn,.miniDanger{border:1px solid #49655c;background:#14231f;color:#dce9e4;border-radius:6px;padding:6px 8px;font-size:11px;cursor:pointer}.miniDanger{border-color:#74433f;color:#ffb8ae}.emptyState{padding:42px 24px;text-align:center;border:1px dashed #355248;border-radius:12px}
@media(max-width:800px){.raidRosterRow{grid-template-columns:1fr 1fr}.raidRowActions{justify-content:flex-start}}

/* V8.6 Full Raid Management */
.fieldGrid.three{grid-template-columns:repeat(3,1fr)}.raidHeadActions{display:flex;align-items:center;gap:10px}.raidNotes{margin-bottom:14px}.dangerZone{margin-top:28px;padding-top:18px;border-top:1px solid #633f3b}.dangerZone h3{margin-bottom:4px}
@media(max-width:700px){.fieldGrid.three{grid-template-columns:1fr}.raidHeadActions{align-items:flex-end;flex-direction:column}}

/* V8.6.1 raid roster snapshots */
.raidRosterCard{overflow:hidden}.rosterTitle{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:12px}
.raiderSnapshot{position:relative;display:grid;grid-template-columns:minmax(130px,1.35fr) minmax(105px,1fr) 75px 64px 70px 64px 92px 92px auto;gap:10px;align-items:center;padding:13px 10px 13px 15px;border-top:1px solid #20332d;background:linear-gradient(90deg,color-mix(in srgb,var(--class-color) 8%,transparent),transparent 30%)}
.raiderSnapshot:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:4px;border-radius:5px;background:var(--class-color);box-shadow:0 0 14px color-mix(in srgb,var(--class-color) 55%,transparent)}
.raiderIdentity{display:flex;flex-direction:column;gap:4px}.raiderIdentity b{font-size:15px;color:var(--class-color)}.classBadge{font-size:10px;letter-spacing:.08em;color:var(--class-color);opacity:.92}
.raidCell,.raidMetric{display:flex;flex-direction:column;gap:3px}.raidCell small,.raidMetric small{font-size:9px;letter-spacing:.12em;color:#617d74}.raidCell strong,.raidMetric strong{font-size:12px;color:#d8e4df}.raidMetric strong{font-size:14px}
.volunteer{font-size:11px;font-weight:700}.volunteer.yes{color:#69c89d}.volunteer.no{color:#4c625b}.assigned{font-size:10px;font-weight:800;color:#d4b75c}.volunteerCell{min-width:82px}
@media(max-width:1050px){.raiderSnapshot{grid-template-columns:1.4fr 1fr 80px 70px 70px}.raiderSnapshot .raidMetric:nth-of-type(5),.raiderSnapshot .raidMetric:nth-of-type(6){display:none}}
@media(max-width:700px){.rosterTitle{display:block}.rosterTitle .muted{display:block;margin-top:4px}.raiderSnapshot{grid-template-columns:1fr 1fr 1fr;gap:12px;padding:15px 10px 15px 16px}.raiderIdentity{grid-column:1/3}.raidRowActions{grid-column:1/-1}.raiderSnapshot .raidMetric:nth-of-type(5),.raiderSnapshot .raidMetric:nth-of-type(6){display:flex}}

/* V8.6.2 — keep roster actions visible */
.raiderSnapshot{
  grid-template-columns:
    minmax(120px,1.35fr)
    minmax(85px,.9fr)
    58px
    54px
    62px
    54px
    74px
    74px
    108px;
  gap:8px;
}
.raidRowActions{
  display:flex;
  justify-content:flex-end;
  gap:6px;
  min-width:108px;
}
.raidRowActions button{
  padding:7px 8px;
  white-space:nowrap;
  font-size:10px;
}
@media(max-width:1100px) and (min-width:701px){
  .raiderSnapshot{
    grid-template-columns:1.25fr .9fr 55px 54px 58px 58px 68px 68px 104px;
    gap:6px;
  }
}
@media(max-width:700px){
  .raiderSnapshot{grid-template-columns:1fr 1fr 1fr}
  .raidRowActions{
    grid-column:1/-1;
    justify-content:flex-start;
    min-width:0;
  }
}

/* V8.6.3 — roomier raid roster */
@media(min-width:1000px){
  .raidRosterCard{padding:24px 18px}
  .rosterTitle{margin-bottom:16px}
  .raiderSnapshot{
    grid-template-columns:
      minmax(150px,1.5fr)
      minmax(105px,1fr)
      70px
      65px
      76px
      68px
      88px
      88px
      118px;
    gap:12px;
    padding:17px 12px 17px 18px;
  }
  .raiderIdentity b{font-size:17px}
  .classBadge{font-size:11px}
  .raidCell small,.raidMetric small{font-size:10px}
  .raidCell strong{font-size:13px}
  .raidMetric strong{font-size:15px}
  .volunteer{font-size:12px}
  .assigned{font-size:11px}
  .raidRowActions{min-width:118px;gap:8px}
  .raidRowActions button{padding:8px 10px;font-size:11px}
}

/* V8.6.4 — give the raid roster the room it actually needs */
@media(min-width:1000px){
  /* Raid detail page: roster gets most of the horizontal real estate */
  .raidDetailGrid{
    grid-template-columns:minmax(0, 3fr) minmax(300px, 1fr) !important;
    gap:18px !important;
  }
  .raidRosterCard{
    min-width:0;
    padding:24px 20px;
  }
  .raiderSnapshot{
    grid-template-columns:
      minmax(145px,1.45fr)
      minmax(100px,1fr)
      68px
      62px
      72px
      66px
      86px
      86px
      116px;
    gap:10px;
  }
}
/* If the existing detail wrapper isn't classed, target the roster/sign-up pair */
@media(min-width:1000px){
  main .grid2:has(.raidRosterCard){
    grid-template-columns:minmax(0, 3fr) minmax(300px, 1fr) !important;
    gap:18px !important;
  }
}

/* V8.6.5 — genuinely widen the raid workspace */
@media(min-width:1100px){
  main,.wrap,.container{
    max-width:1500px !important;
  }
  .raidDetailGrid,
  main .grid2:has(.raidRosterCard){
    grid-template-columns:minmax(0, 4fr) 330px !important;
    gap:20px !important;
  }
  .raidRosterCard{overflow:visible !important}
  .raiderSnapshot{
    grid-template-columns:
      minmax(150px,1.5fr)
      minmax(110px,1fr)
      72px 68px 76px 68px 94px 94px 128px !important;
    gap:12px !important;
  }
  .raidRowActions{display:flex !important;min-width:128px !important}
}
/* Put Raid Lead + Scribe together instead of opposite ends */
.raidControlTop{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-start !important;
  gap:28px !important;
  flex-wrap:wrap;
}
.raidControlTop > *{flex:0 0 auto !important}

/* V8.6.6a — safe scoped layout fix */

/* Undo V8.6.5's global width expansion everywhere. */
@media(min-width:1100px){
  main,.wrap,.container{max-width:1200px !important}
  main.raidWide{
    max-width:1500px !important;
    width:calc(100% - 48px) !important;
  }

  main.raidWide .grid:has(.raidRosterCard){
    grid-template-columns:minmax(0, 4fr) 330px !important;
    gap:20px !important;
  }

  main.raidWide .raidRosterCard{overflow:visible !important}
}

/* Keep Raid Lead and Scribe controls together on the left. */
.raidControl .fieldGrid{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:flex-end !important;
  gap:28px !important;
  flex-wrap:wrap !important;
}
.raidControl .fieldGrid > label{
  flex:0 0 auto !important;
  width:auto !important;
}
.raidControl .fieldGrid select{
  width:auto !important;
  min-width:130px;
}

/* V8.6.6b — restore full-width homepage; width only belongs on .wrap */
@media(min-width:1100px){
  main{
    max-width:none !important;
    width:auto !important;
    margin:0 !important;
  }
  .wrap,.container{
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  main.raidWide{
    max-width:1500px !important;
    width:calc(100% - 48px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  /* Raid control: lead + scribe side-by-side at the left */
  .raidControl .fieldGrid{
    display:flex !important;
    grid-template-columns:none !important;
    justify-content:flex-start !important;
    align-items:flex-end !important;
    gap:24px !important;
  }
  .raidControl .fieldGrid label{
    width:220px !important;
    flex:0 0 220px !important;
  }
  .raidControl .fieldGrid select{
    width:100% !important;
    min-width:0 !important;
  }
}

/* V8.7 — public application is visible immediately below the hero */
.publicRecruitTop{margin-top:0;border-top:1px solid #24463b;border-bottom:1px solid #24463b}
.publicRecruitTop h2{margin-bottom:8px}

/* V8.8 accepted applicant account setup */
.setupBtn{background:transparent;border:1px solid #b89b35;color:#d8bf59;padding:10px 14px;font-weight:800;cursor:pointer}
.authCard{max-width:620px;margin:30px auto}.authCard label{display:block;margin:14px 0}.authCard input{width:100%;margin-top:6px}

/* V8.8.1 */
.setupLinkBtn{border-color:#b89b35!important;color:#d8bf59!important}

.setupLinkBtn{border-color:#d8bf59!important;color:#d8bf59!important;font-weight:800}

/* V8.9.4a Discord OAuth */
.discordLoginBtn{width:100%;padding:14px 18px;margin:12px 0 18px;border:1px solid #7983f5;background:#5865F2;color:#fff;font-weight:900;letter-spacing:.06em;cursor:pointer}
.discordLoginBtn:hover{filter:brightness(1.08)}
.authDivider{display:flex;align-items:center;gap:10px;margin:2px 0 14px;color:#789086;font-size:10px;font-weight:800;letter-spacing:.12em}
.authDivider:before,.authDivider:after{content:"";height:1px;background:#294239;flex:1}

/* V8.10 Discord onboarding */
.discordApplyStatus{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid #294239;background:#09130f;padding:14px 16px;margin:18px 0}
.discordApplyStatus span{font-weight:900;letter-spacing:.08em;color:#73e3bd}
.discordApplyStatus small{color:#91a89f;flex:1;min-width:240px}
.discordLoginBtn.compact{width:auto;margin:0;padding:10px 14px}

/* V8.12.2 — application UX polish */
.requiredMark{color:#ffcf4a;font-weight:900;margin-left:3px}
.requiredLegend{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8ca79d;margin:-4px 0 14px}
.requiredLegend span{color:#ffcf4a;font-weight:900}
.applicationContactRow{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}
.applicationContactRow>label{display:flex;flex-direction:column;height:100%;justify-content:flex-end}
.applicationContactRow input{width:100%;box-sizing:border-box}
.appTabs{margin-bottom:10px}
.discordApplyStatus{margin-top:0;margin-bottom:18px}
@media(max-width:760px){
  .applicationContactRow{grid-template-columns:1fr}
}

/* V8.12.3 — clean application field alignment */
.applicationContactRow{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:14px !important;
  align-items:start !important;
}
.applicationContactRow > label{
  display:grid !important;
  grid-template-rows:auto 38px !important;
  gap:6px !important;
  margin:0 !important;
  align-self:start !important;
}
.applicationContactRow > label > input{
  width:100% !important;
  height:38px !important;
  min-height:38px !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.applicationContactRow + label,
.applicationContactRow ~ label{
  max-width:none;
}
.applicationContactRow ~ label > input,
.applicationContactRow ~ label > textarea,
.applicationContactRow ~ label > select{
  width:100%;
  box-sizing:border-box;
}
@media(min-width:761px){
  /* Keep the shorter single-line fields on the same left-column width as Email. */
  .applicationContactRow ~ label:has(#appDiscord),
  .applicationContactRow ~ label:has(#appAvailability){
    width:calc(50% - 7px);
  }
}
@media(max-width:760px){
  .applicationContactRow{grid-template-columns:1fr !important}
  .applicationContactRow ~ label:has(#appDiscord),
  .applicationContactRow ~ label:has(#appAvailability){width:100%}
}

/* V8.12.4 — application step numbering */
.discordStepNum{
  display:inline-flex;
  width:24px;height:24px;
  align-items:center;justify-content:center;
  border-radius:50%;
  background:#7ce6c0;color:#06100c;
  font-weight:900;
  margin-right:8px;
  letter-spacing:0;
}

/* V8.12.5 application flow correction */
.discordStepNum{color:#06100c !important;font-size:14px !important;line-height:1 !important}

/* V8.12.6 — clean 2 x 2 application short-field grid */
.applicationTwoByTwo{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:14px !important;
  align-items:start !important;
}
.applicationTwoByTwo .field{display:flex !important;flex-direction:column !important;gap:6px !important;margin:0 !important}
.applicationTwoByTwo .field label{margin:0 !important;min-height:14px}
.applicationTwoByTwo .field input{width:100% !important;height:40px !important;min-height:40px !important;margin:0 !important;box-sizing:border-box !important}
.launchPreference{padding:14px;border:1px solid #315048;background:#081410}
.launchPreferenceGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.launchPreference>small{display:block;margin-top:8px;color:#82978f;font-size:9px}
.applicantTop .launchPlan{margin-top:8px;color:#dce9e4}
.applicantTop .launchPlan b{color:#39e6c2;font-size:8px;letter-spacing:.8px;margin-right:6px}
@media(max-width:760px){.applicationTwoByTwo{grid-template-columns:1fr !important}}
@media(max-width:560px){.launchPreferenceGrid{grid-template-columns:1fr}}

/* V8.12.7 — hard homepage banner restoration */
.homeGuildBanner{display:block!important;width:100%!important;max-width:1500px;margin:0 auto 28px!important;overflow:hidden;background:#050a08}
.homeGuildBanner img{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
@media(max-width:760px){.homeGuildBanner{margin-bottom:18px!important}}

/* V8.12.9 — responsive / ultrawide homepage pass */

/* Let the hero breathe on large displays without stretching the operational UI. */
.hero{
  width:min(1800px, calc(100vw - 48px)) !important;
  max-width:1800px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  min-height:clamp(430px, 31vw, 650px) !important;
  overflow:hidden !important;
}
.hero > img,
.hero .homeGuildBanner,
.hero .homeGuildBanner img{
  width:100% !important;
  height:100% !important;
  min-height:inherit !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.heroCopy{
  width:min(720px, 46vw) !important;
  left:clamp(32px, 6vw, 110px) !important;
}
.heroCopy h1{
  font-size:clamp(46px, 4.1vw, 82px) !important;
  line-height:.95 !important;
}

/* Keep normal site content readable instead of smearing it across an ultrawide. */
.wrap,
.stats{
  width:min(1320px, calc(100vw - 48px)) !important;
  max-width:1320px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Give the top bar a little more room on wide screens. */
.siteHeader{
  padding-left:max(24px, calc((100vw - 1600px)/2)) !important;
  padding-right:max(24px, calc((100vw - 1600px)/2)) !important;
}

/* Large 16:9 / modest ultrawide */
@media (min-width:1440px) and (max-width:1999px){
  .hero{width:min(1680px, calc(100vw - 56px)) !important}
}

/* True ultrawide: intentionally cap hero so 3440px monitors don't create a billboard. */
@media (min-width:2000px){
  .hero{width:min(1800px, calc(100vw - 96px)) !important}
  .wrap,.stats{width:min(1400px, calc(100vw - 96px)) !important;max-width:1400px !important}
}

/* Standard desktop/tablet keeps comfortable margins. */
@media (max-width:1100px){
  .hero{width:100% !important;min-height:460px !important}
  .heroCopy{width:min(680px, calc(100% - 48px)) !important;left:24px !important}
  .wrap,.stats{width:calc(100% - 32px) !important}
}

/* Mobile: image remains cinematic, content stays usable. */
@media (max-width:700px){
  .hero{width:100% !important;min-height:500px !important}
  .hero > img,.hero .homeGuildBanner,.hero .homeGuildBanner img{
    object-position:58% center !important;
  }
  .heroCopy{width:calc(100% - 32px) !important;left:16px !important}
  .heroCopy h1{font-size:clamp(38px,12vw,56px) !important}
}

/* V8.13 — Roster & Character Portal */
.rosterPortal{max-width:1400px!important}
.rosterHero{display:flex;align-items:end;justify-content:space-between;gap:28px;padding:18px 0 26px;border-bottom:1px solid #17372d}
.rosterHero h1{font-family:Georgia,serif;font-size:clamp(36px,4vw,58px);line-height:1;margin:7px 0 10px;color:#f5f2e9}
.rosterHero p{max-width:760px;color:#9bb8ad;margin:0}
.rosterSummary{display:grid;grid-template-columns:repeat(6,1fr);margin:22px 0 34px;border:1px solid #1b3a30;background:#09110e}
.rosterSummary>div{text-align:center;padding:18px 10px;border-right:1px solid #1b3a30}
.rosterSummary>div:last-child{border-right:0}
.rosterSummary strong{display:block;color:#f0c743;font-size:26px}.rosterSummary span{font-size:10px;color:#80a89a;letter-spacing:.08em}
.rosterToolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}
.rosterToolbar h2{font-family:Georgia,serif;margin:5px 0 0}.rosterLegend{display:flex;gap:7px}
.rosterGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rosterCard{position:relative;background:#09120f;border:1px solid #1a3a30;cursor:pointer;overflow:hidden;transition:transform .15s ease,border-color .15s ease}
.rosterCard:hover{transform:translateY(-2px);border-color:#6ee7bd}
.rosterAccent{height:3px;background:#6ee7bd}
.rosterCardHead{display:grid;grid-template-columns:50px 1fr auto;gap:12px;align-items:center;padding:16px}
.rosterAvatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#10231c;border:1px solid #2b5a49;color:#7ce6c0;font:700 22px Georgia,serif}
.rosterIdentity h3{font:700 22px Georgia,serif;margin:0;color:#f5f2e9}.rosterIdentity p{margin:3px 0;color:#b5c9c1}.rosterIdentity p span{color:#527469}.rosterIdentity small{color:#6f9185}
.rolePill{display:inline-flex;padding:5px 8px;border:1px solid #31574a;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#b9d6cc;background:#0d1a16}
.role-tank{border-color:#4d75a8}.role-healer,.role-heal{border-color:#4e966b}.role-dps{border-color:#9b625e}
.rosterMetrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #17372d;border-bottom:1px solid #17372d}
.rosterMetrics>div{text-align:center;padding:13px 8px;border-right:1px solid #17372d}.rosterMetrics>div:last-child{border-right:0}
.rosterMetrics strong{display:block;font-size:20px;color:#f0c743}.rosterMetrics span{font-size:9px;color:#78988d;letter-spacing:.08em}
.rosterCardFoot{display:flex;justify-content:space-between;padding:11px 16px;color:#6ee7bd;font-size:10px;font-weight:900;letter-spacing:.08em}
.class-warrior .rosterAccent{background:#c69b6d}.class-paladin .rosterAccent{background:#f48cba}.class-hunter .rosterAccent{background:#aad372}.class-rogue .rosterAccent{background:#fff468}.class-priest .rosterAccent{background:#fff}.class-shaman .rosterAccent{background:#0070dd}.class-mage .rosterAccent{background:#3fc7eb}.class-warlock .rosterAccent{background:#8788ee}.class-monk .rosterAccent{background:#00ff98}.class-druid .rosterAccent{background:#ff7c0a}.class-demon-hunter .rosterAccent{background:#a330c9}.class-death-knight .rosterAccent{background:#c41e3a}.class-evoker .rosterAccent{background:#33937f}
@media(max-width:1050px){.rosterGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.rosterSummary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.rosterHero,.rosterToolbar{align-items:flex-start;flex-direction:column}.rosterSummary{grid-template-columns:repeat(2,1fr)}.rosterSummary>div{border-bottom:1px solid #1b3a30}.rosterGrid{grid-template-columns:1fr}.rosterLegend{flex-wrap:wrap}.rosterCardHead{grid-template-columns:48px 1fr}.rosterCardHead .rolePill{grid-column:2;justify-self:start}}

/* V8.35 — roster command center */
.rosterFilters{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(135px,1fr));gap:9px;margin:0 0 16px}.rosterFilters input,.rosterFilters select{width:100%;box-sizing:border-box;background:#0c1814;color:#dce9e4;border:1px solid #294b40;padding:11px 12px}.rosterWorkbench{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px;align-items:start}.rosterRail{position:sticky;top:76px;background:#08110e;border:1px solid #1b3a30;max-height:calc(100vh - 96px);overflow:hidden}.rosterRailHead{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid #1b3a30;font-size:9px;color:#82a398;letter-spacing:.08em}.rosterRailList,#rosterRailList{max-height:calc(100vh - 140px);overflow:auto}.rosterRailCard{position:relative;width:100%;display:grid;grid-template-columns:38px 1fr;gap:0 10px;text-align:left;padding:11px;background:#09130f;border:0;border-bottom:1px solid #173229;color:#fff;cursor:pointer}.rosterRailCard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--class-color)}.rosterRailCard>span{grid-row:1/4;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#10231c;border:1px solid var(--class-color);color:var(--class-color);font-weight:900}.rosterRailCard b{font-size:13px;color:var(--class-color)}.rosterRailCard small{color:#a5bbb3}.rosterRailCard i{font-style:normal;font-size:9px;color:#66847a}.rosterRailCard:hover{background:#10211b}.rosterWorkspace{min-width:0}.rosterWorkspaceTools{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rosterWorkspaceTools details{position:relative}.rosterWorkspaceTools summary{cursor:pointer;border:1px solid #315048;padding:8px 10px;color:#b8c8c2;font-size:9px;font-weight:900;list-style:none}.rosterColumnPicker{position:absolute;right:0;z-index:8;width:190px;display:grid;gap:8px;padding:12px;background:#0b1814;border:1px solid #315048;box-shadow:0 12px 30px #0009}.rosterColumnPicker label{font-size:10px;color:#c3d2cc}.rosterTallies{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.rosterTallies section{padding:11px;background:#09130f;border:1px solid #17372d}.rosterTallies section>b{display:block;font-size:9px;color:#65dcb4;letter-spacing:.1em;margin-bottom:8px}.rosterTallies section div{display:flex;gap:5px;flex-wrap:wrap}.rosterTallies span{padding:4px 6px;border:1px solid #26483d;color:#9fb7ae;font-size:9px}.rosterTallies span strong{color:#fff}.rosterTableWrap{overflow:auto;border:1px solid #1b3a30}.rosterTable{width:100%;border-collapse:collapse;white-space:nowrap;background:#08110e}.rosterTable th{position:sticky;top:0;background:#0d1a16;color:#719488;font-size:9px;letter-spacing:.08em;text-align:left;padding:11px;border-bottom:1px solid #29483e}.rosterTable td{padding:11px;border-bottom:1px solid #152d25;color:#c0d0ca;font-size:11px}.rosterTable tr{box-shadow:inset 3px 0 var(--class-color)}.rosterTable td:first-child button{background:none;border:0;color:var(--class-color);text-align:left;cursor:pointer}.rosterTable td:first-child b,.rosterTable td:first-child small{display:block}.rosterTable td:first-child b{font-size:14px}.rosterTable td:first-child small{color:#617d73;font-size:9px}.rosterRowActions,.rosterMiniActions{display:flex;gap:5px}.rosterMiniGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rosterMini{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:13px 13px 13px 16px;border:1px solid #1b3a30;box-shadow:inset 3px 0 var(--class-color);background:#09130f}.rosterMini b,.rosterMini span,.rosterMini small{display:block}.rosterMini b{color:var(--class-color);font-size:15px}.rosterMini span{color:#b6c9c2;font-size:11px}.rosterMini small{color:#718e84}.rosterMini>strong{font-size:9px;color:#d8bd62}.rosterMiniActions{grid-column:1/-1}.characterSpecs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:13px 0}.characterSpecs div{padding:10px;background:#08110e;border:1px solid #203c33}.characterSpecs small,.characterSpecs strong{display:block}.characterSpecs small{font-size:8px;color:#6f9185}.signupDialog{width:min(420px,calc(100% - 30px));background:#0b1814;color:#fff;border:1px solid #315048;padding:22px}.signupDialog::backdrop{background:#000b}.signupDialog form{display:grid;gap:9px}.signupDialog label{font-size:10px;color:#91a59d}.signupDialog select{width:100%;background:#101b18;color:#fff;border:1px solid #345247;padding:11px}
.rosterScope{display:flex;align-items:center;gap:12px;margin:-18px 0 18px;padding:10px 12px;background:#09130f;border:1px solid #1b3a30}.rosterScope label{font-size:9px;color:#6ee7bd;letter-spacing:.1em;font-weight:900}.rosterScope select{min-width:280px;background:#101b18;color:#fff;border:1px solid #345247;padding:9px}.compositionBoard{margin-bottom:20px;padding:15px;background:#07100d;border:1px solid #1b3a30}.compositionHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.compositionHead h2{margin:4px 0 0;font-family:Georgia,serif}.compositionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.compClass{border:1px solid #203c33;background:#0a1511;box-shadow:inset 3px 0 var(--class-color)}.compClass header{display:flex;justify-content:space-between;padding:10px 11px;border-bottom:1px solid #203c33}.compClass header b{color:var(--class-color)}.compClass header strong{font-size:19px}.compClass>div{display:grid;grid-template-columns:minmax(100px,1fr) 25px auto auto;gap:6px;align-items:center;padding:7px 10px;border-bottom:1px solid #142a22;font-size:10px}.compClass>div:last-child{border-bottom:0}.compClass>div>b{font-size:14px;color:#fff;text-align:center}.compClass label{display:flex;align-items:center;gap:4px;font-size:7px;color:#66847a}.compClass input{width:38px;background:#101b18;color:#fff;border:1px solid #345247;padding:4px}.compClass small{color:#718e84}.compClass i{font-style:normal;font-size:7px;font-weight:900;padding:3px 5px;border:1px solid}.compClass i.need{color:#ff9e9e;border-color:#75343d}.compClass i.covered{color:#69c89d;border-color:#365f50}.recruitPanel{margin-top:12px;padding-top:12px;border-top:1px solid #203c33}.recruitPanel>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.recruitPanel span{display:grid;padding:8px 10px;border:1px solid #4d3034;border-left:3px solid var(--class-color);background:#150c0e}.recruitPanel span b,.recruitPanel span strong,.recruitPanel span small{display:block}.recruitPanel span strong{color:#ff9e9e}.recruitPanel span small{color:#8e7779;font-size:8px}
@media(max-width:1000px){.compositionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.rosterFilters{grid-template-columns:1fr 1fr}.rosterWorkbench{grid-template-columns:220px minmax(0,1fr)}.rosterTallies{grid-template-columns:1fr}.rosterMiniGrid{grid-template-columns:1fr}}
@media(max-width:650px){.rosterFilters{grid-template-columns:1fr}.rosterWorkbench{grid-template-columns:1fr}.rosterRail{position:static;max-height:none}.rosterRailList,#rosterRailList{display:flex;overflow:auto;max-height:none}.rosterRailCard{min-width:220px;border-right:1px solid #173229}.rosterTallies{display:block}.rosterTallies section{margin-bottom:7px}.rosterWorkspaceTools{margin-top:8px}.compositionGrid{grid-template-columns:1fr}.compositionHead{align-items:flex-start;gap:10px;flex-direction:column}.rosterScope{align-items:flex-start;flex-direction:column}.rosterScope select{width:100%;min-width:0}.compClass>div{grid-template-columns:1fr 25px auto}}

/* V8.49 — Discord member accounts own a Primary character plus Alts */
.memberAccountCard{align-items:flex-start}.memberAccountIdentity{min-width:0;flex:1}.memberCharacters{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.memberCharacters button{display:grid;grid-template-columns:auto 1fr;gap:1px 7px;text-align:left;background:#08110e;border:1px solid #25433a;border-left:3px solid var(--class-color);color:#dce9e4;padding:8px 10px;cursor:pointer}.memberCharacters button b{grid-row:1/3;font-size:7px;letter-spacing:.08em;color:#69d8b2;align-self:center}.memberCharacters button span{font-weight:900}.memberCharacters button small{font-size:8px;color:#76968b}.memberCharacters.empty{font-size:9px;color:#6d887f;letter-spacing:.08em}.primaryCharacterToggle{padding:10px 0 0}.rosterRailCard b em,.rosterMini b em,.rosterTable b em{font:900 7px/1 sans-serif;letter-spacing:.06em;color:#6ee7bd;border:1px solid #315b4d;padding:3px 4px;margin-left:4px;vertical-align:middle}.rosterTable td>small{display:block;color:#6f8c82;font-size:8px}.characterOwner{margin:14px 0;padding:11px;background:#07110e;border:1px solid #28473d}.characterOwner>small,.characterOwner>strong,.characterOwner>span{display:block}.characterOwner>small{font-size:8px;letter-spacing:.1em;color:#68dcb5}.characterOwner>strong{margin-top:4px;font-size:15px}.characterOwner>span{color:#77968b;font-size:10px}.characterOwner>div{display:grid;gap:5px;margin-top:9px}.characterOwner button{width:100%;text-align:left;background:#0d1a16;border:1px solid #28463c;color:#a9bdb6;padding:7px;cursor:pointer}.characterOwner button.active{border-color:#6ee7bd;color:#fff}.characterOwner button b{font-size:7px;color:#65dcb4;letter-spacing:.08em}.characterOwner.unlinked{border-color:#63473a}
@media(max-width:850px){.memberCharacters{display:grid}.memberCharacters button{width:100%}}

/* V8.50 — member-first recruitment roster and character-specific signups */
.memberFirstSummary{grid-template-columns:repeat(7,1fr)}.rosterScope>span{margin-left:auto;color:#77988c;font-size:9px}.rosterModeTabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px}.rosterModeTabs button{background:#09130f;border:1px solid #28483d;color:#89a99e;padding:9px 12px;font-size:9px;font-weight:900;letter-spacing:.08em;cursor:pointer}.rosterModeTabs button.active{background:#6ee7bd;border-color:#6ee7bd;color:#06100c}.memberRailCard:disabled{cursor:default;opacity:.72}.memberRosterTable{border:1px solid #1b3a30;background:#08110e;overflow:visible}.memberRosterHead,.memberRosterRow{display:grid;grid-template-columns:minmax(145px,1.25fr) minmax(155px,1.4fr) minmax(130px,1fr) 70px minmax(95px,.8fr) auto;gap:10px;align-items:center;padding:11px 13px}.memberRosterHead{background:#0d1a16;color:#719488;font-size:8px;font-weight:900;letter-spacing:.08em;border-bottom:1px solid #29483e}.memberRosterRow{box-shadow:inset 3px 0 var(--class-color);border-bottom:1px solid #152d25;color:#c0d0ca;font-size:11px}.memberRosterRow:last-child{border-bottom:0}.memberRosterRow>div>b,.memberRosterRow>div>small{display:block}.memberRosterRow>div>small{color:#6f8c82;font-size:8px;margin-top:3px}.memberRosterRow button{background:none;border:0;color:inherit;text-align:left;cursor:pointer}.memberRosterRow>div:nth-child(2) button b{color:var(--class-color);font-size:14px}.memberRosterRow .missingPrimary{color:#ff9e9e;font-size:9px}.memberRosterRow details{position:relative}.memberRosterRow summary{cursor:pointer;color:#6ee7bd;font-size:9px;font-weight:900}.memberAltList{position:absolute;right:0;z-index:9;display:grid;gap:5px;width:240px;margin-top:7px;padding:9px;background:#07100d;border:1px solid #315048;box-shadow:0 12px 30px #000b}.memberAltList button{display:grid;border:1px solid #25433a;border-left:3px solid var(--class-color);padding:7px;background:#0b1814}.memberAltList button b{color:var(--class-color)}.memberAltList button span,.memberAltList>span{font-size:8px;color:#78988d}.raiderIdentity em{font:900 7px/1 sans-serif;color:#6ee7bd;border:1px solid #315b4d;padding:3px 4px;margin-left:4px}.raiderIdentity small{display:block;margin-top:4px;color:#78988d;font-size:8px}.signupDialog select{margin-bottom:6px}
@media(max-width:1100px){.memberFirstSummary{grid-template-columns:repeat(4,1fr)}.memberRosterHead{display:none}.memberRosterRow{grid-template-columns:1.2fr 1.2fr 1fr auto}.memberRosterRow>div:nth-child(5),.memberRosterRow>div:nth-child(6){grid-column:auto}}
@media(max-width:700px){.memberFirstSummary{grid-template-columns:repeat(2,1fr)}.rosterScope>span{margin-left:0}.memberRosterRow{grid-template-columns:1fr 1fr}.memberAltList{position:static;width:auto}.memberRosterRow>div:last-child{grid-column:1/-1}}

.compClass>div>span small{display:block;font-size:7px;color:#66847a;margin-top:2px}

/* V8.14 — Raid signup discovery UX */
.raidSignupPage{max-width:1400px!important}
.raidFilters{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.raidFilters button{background:#09120f;border:1px solid #214438;color:#91aea4;padding:9px 13px;font-weight:800;font-size:10px;letter-spacing:.07em;cursor:pointer}
.raidFilters button:hover,.raidFilters button.active{background:#76e4bd;color:#06100c;border-color:#76e4bd}
.raidUxGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.raidUxCard{display:grid;grid-template-columns:120px 1fr;background:#09120f;border:1px solid #1b3a30;min-height:250px}
.raidDateBlock{background:#0c1915;border-right:1px solid #24483c;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px 10px}
.raidDateBlock b{color:#77e5be;font-size:14px;letter-spacing:.12em}.raidDateBlock strong{font:700 25px Georgia,serif;color:#f5f2e9;margin:7px 0 14px}.raidDateBlock span{font-size:17px;font-weight:900;color:#f0c743;white-space:nowrap}
.raidUxBody{padding:20px}.raidUxTop{display:flex;justify-content:space-between;gap:18px}.raidUxTop h3{font:700 27px Georgia,serif;margin:6px 0}
.raidTimeLine{margin:0;color:#a4bcb3;font-size:14px}.raidTimeLine b{color:#f0c743;font-size:16px}
.raidReadiness{text-align:right}.raidReadiness strong{display:block;color:#f0c743;font-size:29px}.raidReadiness span{font-size:10px;font-weight:900}
.raidSignupCount{display:flex;align-items:baseline;gap:8px;margin:18px 0 8px}.raidSignupCount strong{font-size:20px;color:#f5f2e9}.raidSignupCount span{font-size:9px;letter-spacing:.1em;color:#78988d}
.raidRoleRow{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 18px}.raidOpenBtn{width:100%;font-size:12px;padding:12px}
@media(max-width:1000px){.raidUxGrid{grid-template-columns:1fr}}
@media(max-width:620px){.raidUxCard{grid-template-columns:1fr}.raidDateBlock{border-right:0;border-bottom:1px solid #24483c;flex-direction:row;gap:12px;padding:12px}.raidDateBlock strong{margin:0}.raidUxTop{flex-direction:column}.raidReadiness{text-align:left}}

/* V8.15 raid signup readability */
.raidCardNotes{margin:14px 0 4px;padding:13px 15px;border:1px solid #4a5130;background:rgba(236,201,52,.065);display:flex;flex-direction:column;gap:5px}
.raidCardNotes span,.raidDetailNotes span{font-size:11px;font-weight:900;letter-spacing:1.35px;color:#e6c934}
.raidCardNotes strong{font-size:15px;line-height:1.45;color:#f1f4e9;white-space:pre-line}
.raidDetailNotes{margin:18px 0 22px;padding:18px 20px;border:1px solid #6a6130;background:rgba(236,201,52,.075);display:flex;flex-direction:column;gap:8px}
.raidDetailNotes strong{font-size:18px;line-height:1.55;color:#f5f6ef;white-space:pre-line}
.importantNotesInput{min-height:145px;font-size:16px!important;line-height:1.5!important}
.formHint{margin-top:-5px;margin-bottom:16px;font-size:12px;color:#89a99d}
.raidForm select{min-height:42px}
@media(max-width:700px){.raidCardNotes strong{font-size:14px}.raidDetailNotes strong{font-size:16px}}

/* V8.38 — read-only Vex Coach share links */
.coachShareStatus{display:block;margin:8px 0 14px;padding:10px 12px;color:#9fc7da;background:#071827;border:1px solid #205f8c;line-height:1.5}
.coachShareStatus:empty{display:none}
.coachShareUrl{box-sizing:border-box;width:100%;margin-top:8px;padding:9px 10px;color:#b9eaff;background:#04101b;border:1px solid #2878ad;font:inherit}
.sharedCoachPage{max-width:1500px!important}
.sharedCoachPage .vexVisualReport{margin-top:14px}

/* V8.39 — Vex Intelligence coaching layer */
.vexAiCoach{margin:16px 0;padding:20px;background:linear-gradient(135deg,rgba(13,28,55,.96),rgba(15,13,47,.96));border:1px solid #5b63cc;box-shadow:0 0 32px rgba(91,99,204,.15)}
.vexCopyCoach{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px}.vexCopyCoach h2{margin:5px 0 8px}.vexCopyCoach p{max-width:900px;margin:0;color:#a9bfd0;line-height:1.6}.vexCopyCoach .btn{min-width:205px}.coachCopyStatus{grid-column:1/-1;color:#83d9ff;font-size:11px;letter-spacing:.04em}.coachCopyStatus.success{color:#72eca9}.coachCopyStatus.failed{color:#ff8290}
@media(max-width:760px){.vexCopyCoach{grid-template-columns:1fr}.vexCopyCoach .btn{width:100%}}
.vexAiHead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.vexAiHead h2{margin:6px 0 12px;font:700 clamp(25px,3vw,36px) Georgia,serif}.vexAiBadge{padding:7px 9px;border:1px solid #5ce0b1;color:#70efc1;background:#08271f;font-size:9px;font-weight:900;letter-spacing:.12em;white-space:nowrap}
.vexAiAssessment{font-size:16px;line-height:1.65;color:#dceeff;max-width:1100px}.vexAiPattern{display:grid;gap:5px;margin:15px 0;padding:13px 15px;background:#09192a;border-left:3px solid #67e7ff}.vexAiPattern b,.vexAiGoal b,.vexAiLimits>b{color:#79dfff;font-size:9px;letter-spacing:.16em}.vexAiPattern span,.vexAiGoal span{color:#d6e7f0;line-height:1.55}
.vexAiIssues{display:grid;gap:14px}.vexAiIssue{padding:17px;background:rgba(3,13,27,.78);border:1px solid #285d86}.vexAiIssue header{display:flex;justify-content:space-between;gap:12px;color:#68dfff;font-size:9px;font-weight:900;letter-spacing:.13em}.vexAiIssue header b{color:#f1c95b;text-transform:uppercase}.vexAiIssue h3{margin:8px 0 15px;font:700 24px Georgia,serif}.vexAiColumns{display:grid;grid-template-columns:1.1fr .9fr 1.1fr;gap:10px}.vexAiColumns section{padding:12px;background:#071523;border:1px solid #173c59}.vexAiColumns h4{margin:0 0 9px;color:#7fcff4;font-size:9px;letter-spacing:.13em}.vexAiColumns p,.vexAiColumns li{color:#bad0dc;line-height:1.5}.vexAiColumns ul,.vexAiColumns ol{margin:0;padding-left:18px}.vexAiColumns li+li{margin-top:6px}.vexAiGoal{display:grid;gap:4px;margin-top:10px;padding:11px 13px;background:rgba(62,212,155,.07);border:1px solid #276f58}.vexAiIssueSources{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.vexAiIssueSources a{padding:6px 8px;border:1px solid #315f7e;color:#87d9ff;font-size:9px;text-decoration:none}.vexAiIssueSources a:hover{background:#102b40}
.vexAiSources{margin-top:14px;border:1px solid #274a67}.vexAiSources summary,.vexEvidenceDrawer summary{cursor:pointer;padding:12px 14px;color:#83d9ff;font-size:10px;font-weight:900;letter-spacing:.1em}.vexAiSources a{display:grid;gap:3px;margin:0 12px;padding:10px;border-top:1px solid #183750;text-decoration:none}.vexAiSources a b{color:#9cddff}.vexAiSources a span{color:#9db8c8}.vexAiSources a small{color:#617f92}.vexAiLimits{display:grid;gap:6px;margin-top:12px;padding:12px 14px;border:1px solid #665a28;background:rgba(85,69,12,.12)}.vexAiLimits span{color:#bdb284;font-size:11px}.vexAiLoading,.vexAiError{display:grid;gap:7px;padding:18px;text-align:center}.vexAiLoading b{color:#83d9ff;letter-spacing:.14em}.vexAiLoading span,.vexAiError span{color:#9bb8ca}.vexAiError b{color:#ff8290}.vexAiError .toolBtn{justify-self:center;margin-top:7px}
.vexRaidSnapshot{margin-bottom:12px}.vexSnapshotGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.vexSnapshotGrid div{padding:12px 8px;text-align:center;background:#081d2d;border:1px solid #173f5d}.vexSnapshotGrid strong,.vexSnapshotGrid span{display:block}.vexSnapshotGrid strong{font-size:25px;color:#fff}.vexSnapshotGrid span{margin-top:4px;color:#789db3;font-size:8px;letter-spacing:.08em;line-height:1.35}.vexEvidenceDrawer{margin-bottom:16px;border:1px solid #244f70;background:#06121d}.vexEvidenceDrawer>.vexReportGrid{padding:0 12px 12px;margin:0}
@media(max-width:900px){.vexAiColumns{grid-template-columns:1fr}.vexSnapshotGrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.vexAiHead{flex-direction:column}.vexSnapshotGrid{grid-template-columns:repeat(2,1fr)}}


/* V8.15.2 — Raid notification visibility */
.raidNotificationStatus{margin:18px 0 22px;padding:18px 20px}
.notifyStatusHead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px}
.notifyStatusHead h3{margin:5px 0 0;font:700 22px Georgia,serif;color:#f5f2e9}
.notifyLive{font-size:10px;font-weight:900;letter-spacing:.12em;color:#76e4bd;border:1px solid #2c6754;background:rgba(118,228,189,.06);padding:7px 9px}
.notifyStatusRow{display:grid;grid-template-columns:190px 90px 1fr;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #18372d}
.notifyStatusName{display:flex;align-items:center;gap:9px}.notifyStatusName strong{color:#eef5f1}
.notifyStatusCount{display:flex;align-items:baseline;gap:6px}.notifyStatusCount b{color:#f0c743;font-size:18px}.notifyStatusCount span{font-size:9px;letter-spacing:.1em;color:#78988d}
.notifyStatusRecipients{font-size:12px;color:#8faea3;line-height:1.45}
.notifyStatusFoot{border-top:1px solid #18372d;margin-top:2px;padding-top:12px;font-size:11px;color:#78988d}
.notifyStatusFoot strong{color:#a9c7bc}
@media(max-width:700px){.notifyStatusRow{grid-template-columns:1fr auto}.notifyStatusRecipients{grid-column:1/-1}.notifyStatusHead{align-items:center}}

/* V8.30 — Vex Coach generated visual report */
.vexVisualReport{--vc-blue:#51b9ff;--vc-cyan:#67e7ff;--vc-green:#52e4a0;--vc-red:#ff6070;--vc-gold:#f1c95b;position:relative;overflow:hidden;margin-top:12px;padding:22px;background:radial-gradient(circle at 82% 4%,rgba(50,102,255,.2),transparent 30%),linear-gradient(145deg,#07101e 0%,#071522 50%,#050b13 100%);border:1px solid #245d87;box-shadow:0 0 40px rgba(30,116,255,.14);color:#eaf6ff}
.vexVisualReport:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(66,166,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(66,166,255,.035) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}
.vexVisualReport>*{position:relative}.vexReportTop{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 18px;border-bottom:1px solid #245d87}.vexReportTop>div:first-child{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:12px}.vexMark{grid-row:1/3;font-size:34px;color:#8d7aff;text-shadow:0 0 18px #5b6cff}.vexReportTop b{font:700 clamp(25px,3vw,42px) Georgia,serif;letter-spacing:.16em}.vexReportTop small{font-size:9px;letter-spacing:.25em;color:#8db9d6}.vexReportActions{display:flex;align-items:center;gap:14px}.vexReportActions span{font-size:9px;letter-spacing:.22em;color:#b8d7ea}
.vexIdentity{display:grid;grid-template-columns:1.15fr 1fr;gap:0;margin:18px 0;border:1px solid #2875aa;background:rgba(5,18,34,.78);box-shadow:inset 0 0 24px rgba(40,118,255,.08)}.vexIdentity>div{padding:18px 22px}.vexIdentity>div+div{border-left:1px solid #245d87}.vexIdentity h1{font:700 clamp(35px,5vw,58px) Georgia,serif;margin:3px 0;color:white}.vexIdentity h3{font:700 24px Georgia,serif;margin:7px 0;color:#fff}.vexIdentity p{margin:0;color:#8edaff;font-size:17px}.vexIdentity p i{display:inline-block;height:18px;border-left:1px solid #4aa3d7;margin:0 10px;vertical-align:middle}
.vexReportGrid{display:grid;gap:12px;margin-bottom:12px}.vexReportGrid.top{grid-template-columns:.92fr 1.08fr 1.2fr}.vexReportGrid.middle{grid-template-columns:1.25fr 1.05fr .8fr}.vexReportGrid.bottom{grid-template-columns:1fr 1fr}.vexPanel{background:rgba(4,16,29,.88);border:1px solid #205f8c;padding:16px;min-width:0;box-shadow:inset 0 0 20px rgba(37,114,193,.06)}.vexPanelTitle{display:block;color:#80d8ff;font-size:11px;font-weight:900;letter-spacing:.19em;margin-bottom:14px}.vexSub{display:block;color:#6d98b4;font-size:9px;letter-spacing:.14em;margin-top:-8px;margin-bottom:12px}.vexGradeBody{display:flex;align-items:center;gap:18px}.vexGradeBody p{line-height:1.55;color:#d3e6f1}.vexGradeRing{flex:0 0 110px;width:110px;height:110px;border-radius:50%;display:grid;place-items:center;align-content:center;border:9px solid var(--vc-green);box-shadow:0 0 22px rgba(82,228,160,.16)}.vexGradeRing strong{font:700 45px Georgia,serif;color:var(--vc-green)}.vexGradeRing small{font-size:9px;color:#8fd8bd}.vexTakeaways p{display:flex;align-items:flex-start;gap:10px;margin:10px 0;line-height:1.45}.vexTakeaways p b{flex:0 0 22px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#04120d}.vexTakeaways .good{background:var(--vc-green)}.vexTakeaways .warn{background:var(--vc-gold)}.vexNarrative{line-height:1.68;color:#d8e7ef;font-size:15px}
.vexComparison{display:grid;gap:11px}.vexCompareRow{display:grid;grid-template-columns:150px 1fr 58px;gap:10px;align-items:center}.vexCompareRow b,.vexCompareRow small{display:block}.vexCompareRow small{font-size:9px;color:#7296ac}.vexBarPair{height:16px;background:#0b263c;position:relative;border-radius:2px;overflow:hidden}.vexBarPair i,.vexBarPair span{position:absolute;left:0;height:7px}.vexBarPair span{top:0;background:var(--vc-cyan)}.vexBarPair i{bottom:0;background:#4c6f91}.vexCompareRow>strong{text-align:right}.up{color:var(--vc-green)!important}.down{color:var(--vc-red)!important}.vexTable{width:100%;border-collapse:collapse}.vexTable th,.vexTable td{padding:9px 7px;border-bottom:1px solid #173b56;text-align:left}.vexTable th{font-size:9px;letter-spacing:.1em;color:#78a7c4}.vexGoodState{padding:18px;color:var(--vc-green);border:1px solid #1e624b;background:rgba(49,197,127,.06);line-height:1.5}.vexMetricTiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vexMetricTiles div{padding:14px 8px;text-align:center;background:#081d2d;border:1px solid #173f5d}.vexMetricTiles strong,.vexMetricTiles span{display:block}.vexMetricTiles strong{font-size:27px;color:#fff}.vexMetricTiles span{font-size:8px;letter-spacing:.1em;color:#79a8c4}.vexFootnote{font-size:11px;color:#7193a8}
.vexRecommendations{counter-reset:vexrec;list-style:none;margin:0;padding:0;display:grid;gap:12px}.vexRecommendations li{counter-increment:vexrec;display:grid;grid-template-columns:28px 1fr;gap:2px 10px}.vexRecommendations li:before{content:counter(vexrec);grid-row:1/3;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--vc-blue);color:#03101a;font-weight:900}.vexRecommendations b,.vexRecommendations span{display:block}.vexRecommendations b{color:#9cddff}.vexRecommendations span{color:#a9c1cf;line-height:1.4}.vexChecklist{list-style:none;margin:0;padding:0;display:grid;gap:12px}.vexChecklist li{position:relative;padding-left:29px;color:#d5e5ed}.vexChecklist li:before{content:"✓";position:absolute;left:0;top:-2px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--vc-green);color:#03120d;font-weight:900}
.vexCohortEvidence{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.vexSpellTable td:last-child{font-size:11px;line-height:1.55;color:#9fc0d2}.vexMiniTable{width:100%;border-collapse:collapse;margin-top:10px;font-size:11px}.vexMiniTable th,.vexMiniTable td{padding:6px 5px;border-top:1px solid #173b56;text-align:right}.vexMiniTable th:first-child,.vexMiniTable td:first-child{text-align:left}.vexMiniTable th{color:#78a7c4;font-size:8px;letter-spacing:.06em}.vexMissingData{border-color:#735e24;background:rgba(81,61,10,.18)}.vexMissingData b{color:#f1c95b}
.vexAutopsy{margin-top:12px;border-top:1px solid #205f8c}.vexAutopsy summary{cursor:pointer;padding:12px 4px 4px;color:#83d9ff;font-size:10px;font-weight:900;letter-spacing:.1em}.vexAutopsyBody{overflow-x:auto}.vexAutopsyBody h4{margin:16px 0 5px;color:#f1c95b;font-size:9px;letter-spacing:.16em}.vexBossGrid .vexBossCard:has(.vexAutopsy[open]){grid-column:1/-1}
.vexLogSources{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.vexLogSources section{padding:12px;background:#071827;border:1px solid #1c4c6d}.vexLogSources section>b{display:block;color:#83d9ff;font-size:10px;letter-spacing:.12em;margin-bottom:8px}.vexLogSources a{display:flex;justify-content:space-between;gap:12px;padding:8px 6px;border-top:1px solid #173b56;color:#d5efff;text-decoration:none}.vexLogSources a:hover{background:rgba(74,174,232,.1);color:#fff}.vexLogSources a small{color:#7197ad;text-align:right}
.vexConsumableSection{margin-top:20px}.vexConsumableSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.vexConsumableSummary span{padding:13px;background:#081d2d;border:1px solid #205f8c;color:#789db3;font-size:9px;letter-spacing:.08em;text-align:center}.vexConsumableSummary b{display:block;color:#fff;font-size:22px;letter-spacing:0}.vexConsumableGrid{display:grid;grid-template-columns:1fr;gap:10px}.vexConsumableGrid .vexPanel{overflow-x:auto}
.vexBossSection{margin-top:18px}.vexBossTitle h2{font:700 30px Georgia,serif;margin:5px 0 14px}.vexBossGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.vexBossCard{background:rgba(4,16,29,.88);border:1px solid #205f8c;padding:15px}.vexBossCard h3{font:700 20px Georgia,serif;margin:7px 0}.vexBossCard p{color:#9cb9ca}.vexBossStats{display:flex;gap:8px;margin:12px 0}.vexBossStats span{flex:1;text-align:center;padding:8px;background:#081d2d;font-size:8px;color:#7197ad}.vexBossStats b{display:block;color:#fff;font-size:18px}.vexBossCard>small{color:#80a8bc;line-height:1.5}.vexBoundary{margin-top:14px;padding:12px 14px;border:1px solid #294b63;background:#07131e;display:grid;gap:5px}.vexBoundary b{color:#7ed7ff;font-size:10px;letter-spacing:.14em}.vexBoundary span{color:#bfd8e6}.vexBoundary small{color:#6d8b9c;line-height:1.45}.vexReportFooter{display:flex;align-items:center;gap:18px;margin:22px -22px -22px;padding:13px 22px;border-top:1px solid #245d87;background:#040b12;font-size:9px;letter-spacing:.14em}.vexReportFooter b{color:#90dcff}.vexReportFooter span{color:#7498ad}.vexReportFooter em{margin-left:auto;color:#aac6d5;font-style:normal}
.vexReadingGuide{margin-bottom:16px}.vexReadingGuide>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.vexReadingGuide p{margin:0;padding:11px;background:#071827;border:1px solid #183d58;color:#9cb9ca;line-height:1.5}.vexReadingGuide p b{display:block;color:#83d9ff;font-size:10px;letter-spacing:.12em;margin-bottom:5px}.vexBossTitle>p{color:#83a6ba;margin:-7px 0 14px}.vexBossGrid{grid-template-columns:1fr;gap:16px}.vexBossCard{border-color:#2878ad;padding:18px;box-shadow:0 12px 30px rgba(0,0,0,.2)}.vexBossCard h3{font-size:25px}.vexAutopsy[open]{background:rgba(5,24,39,.5);padding:0 10px 10px}.vexMiniTable tbody tr:hover{background:rgba(74,174,232,.08)}
@media(max-width:700px){.vexReadingGuide>div{grid-template-columns:1fr}}
@media(max-width:1050px){.vexReportGrid.top,.vexReportGrid.middle{grid-template-columns:1fr 1fr}.vexReportGrid.top .vexPanel:last-child,.vexReportGrid.middle .vexPanel:first-child{grid-column:1/-1}.vexCompareRow{grid-template-columns:130px 1fr 55px}}
@media(max-width:700px){.vexVisualReport{padding:13px}.vexReportTop,.vexReportActions{align-items:flex-start;flex-direction:column}.vexIdentity,.vexReportGrid.top,.vexReportGrid.middle,.vexReportGrid.bottom,.vexBossGrid,.vexCohortEvidence,.vexConsumableSummary,.vexLogSources{grid-template-columns:1fr}.vexIdentity>div+div{border-left:0;border-top:1px solid #245d87}.vexReportGrid.top .vexPanel:last-child,.vexReportGrid.middle .vexPanel:first-child{grid-column:auto}.vexCompareRow{grid-template-columns:100px 1fr 50px}.vexGradeBody{align-items:flex-start;flex-direction:column}.vexBossStats{flex-wrap:wrap}.vexReportFooter{margin:18px -13px -13px;align-items:flex-start;flex-direction:column}.vexReportFooter em{margin-left:0}.vexSpellTable,.vexMiniTable{display:block;overflow-x:auto;white-space:nowrap}}
@media print{body{background:#07101e!important}.nav,body>footer,#coachQueueProgress,.vexReportActions{display:none!important}.wrap{max-width:none!important;padding:0!important}.vexVisualReport{margin:0!important;box-shadow:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.vexPanel,.vexBossCard,.vexAiIssue{break-inside:avoid}.vexBossGrid{grid-template-columns:1fr}.vexAutopsy:not([open])>:not(summary),.vexEvidenceDrawer:not([open])>:not(summary){display:block!important}.vexAutopsy summary,.vexEvidenceDrawer summary{display:none}.vexAutopsyBody{overflow:visible}}
.gearSyncImport{border-color:#3a806b;background:linear-gradient(135deg,rgba(20,54,47,.65),rgba(8,17,16,.96))}
.gearSyncHead,.gearPanelHead{display:flex;justify-content:space-between;align-items:flex-start;gap:22px}
.gearSyncHead h3,.gearPanelHead h2{margin:7px 0}
.gearSyncText{width:100%;min-height:150px;resize:vertical;margin:7px 0 12px;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;background:#050d0b;color:#bfffea;border:1px solid #36584f;padding:12px}
.betaToggle{margin-top:4px}.gearSyncImport .btn[disabled]{opacity:.5;cursor:wait}
.characterEnvironmentGroup{display:grid;gap:10px}.characterEnvironmentGroup+.characterEnvironmentGroup{margin-top:22px;padding-top:22px;border-top:1px solid #27443b}.environmentTitle{display:flex;justify-content:space-between;align-items:end;gap:16px}.environmentTitle h3{margin:4px 0}.betaCharacterGroup{border-color:#6651a6}.betaCharacterCard{border-color:#51458a;background:linear-gradient(120deg,rgba(44,30,84,.55),rgba(9,17,16,.96))}.betaStatus{color:#d2bdff!important;border-color:#765bc8!important;background:#25194a!important}.betaIdentity{border-color:#765bc8;background:rgba(37,25,74,.6);color:#d9ceff;margin:8px 0 14px}.betaProfileHead{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#765bc8;background:linear-gradient(120deg,rgba(44,30,84,.7),rgba(9,17,16,.96))}.betaProfileHead h1{margin:10px 0 4px}
.characterGearPanel{overflow:hidden}.gearPanelHead{padding-bottom:18px;border-bottom:1px solid rgba(117,201,255,.22)}
.gearTotals{display:grid;grid-template-columns:repeat(4,minmax(74px,1fr));gap:8px;min-width:390px}
.gearTotals div{padding:10px;background:#071523;border:1px solid #243b60;text-align:center}.gearTotals strong{display:block;font-size:22px;color:#83e5ff}.gearTotals span{font-size:9px;letter-spacing:1.4px;color:#87a8cb}
.gearSlotGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
.gearSlot{min-width:0;padding:11px 12px;background:#07111f;border:1px solid #26395b;border-left:3px solid #4f9ce8}.gearSlot small,.gearSlot span{display:block;color:#7f9fc5;font-size:10px}.gearSlot small{letter-spacing:1px;text-transform:uppercase}.gearSlot b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:5px 0;font-size:13px}
.betaGear{margin-top:16px;border:1px solid #6a51ad;background:rgba(50,34,95,.25)}.betaGear summary{cursor:pointer;padding:13px;color:#c9b6ff;font-weight:700;letter-spacing:.5px}.betaGear .gearSlotGrid{padding:0 12px 12px;margin-top:0}
.gearHistory{margin-top:20px}.gearHistory>div{display:grid;grid-template-columns:70px 1fr 90px 90px minmax(120px,1fr);gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(117,201,255,.13);font-size:12px}.gearHistory>div>b{color:#64efc1}.gearHistory>div>small{color:#7895b9;text-align:right}
@media(max-width:850px){.gearSyncHead,.gearPanelHead,.betaProfileHead{display:block}.gearSyncHead .toolBtn{display:inline-block;margin:8px 0}.gearTotals{min-width:0;margin-top:14px;grid-template-columns:repeat(2,1fr)}.gearSlotGrid{grid-template-columns:1fr}.gearHistory>div{grid-template-columns:55px 1fr 70px 75px}.gearHistory>div>small{display:none}.environmentTitle{display:block}}

/* V8.56 character armory */
.armoryPage{max-width:1500px;padding-top:18px;padding-bottom:70px}.armoryBack{display:inline-flex;margin:0 0 12px;color:#52e8d0;text-decoration:none;font-size:13px}.armoryShell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.armoryIdentity,.armoryGearPanel,.armoryLowerPanel{border:1px solid #263b45;background:linear-gradient(145deg,rgba(10,20,23,.98),rgba(5,11,13,.98));box-shadow:0 18px 50px rgba(0,0,0,.22)}.armoryIdentity{position:sticky;top:86px;padding:14px;border-color:color-mix(in srgb,var(--class-color) 60%,#263b45);border-top:2px solid var(--class-color)}.armoryPortrait{height:185px;display:grid;place-items:center;align-content:center;gap:8px;overflow:hidden;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--class-color) 32%,#101719),#05090b 72%);border:1px solid color-mix(in srgb,var(--class-color) 55%,#263b45);position:relative}.armoryPortrait:before,.armoryPortrait:after{content:"";position:absolute;inset:17px;border:1px solid color-mix(in srgb,var(--class-color) 28%,transparent);transform:rotate(45deg)}.armoryPortrait:after{inset:41px;transform:rotate(0)}.armoryPortrait span{z-index:1;font:800 76px Georgia;color:var(--class-color);text-shadow:0 0 35px color-mix(in srgb,var(--class-color) 75%,transparent)}.armoryPortrait small{z-index:1;color:#dae9ef;text-transform:uppercase;letter-spacing:.22em}.armoryIdentity h1{margin:13px 0 7px;font-size:32px}.armoryIdentity>p{color:#b6c8ce;line-height:1.55}.armoryPrimary,.armoryPending{display:inline-block;padding:5px 8px;margin:0 5px 5px 0;border:1px solid #24987b;color:#5ff0bd;background:#092019;font-size:9px}.armoryPending{border-color:#8c6e24;color:#f1c65d;background:#251d08}.armoryDiscord{display:flex;gap:10px;align-items:center;padding:12px;background:#070e12;border:1px solid #213942}.armoryDiscordMark{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#5865f2;color:white;font-weight:900}.armoryDiscord small,.armoryDiscord strong,.armoryDiscord span{display:block}.armoryDiscord small,.armoryMiniStats small{color:#78909b;font-size:8px;letter-spacing:.1em}.armoryDiscord strong{margin:3px 0}.armoryDiscord div>span{color:#98b0ba;font-size:11px}.armoryMiniStats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.armoryMiniStats div{padding:9px;background:#071015;border:1px solid #1b3038}.armoryMiniStats b{display:block;margin-top:3px;color:#eef7fa;font-size:12px}.armorySideNav{display:grid;margin:12px -14px}.armorySideNav button{border:0;border-left:3px solid transparent;background:transparent;color:#a7bbc4;padding:12px 17px;text-align:left;cursor:pointer}.armorySideNav button:hover,.armorySideNav button.active{border-color:#ee3d34;background:linear-gradient(90deg,rgba(190,25,20,.25),transparent);color:white}.armoryActions{display:grid;gap:6px}.armoryActions a,.armoryActions button{padding:10px;border:1px solid #344d58;background:#091116;color:#d7e5ea;text-decoration:none;text-align:center;font:700 9px Arial;cursor:pointer}.armoryActions a:first-child{border-color:#cf342d;color:#ffb1aa}.armoryContent{min-width:0}.armoryTabs{display:flex;border:1px solid #263b45;background:#081115;margin-bottom:12px;overflow-x:auto}.armoryTabs button{min-width:100px;padding:13px 20px;border:0;border-bottom:2px solid transparent;background:transparent;color:#c4d1d6;cursor:pointer}.armoryTabs button.active,.armoryTabs button:hover{border-color:#f03a31;background:linear-gradient(180deg,rgba(197,27,22,.2),transparent);color:white}.armoryGearPanel{overflow:visible}.armoryLoading,.armoryGearPanel>.emptyState{min-height:400px;display:grid;place-items:center;color:#8ca3ad}.armoryGearHeader{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;border-bottom:1px solid #263b45}.armoryGearHeader h2{margin:4px 0;font-size:23px}.armoryGearHeader p{margin:0;color:#8299a3;font-size:11px}.armoryGearSummary{display:flex;gap:7px}.armoryGearSummary div{min-width:86px;padding:9px;text-align:center;background:#071015;border:1px solid #273e48}.armoryGearSummary strong,.armoryGearSummary span{display:block}.armoryGearSummary strong{font-size:21px;color:#e8c15d}.armoryGearSummary span{font-size:7px;color:#8299a3;letter-spacing:.08em}.armoryGearWorkspace{display:grid;grid-template-columns:minmax(520px,1.25fr) minmax(350px,.85fr);min-height:590px}.armoryPaperdoll{display:grid;grid-template-columns:170px minmax(180px,1fr) 170px;gap:10px;padding:18px;background:radial-gradient(circle at 50% 44%,rgba(111,38,25,.36),transparent 37%),linear-gradient(140deg,#12100f,#071015 55%,#100d0d);border-right:1px solid #263b45}.armorySlotColumn{display:grid;gap:7px;align-content:center}.armoryVisualSlot{min-width:0}.armoryCharacterStage{min-height:490px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:1px solid #392d29;background:radial-gradient(ellipse at center,#261814,#0a1012 64%);overflow:hidden}.armoryCharacterStage:before{content:"";position:absolute;width:210px;height:360px;border-radius:48% 48% 25% 25%;background:linear-gradient(145deg,#3b2b25,#111719);box-shadow:0 0 70px rgba(196,51,35,.25);opacity:.86}.armoryClassSigil{z-index:1;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;border:2px solid #a7352b;color:#f0c36a;background:#140c0b;font-size:44px;box-shadow:0 0 40px rgba(215,47,36,.35)}.armoryCharacterStage>strong,.armoryCharacterStage>span{z-index:1}.armoryCharacterStage>strong{margin-top:16px;letter-spacing:.2em}.armoryCharacterStage>span{color:#8299a3;font-size:10px}.armoryWeapons{position:absolute;z-index:2;bottom:14px;display:flex;gap:7px}.armoryWeapons .armoryItemName{display:none}.armoryItemLink{position:relative;min-width:0;color:#dce9ee;text-decoration:none}.armoryItemLink.compact{display:grid;grid-template-columns:49px minmax(0,1fr);gap:8px;align-items:center;padding:5px;background:rgba(5,11,14,.9);border:1px solid #2b414a}.armoryItemIcon{width:49px;height:49px;display:grid;place-items:center;position:relative;border:2px solid var(--item-color);background:radial-gradient(circle,#27333a,#080d10);color:var(--item-color);font-size:21px;box-shadow:0 0 10px color-mix(in srgb,var(--item-color) 25%,transparent)}.armoryItemIcon small{position:absolute;right:2px;bottom:1px;padding:1px 2px;background:#030607;color:white;font-size:9px}.armoryItemName{min-width:0}.armoryItemName b,.armoryItemName small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.armoryItemName b{color:var(--item-color);font-size:10px}.armoryItemName small{margin-top:3px;color:#78909a;font-size:8px}.armoryItemLink:hover,.armoryGearTable>a:hover{border-color:var(--item-color);background:#101c21}.armoryTooltip{display:none;position:absolute;z-index:40;left:24px;top:calc(100% + 5px);width:255px;padding:12px;text-align:left;background:#05090b;border:1px solid #81909a;box-shadow:0 12px 35px #000;color:#dbe7ec;pointer-events:none}.armoryItemLink:hover>.armoryTooltip,.armoryItemLink:focus>.armoryTooltip,.armoryGearTable a:hover .armoryTooltip,.armoryGearTable a:focus .armoryTooltip{display:block}.armoryTooltip strong,.armoryTooltip small,.armoryTooltip b,.armoryTooltip em,.armoryTooltip span,.armoryTooltip i{display:block;margin:3px 0}.armoryTooltip small,.armoryTooltip span{color:#aab9bf}.armoryTooltip b{color:#e8c15d}.armoryTooltip em{color:#67e1a9;font-style:normal}.armoryTooltip i{margin-top:9px;color:#6ed8ff;font-style:normal;font-size:9px}.armoryEmptySlot{display:block;height:61px;border:1px dashed #253941;color:#51636a;text-align:center;padding:20px}.armoryEquipped{min-width:0;padding:0}.armoryEquipped header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #263b45}.armoryEquipped h2{margin:0;font-size:17px}.armoryEquipped header span{color:#7e969f;font-size:10px}.armoryGearHead,.armoryGearTable>a{display:grid;grid-template-columns:85px minmax(0,1fr) 40px;gap:8px;align-items:center;padding:7px 12px;border-bottom:1px solid #182a31}.armoryGearHead{color:#79909a;font-size:8px;text-transform:uppercase}.armoryGearTable>a{position:relative;color:#b9cbd2;text-decoration:none;font-size:10px}.armoryGearTable>a>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.armoryGearTable>a i{display:inline-grid;width:23px;height:23px;margin-right:7px;place-items:center;border:1px solid currentColor;background:#10181c;font-style:normal}.armoryGearTable>a b{text-align:right;color:#eef5f7}.armoryGearTable .armoryTooltip{white-space:normal;left:100px}.armoryHistory,.betaGear{margin:12px;border:1px solid #31464f;background:#071015}.armoryHistory>summary,.betaGear>summary{padding:12px;cursor:pointer;color:#9ab0b9;font-size:9px;font-weight:800;letter-spacing:.08em}.armoryHistory .gearHistory{padding:0 12px 12px}.armoryLowerPanel{margin-top:14px;padding:18px;scroll-margin-top:80px}.armoryLowerPanel>header h2{margin:4px 0}.armoryLowerPanel>header p{margin:5px 0 14px;color:#8299a3;font-size:10px}.armoryCharacterList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.armoryCharacterList button{display:grid;gap:4px;text-align:left;padding:12px;background:#071015;border:1px solid #273e48;color:#dae7ec;cursor:pointer}.armoryCharacterList button.active{border-color:#e53b32;background:#1b0c0c}.armoryCharacterList span{color:#e8c15d;font-size:8px}.armoryCharacterList small{color:#8299a3}.lootScroll{overflow:auto}.lootItemLink{color:#b47cff;text-decoration:none}.lootItemLink:hover{text-decoration:underline;color:#d5b8ff}
@media(max-width:1200px){.armoryGearWorkspace{grid-template-columns:1fr}.armoryPaperdoll{border-right:0;border-bottom:1px solid #263b45}.armoryIdentity{position:static}.armoryShell{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:900px){.armoryShell{grid-template-columns:1fr}.armoryIdentity{display:grid;grid-template-columns:140px 1fr;gap:8px 16px}.armoryPortrait{grid-row:1/6;height:180px}.armoryIdentity h1{margin:0}.armoryDiscord,.armoryMiniStats,.armorySideNav,.armoryActions{grid-column:1/-1}.armorySideNav{grid-template-columns:repeat(4,1fr);margin:6px -14px}.armorySideNav button{text-align:center;padding:10px 5px}.armoryActions{grid-template-columns:1fr 1fr}.armoryGearHeader{align-items:flex-start;flex-direction:column}.armoryPaperdoll{grid-template-columns:145px minmax(160px,1fr) 145px}.armoryCharacterList{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.armoryPage{padding-left:10px;padding-right:10px}.armoryIdentity{display:block}.armoryPortrait{height:150px}.armorySideNav{grid-template-columns:1fr 1fr}.armoryActions{grid-template-columns:1fr}.armoryGearSummary{width:100%}.armoryGearSummary div{flex:1;min-width:0}.armoryPaperdoll{grid-template-columns:1fr 1fr;padding:10px}.armoryCharacterStage{grid-column:1/-1;grid-row:1;min-height:230px}.armorySlotColumn{grid-row:2}.armoryWeapons{bottom:8px}.armoryItemLink.compact{grid-template-columns:44px minmax(0,1fr)}.armoryItemIcon{width:44px;height:44px}.armoryEquipped{overflow:auto}.armoryGearTable{min-width:500px}.armoryCharacterList{grid-template-columns:1fr}.wclBox{grid-template-columns:1fr 1fr}.armoryTooltip{position:fixed;left:12px!important;right:12px;top:auto;bottom:12px;width:auto}}

/* V8.57 armory polish — dense, useful even for fresh level-one characters */
.armoryPage{max-width:1440px}.armoryGearPanel{border-color:#304550;border-radius:4px}.armoryGearHeader{padding:15px 18px;background:linear-gradient(90deg,rgba(196,38,29,.1),transparent 45%)}.armoryGearHeader h2{font-size:21px}.armoryGearWorkspace{grid-template-columns:minmax(560px,1.15fr) minmax(330px,.85fr);min-height:0}.armoryPaperdoll{min-height:520px;max-height:620px;grid-template-columns:155px minmax(210px,1fr) 155px;gap:9px;padding:14px;align-items:center;background:linear-gradient(90deg,rgba(4,10,13,.95),rgba(16,12,12,.72),rgba(4,10,13,.95)),url("guild-banner.png") center/cover no-repeat}.armorySlotColumn{gap:5px}.armoryItemLink.compact{height:58px;padding:4px;grid-template-columns:46px minmax(0,1fr);border-radius:3px}.armoryItemIcon{width:46px;height:46px}.armoryEmptySlot{height:50px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:7px;align-items:center;padding:5px 8px;border:1px dashed #31464f;background:rgba(4,10,13,.72);color:#5f747d}.armoryEmptySlot i{display:grid;width:30px;height:30px;place-items:center;border:1px solid #293c44;background:#0a1317;font-style:normal;color:#526871}.armoryEmptySlot small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#70868f;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.armoryCharacterStage{min-height:485px;border:1px solid #594039;background:linear-gradient(180deg,rgba(18,10,9,.28),rgba(6,11,13,.94));box-shadow:inset 0 0 55px rgba(224,55,38,.12)}.armoryCharacterStage:before{display:none}.armoryCharacterGlow{position:absolute;inset:10% 12% 15%;border-radius:48% 48% 28% 28%;background:radial-gradient(ellipse at 50% 40%,rgba(177,67,38,.25),rgba(7,13,15,.4) 60%,transparent 61%);filter:blur(1px)}.armoryModel{position:absolute;inset:55px 20px 80px;opacity:.55;filter:drop-shadow(0 0 28px rgba(229,63,43,.25))}.armoryModelHead{position:absolute;top:5%;left:50%;width:62px;height:62px;transform:translateX(-50%);border-radius:50%;background:linear-gradient(145deg,#3a2925,#111a1d);border:1px solid #63443b}.armoryModelBody{position:absolute;top:22%;bottom:0;left:50%;width:150px;transform:translateX(-50%);clip-path:polygon(28% 0,72% 0,100% 27%,76% 48%,69% 100%,31% 100%,24% 48%,0 27%);background:linear-gradient(145deg,#35241f,#11191c 65%);border:1px solid #63443b}.armoryClassSigil{z-index:3;width:72px;height:72px;font-size:34px;background:rgba(13,8,8,.9)}.armoryCharacterStage>strong{z-index:3;margin-top:13px;font:700 21px Georgia;color:#fff;text-shadow:0 2px 8px #000}.armoryCharacterStage>span{z-index:3;margin-top:4px;color:#e5bd61}.armoryCharacterStage>small{z-index:3;margin-top:4px;color:#91a5ad;font-size:9px}.armoryWeapons{left:50%;bottom:12px;transform:translateX(-50%)}.armoryWeapons>.armoryEmptySlot{width:50px;display:grid;grid-template-columns:1fr;padding:4px}.armoryWeapons>.armoryEmptySlot small{display:none}.armoryWeapons .armoryItemLink.compact{width:55px;display:block}.armoryEquipped{background:rgba(5,12,15,.98)}.armoryEquipped header{padding:13px 15px}.armoryEquipped header>div h2{font-size:20px}.armoryEquipped header>div small{display:block;margin-top:3px;color:#78909a;font-size:8px}.armoryGearHead,.armoryGearTable>a{grid-template-columns:84px minmax(0,1fr) 36px;padding:8px 12px}.armoryGearTable>a{min-height:44px}.armoryGearHint{margin:14px;padding:12px;border:1px solid #263c45;background:linear-gradient(120deg,#0c171b,#080f12)}.armoryGearHint b,.armoryGearHint span{display:block}.armoryGearHint b{color:#e9c15d;font-size:8px;letter-spacing:.12em}.armoryGearHint span{margin-top:4px;color:#8299a3;font-size:9px}.sparseGear .armoryPaperdoll{max-height:535px}.sparseGear .armoryEmptySlot{opacity:.74}.sparseGear .armoryVisualSlot:has(.armoryItemLink) + .armoryVisualSlot .armoryEmptySlot{opacity:.6}
@media(max-width:1200px){.armoryGearWorkspace{grid-template-columns:1fr}.armoryPaperdoll{border-right:0;max-height:590px}.armoryEquipped{border-top:1px solid #263b45}}
@media(max-width:720px){.armoryPaperdoll{grid-template-columns:1fr 1fr;max-height:none}.armoryCharacterStage{min-height:260px}.armoryModel{inset:35px 20px 60px}.armorySlotColumn{align-content:start}.armoryEmptySlot{height:45px}.armoryItemLink.compact{height:52px}.armoryCharacterStage>small{display:none}}

/* V8.58 real item artwork + subtle interactive depth */
.armoryItemIcon{overflow:hidden}.armoryItemIcon>img,.armoryTableIcon>img{width:100%;height:100%;display:block;object-fit:cover}.armoryTableIcon{display:inline-grid!important;width:28px!important;height:28px!important;padding:2px;vertical-align:middle;overflow:hidden;border-color:currentColor!important}.armoryCharacterStage{perspective:900px;--armory-rx:0deg;--armory-ry:0deg}.armoryCharacterDepth{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transform-style:preserve-3d;transform:rotateX(var(--armory-rx)) rotateY(var(--armory-ry)) scale(1.015);transition:transform .13s ease-out}.armoryCharacterDepth .armoryCharacterGlow{transform:translateZ(-35px)}.armoryCharacterDepth .armoryModel{transform:translateZ(5px)}.armoryCharacterDepth .armoryClassSigil{position:relative;transform:translateZ(35px)}.armoryCharacterDepth>strong{z-index:3;margin-top:13px;font:700 21px Georgia;color:#fff;text-shadow:0 2px 8px #000;transform:translateZ(26px)}.armoryCharacterDepth>span{z-index:3;margin-top:4px;color:#e5bd61;transform:translateZ(22px)}.armoryCharacterDepth>small{z-index:3;margin-top:4px;color:#91a5ad;font-size:9px;transform:translateZ(18px)}.armoryCharacterStage:hover{box-shadow:inset 0 0 65px rgba(224,55,38,.18),0 0 24px rgba(185,42,29,.12)}
@media(prefers-reduced-motion:reduce){.armoryCharacterDepth{transform:none!important;transition:none}}

/* V8.59 no-key Wowhead item art */
.armoryVisualSlot{position:relative}.armoryItemLink>.iconmedium,.armoryItemLink>.iconsmall,.armoryItemLink>.iconlarge{grid-column:1;grid-row:1;align-self:center;justify-self:center;margin:0!important}.armoryItemLink:has(>.iconmedium)>.armoryItemIcon,.armoryItemLink:has(>.iconsmall)>.armoryItemIcon,.armoryItemLink:has(>.iconlarge)>.armoryItemIcon{display:none}.armoryItemLink>.armoryItemName{grid-column:2;grid-row:1}.armoryItemLink>.iconmedium ins,.armoryItemLink>.iconsmall ins,.armoryItemLink>.iconlarge ins{border:2px solid var(--item-color)!important;box-shadow:0 0 12px color-mix(in srgb,var(--item-color) 30%,transparent)}.armoryVisualSlot>.iconmedium,.armoryVisualSlot>.iconsmall,.armoryVisualSlot>.iconlarge{position:absolute!important;left:5px;top:5px;z-index:2;margin:0!important}.armoryVisualSlot:has(>.iconmedium) .armoryItemIcon,.armoryVisualSlot:has(>.iconsmall) .armoryItemIcon,.armoryVisualSlot:has(>.iconlarge) .armoryItemIcon{visibility:hidden}.armoryGearTable>a>.iconmedium,.armoryGearTable>a>.iconsmall{grid-column:2;grid-row:1;margin-right:7px!important}.armoryGearTable>a:has(>.iconmedium) .armoryTableIcon,.armoryGearTable>a:has(>.iconsmall) .armoryTableIcon{display:none!important}
.armoryItemLink[data-wowhead]>.armoryTooltip,.armoryGearTable a[data-wowhead] .armoryTooltip{display:none!important}

/* V8.60 — premium Armory depth and clarity */
.armoryPage{position:relative;isolation:isolate;max-width:1560px!important;padding-top:14px;background:radial-gradient(circle at 62% 8%,rgba(173,38,25,.11),transparent 34%)}
.armoryPage:before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(2,7,10,.98),rgba(3,10,14,.92) 52%,rgba(18,5,5,.93)),radial-gradient(circle at 72% 12%,rgba(226,51,31,.13),transparent 28%)}
.armoryShell{grid-template-columns:286px minmax(0,1fr);gap:14px}
.armoryIdentity,.armoryGearPanel,.armoryLowerPanel{border:1px solid #293d49;border-radius:7px;background:linear-gradient(145deg,rgba(8,17,22,.98),rgba(2,8,11,.99));box-shadow:0 20px 60px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.025)}
.armoryIdentity{padding:13px;border-color:color-mix(in srgb,var(--class-color) 58%,#243740);box-shadow:0 22px 65px rgba(0,0,0,.48),inset 0 0 35px color-mix(in srgb,var(--class-color) 6%,transparent)}
.armoryPortrait{height:206px;border-radius:4px;border-color:color-mix(in srgb,var(--class-color) 68%,#263943);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--class-color) 28%,transparent),transparent 33%),linear-gradient(145deg,#101b21,#03080b 72%);box-shadow:inset 0 0 48px #000,0 0 22px color-mix(in srgb,var(--class-color) 12%,transparent)}
.armoryPortrait span{filter:drop-shadow(0 5px 2px #000);text-shadow:0 0 18px color-mix(in srgb,var(--class-color) 85%,transparent),0 0 50px color-mix(in srgb,var(--class-color) 45%,transparent)}
.armoryIdentity h1{font-size:35px;letter-spacing:-.02em;text-shadow:0 3px 12px #000}
.armoryDiscord,.armoryMiniStats div{border-color:#223943;background:linear-gradient(145deg,#09151b,#040b0f);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.armoryTabs{height:49px;margin-bottom:12px;border-color:#2b414d;border-radius:6px;background:linear-gradient(180deg,#0b171e,#050c10);box-shadow:0 8px 28px #0007}
.armoryTabs button{border-right:1px solid #172832;font-weight:700}.armoryTabs button.active{border-bottom-color:#ff3f34;background:linear-gradient(180deg,rgba(132,26,20,.6),rgba(42,11,10,.42));box-shadow:inset 0 -2px #ff3f34,0 0 24px rgba(220,42,31,.15)}
.armoryGearPanel{border-color:#334b58;background:#03090d;box-shadow:0 25px 75px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.035)}
.armoryGearHeader{min-height:84px;padding:15px 20px;border-bottom-color:#314752;background:linear-gradient(90deg,rgba(128,27,20,.38),rgba(9,18,23,.92) 36%,rgba(5,12,16,.98));box-shadow:inset 0 -1px #000}
.armoryGearHeader h2{font-size:25px;text-shadow:0 2px 8px #000}.armoryGearHeader p{color:#9eb4be;font-size:11px}.armoryGearSummary div{border-color:#344b57;border-radius:4px;background:linear-gradient(145deg,#0d1c23,#061014);box-shadow:inset 0 1px rgba(255,255,255,.035),0 6px 18px #0005}.armoryGearSummary strong{color:#ffd66d;text-shadow:0 0 14px rgba(255,184,51,.18)}
.armoryGearWorkspace{grid-template-columns:minmax(610px,1.3fr) minmax(370px,.7fr);background:#02070a}
.armoryPaperdoll{position:relative;min-height:575px;max-height:none;grid-template-columns:172px minmax(240px,1fr) 172px;gap:12px;padding:18px;border-right-color:#344b56;background:linear-gradient(90deg,rgba(2,8,12,.97) 0%,rgba(5,11,15,.58) 21%,rgba(24,10,7,.34) 50%,rgba(5,11,15,.58) 79%,rgba(2,8,12,.97) 100%),radial-gradient(circle at 50% 72%,rgba(255,76,25,.32),transparent 31%),url("guild-banner.png") 39% center/auto 112% no-repeat;box-shadow:inset 0 0 95px #000}
.armoryPaperdoll:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 16%,transparent 78%,rgba(0,0,0,.72)),radial-gradient(ellipse at 50% 98%,rgba(255,79,30,.15),transparent 44%);mix-blend-mode:screen}
.armorySlotColumn,.armoryCharacterStage{position:relative;z-index:1}
.armorySlotColumn{gap:7px}.armoryItemLink.compact{height:62px;padding:5px;border:1px solid #304651;border-radius:5px;background:linear-gradient(145deg,rgba(9,18,23,.96),rgba(3,8,11,.97));box-shadow:0 8px 20px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.025);transition:transform .15s ease,border-color .15s ease,filter .15s ease}.armoryItemLink.compact:hover{z-index:5;transform:translateY(-1px);filter:brightness(1.18);box-shadow:0 10px 28px #0009,0 0 18px color-mix(in srgb,var(--item-color) 22%,transparent)}
.armoryItemIcon{width:50px;height:50px;border-radius:4px;border-width:2px;background:linear-gradient(145deg,#26333a,#05090c);box-shadow:0 0 0 1px #000,0 0 14px color-mix(in srgb,var(--item-color) 45%,transparent),inset 0 0 10px #000}.armoryItemIcon>img,.armoryTableIcon>img{image-rendering:auto;filter:saturate(1.14) contrast(1.06)}
.armoryItemName b{font-size:11px;text-shadow:0 1px 5px #000}.armoryItemName small{color:#91a7b0;font-size:8px}
.armoryEmptySlot{height:54px;border-color:#2b404a;border-radius:4px;background:linear-gradient(145deg,rgba(7,16,21,.8),rgba(2,8,11,.86));box-shadow:inset 0 0 18px #0005}
.armoryCharacterStage{min-height:535px;border:1px solid #634337;border-radius:6px;background:linear-gradient(180deg,rgba(6,13,17,.13),rgba(8,8,8,.24) 60%,rgba(2,7,10,.92));box-shadow:inset 0 0 80px rgba(0,0,0,.72),inset 0 -55px 80px rgba(183,42,21,.12),0 14px 35px #0008}
.armoryCharacterStage:after{content:"";position:absolute;inset:9px;border:1px solid rgba(221,107,56,.12);border-radius:3px;pointer-events:none;box-shadow:inset 0 0 35px rgba(255,93,39,.08)}
.armoryCharacterGlow{background:radial-gradient(ellipse at 50% 43%,rgba(255,113,51,.28),rgba(12,20,24,.24) 48%,transparent 69%);filter:blur(3px)}
.armoryModel{opacity:.7;filter:drop-shadow(0 7px 7px #000) drop-shadow(0 0 30px rgba(241,75,39,.25))}.armoryModelHead{border-color:#7a5142;background:linear-gradient(135deg,#664133,#172228 58%,#080d10)}.armoryModelBody{border-color:#704436;background:linear-gradient(135deg,#604032,#172126 50%,#070c0f)}
.armoryClassSigil{border-color:#e15138;color:#ffd45f;background:radial-gradient(circle,#23100c,#08090a 70%);box-shadow:0 0 0 6px rgba(0,0,0,.38),0 0 38px rgba(236,61,37,.48),inset 0 0 24px #000;text-shadow:0 0 16px rgba(255,205,63,.55)}
.armoryCharacterDepth>strong{font-size:23px;text-shadow:0 3px 12px #000,0 0 18px #000}.armoryCharacterDepth>span{font-size:11px;color:#ffd168;text-shadow:0 2px 7px #000}.armoryCharacterDepth>small{color:#b1c2c9;text-shadow:0 2px 7px #000}
.armoryWeapons{z-index:4}.armoryWeapons .armoryItemLink.compact{box-shadow:0 10px 25px #000b,0 0 16px color-mix(in srgb,var(--item-color) 28%,transparent)}
.armoryEquipped{border-left:1px solid #101c22;background:linear-gradient(155deg,rgba(7,17,22,.99),rgba(2,8,11,.99));box-shadow:inset 18px 0 35px #0005}.armoryEquipped header{min-height:67px;border-bottom-color:#324953;background:linear-gradient(180deg,#0c1a20,#061015)}.armoryEquipped header>div h2{font-size:22px;text-shadow:0 2px 8px #000}.armoryGearHead{color:#9cb0ba;background:#071116;border-bottom-color:#2c424d}.armoryGearTable>a{min-height:45px;border-bottom-color:#1c3039;background:rgba(5,13,17,.72);transition:background .13s ease,transform .13s ease}.armoryGearTable>a:nth-child(odd){background:rgba(10,21,27,.72)}.armoryGearTable>a:hover{z-index:2;transform:translateX(-2px);background:#10232b;box-shadow:0 4px 18px #0008}.armoryGearTable>a>span:first-child{color:#c4d4da}.armoryGearTable>a>span:nth-child(2){font-weight:700}.armoryGearTable>a b{color:#fff;text-shadow:0 1px 5px #000}.armoryGearTable>a i{border-radius:3px;box-shadow:0 0 9px currentColor}
.armoryGearHint{border-radius:4px;border-color:#354c57;background:linear-gradient(135deg,#0d1c22,#050c10);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.armoryItemLink>.iconmedium ins,.armoryItemLink>.iconsmall ins,.armoryItemLink>.iconlarge ins{border-radius:4px!important;box-shadow:0 0 0 1px #000,0 0 16px color-mix(in srgb,var(--item-color) 52%,transparent)!important;filter:saturate(1.16) contrast(1.07)}
.armoryGearTable>a>.iconmedium ins,.armoryGearTable>a>.iconsmall ins{box-shadow:0 0 0 1px #000,0 0 9px currentColor!important}
@media(max-width:1250px){.armoryGearWorkspace{grid-template-columns:1fr}.armoryPaperdoll{border-right:0;border-bottom:1px solid #344b56}.armoryEquipped{border-left:0}.armoryShell{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:900px){.armoryShell{grid-template-columns:1fr}.armoryPaperdoll{grid-template-columns:155px minmax(210px,1fr) 155px}}
@media(max-width:680px){.armoryPaperdoll{grid-template-columns:1fr 1fr;padding:10px}.armoryCharacterStage{grid-column:1/-1;min-height:280px}.armorySlotColumn{align-content:start}.armoryItemLink.compact{height:56px}.armoryGearWorkspace{display:block}}

/* V8.61 — reference-matched compact paper doll */
.armoryPage{max-width:1580px!important}.armoryBack{margin-bottom:9px}.armoryShell{grid-template-columns:276px minmax(0,1fr);gap:13px}.armoryIdentity{top:77px}.armoryContent{display:grid;align-content:start}.armoryTabs{margin-bottom:10px}
.armoryGearHeader{min-height:70px;padding:11px 17px}.armoryGearHeader h2{font-size:22px}.armoryGearSummary div{min-width:78px;padding:7px}.armoryGearSummary strong{font-size:18px}
.armoryGearWorkspace{grid-template-columns:minmax(620px,1.38fr) minmax(355px,.72fr)}
.armoryPaperdoll{min-height:570px;grid-template-columns:62px minmax(360px,1fr) 62px;gap:10px;padding:14px 12px;background:linear-gradient(90deg,rgba(2,8,12,.99) 0%,rgba(4,10,14,.76) 12%,rgba(21,9,7,.28) 50%,rgba(4,10,14,.76) 88%,rgba(2,8,12,.99) 100%),radial-gradient(circle at 50% 76%,rgba(255,79,28,.3),transparent 29%),url("guild-banner.png") 39% center/auto 118% no-repeat}
.armorySlotColumn{width:62px;gap:8px;align-content:center}.armoryVisualSlot{width:62px;height:62px}
.armorySlotColumn .armoryItemLink.compact{display:grid;width:62px;height:62px;box-sizing:border-box;grid-template-columns:1fr;padding:4px;place-items:center}.armorySlotColumn .armoryItemName{display:none}.armorySlotColumn .armoryItemIcon{width:50px;height:50px}.armorySlotColumn .armoryEmptySlot{display:grid;width:62px;height:62px;box-sizing:border-box;grid-template-columns:1fr;padding:6px;place-items:center}.armorySlotColumn .armoryEmptySlot i{width:40px;height:40px}.armorySlotColumn .armoryEmptySlot small{display:none}
.armorySlotColumn .armoryItemLink>.iconmedium,.armorySlotColumn .armoryItemLink>.iconsmall,.armorySlotColumn .armoryItemLink>.iconlarge{grid-column:1;grid-row:1;margin:auto!important}.armorySlotColumn .armoryItemLink:has(>.iconmedium),.armorySlotColumn .armoryItemLink:has(>.iconsmall),.armorySlotColumn .armoryItemLink:has(>.iconlarge){display:grid!important;place-items:center}
.armoryCharacterStage{min-height:540px}.armoryStageReadout{position:absolute;z-index:5;top:15px;left:50%;width:calc(100% - 24px);transform:translateX(-50%);text-align:center;text-shadow:0 2px 8px #000}.armoryStageReadout strong,.armoryStageReadout span{display:block}.armoryStageReadout strong{color:#fff;font:700 17px Georgia,serif}.armoryStageReadout strong em{color:#ed833b;font-style:normal}.armoryStageReadout span{margin-top:7px;color:#99adb5;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.armoryStageReadout span b{display:inline-block;margin-right:5px;color:#fff;font-size:18px;letter-spacing:0}
.armoryCharacterDepth{padding-top:16px}.armoryCharacterDepth .armoryModel{inset:72px 22px 74px}.armoryCharacterDepth .armoryClassSigil{margin-top:22px}.armoryCharacterDepth>strong{font-size:21px}.armoryCharacterDepth>span{font-size:10px}
.armoryWeapons{bottom:13px;gap:8px}.armoryWeapons .armoryItemLink.compact,.armoryWeapons>.armoryEmptySlot{width:58px!important;height:58px!important;box-sizing:border-box}.armoryWeapons .armoryItemIcon{width:48px;height:48px}.armoryWeapons>.armoryEmptySlot i{width:42px;height:42px}.armoryWeapons>.armoryEmptySlot{place-items:center}.armoryWeapons>.armoryEmptySlot small{display:none}
.armoryEquipped header{min-height:59px;padding:10px 13px}.armoryEquipped header>div h2{font-size:19px}.armoryGearHead,.armoryGearTable>a{grid-template-columns:73px minmax(0,1fr) 32px;padding:6px 10px}.armoryGearTable>a{min-height:39px;font-size:9px}.armoryGearTable>a i{width:24px!important;height:24px!important;margin-right:6px}.armoryGearHint{margin:10px;padding:9px}
@media(max-width:1300px){.armoryGearWorkspace{grid-template-columns:1fr}.armoryPaperdoll{border-right:0}.armoryEquipped{border-top:1px solid #344b56}.armoryShell{grid-template-columns:245px minmax(0,1fr)}}
@media(max-width:920px){.armoryShell{grid-template-columns:1fr}.armoryIdentity{position:static}.armoryPaperdoll{grid-template-columns:62px minmax(260px,1fr) 62px}.armoryCharacterStage{grid-column:auto;grid-row:auto}}
@media(max-width:620px){.armoryPaperdoll{grid-template-columns:54px minmax(180px,1fr) 54px;gap:5px;padding:8px 5px}.armorySlotColumn,.armoryVisualSlot{width:54px}.armorySlotColumn .armoryItemLink.compact,.armorySlotColumn .armoryEmptySlot{width:54px;height:54px}.armorySlotColumn .armoryItemIcon{width:44px;height:44px}.armoryCharacterStage{grid-column:auto;grid-row:auto;min-height:460px}.armoryStageReadout strong{font-size:14px}.armoryGearSummary{display:grid;grid-template-columns:repeat(3,1fr)}}

/* V8.62 — dedicated forge stage, command tabs, and stable Wowhead rows */
.armoryTabs{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));height:auto;min-height:64px;gap:8px;padding:8px;border:1px solid #344750;border-radius:7px;background:linear-gradient(180deg,#0b1217,#05090c);box-shadow:0 13px 30px #0009,inset 0 1px rgba(255,255,255,.04)}
.armoryTabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:46px;padding:8px 14px;border:1px solid #293d48!important;border-radius:5px;background:linear-gradient(145deg,#101c23,#081015)!important;color:#aebdc5!important;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;box-shadow:inset 0 1px rgba(255,255,255,.025);transition:transform .14s ease,border-color .14s ease,filter .14s ease}
.armoryTabs button:before{width:28px;height:28px;display:grid;place-items:center;border:1px solid #40545f;border-radius:50%;background:#071015;color:#91a8b3;font-size:14px;box-shadow:inset 0 0 10px #000}
.armoryTabs button:nth-child(1):before{content:"◆"}.armoryTabs button:nth-child(2):before{content:"⌁"}.armoryTabs button:nth-child(3):before{content:"✦"}.armoryTabs button:nth-child(4):before{content:"♟"}
.armoryTabs button:hover{transform:translateY(-1px);border-color:#9e3a31!important;filter:brightness(1.18)}
.armoryTabs button.active{border-color:#ef4337!important;background:linear-gradient(145deg,#481512,#180c0c)!important;color:#fff!important;box-shadow:inset 0 -2px #ff493d,0 0 22px rgba(235,52,41,.2)}
.armoryTabs button.active:before{border-color:#ff5549;background:radial-gradient(circle,#5c1b16,#170a0a 72%);color:#ffd06b;box-shadow:0 0 17px rgba(242,56,42,.34),inset 0 0 10px #000}
.armoryPaperdoll{background:linear-gradient(90deg,rgba(2,7,10,.97) 0%,rgba(3,8,11,.69) 13%,rgba(3,7,10,.18) 50%,rgba(3,8,11,.69) 87%,rgba(2,7,10,.97) 100%),linear-gradient(180deg,rgba(1,5,8,.07),rgba(1,5,8,.28) 63%,rgba(1,5,8,.84)),url("images/armory-forge-v862.png") center/cover no-repeat;box-shadow:inset 0 0 80px #0009}
.armoryPaperdoll:after{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 18%,transparent 72%,rgba(0,0,0,.55)),radial-gradient(ellipse at 50% 93%,rgba(255,98,38,.13),transparent 46%)}
.armoryCharacterStage{border-color:#6b4131;background:linear-gradient(180deg,rgba(2,8,11,.03),rgba(3,7,9,.14) 52%,rgba(2,6,8,.68));box-shadow:inset 0 0 50px rgba(0,0,0,.46),inset 0 -45px 65px rgba(123,31,17,.12),0 16px 35px #0008}
.armoryCharacterStage:after{border-color:rgba(243,119,62,.17);box-shadow:inset 0 0 28px rgba(255,103,45,.055)}
.armoryCharacterGlow{background:radial-gradient(ellipse at 50% 46%,rgba(255,126,59,.2),rgba(10,16,19,.12) 49%,transparent 70%)}
.armoryModel{opacity:.3}.armoryClassSigil{background:radial-gradient(circle,#2f100b,#050708 73%);border-color:#ee5d3c;box-shadow:0 0 0 7px rgba(0,0,0,.45),0 0 34px rgba(244,68,37,.44),inset 0 0 25px #000}
.armoryStageReadout{top:18px;padding:9px 0;border-top:1px solid rgba(223,111,59,.22);border-bottom:1px solid rgba(223,111,59,.18);background:linear-gradient(90deg,transparent,rgba(3,8,11,.72) 20%,rgba(3,8,11,.72) 80%,transparent)}
.armoryCharacterDepth>strong{padding:3px 12px;background:linear-gradient(90deg,transparent,#020608b8,transparent)}
.armoryGearTable>a{grid-template-columns:72px 28px minmax(0,1fr) 34px!important;column-gap:7px!important}
.armoryGearTable>a>span:not([class]):not([style]){grid-column:1;grid-row:1;color:#c8d6dc!important;font-weight:700}
.armoryGearTable>a>span[style]{grid-column:2/4;grid-row:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.armoryGearTable>a>b{grid-column:4;grid-row:1;text-align:right}
.armoryGearTable>a>.iconmedium,.armoryGearTable>a>.iconsmall,.armoryGearTable>a>.iconlarge{grid-column:2!important;grid-row:1!important;justify-self:center;margin:0!important}
.armoryGearTable>a:has(>.iconmedium)>span[style],.armoryGearTable>a:has(>.iconsmall)>span[style],.armoryGearTable>a:has(>.iconlarge)>span[style]{grid-column:3}
.armoryGearTable>a:has(>.iconmedium) .armoryTableIcon,.armoryGearTable>a:has(>.iconsmall) .armoryTableIcon,.armoryGearTable>a:has(>.iconlarge) .armoryTableIcon{display:none!important}
@media(max-width:700px){.armoryTabs{grid-template-columns:1fr 1fr}.armoryTabs button{min-height:42px}.armoryGearTable>a{grid-template-columns:65px 28px minmax(150px,1fr) 32px!important}}

/* V8.63 — make the generated Armory art an explicit, visible layer */
.armoryTabs{position:sticky;top:66px;z-index:30;backdrop-filter:blur(12px)}
.armoryPaperdoll{isolation:isolate;background:#03080b!important;overflow:hidden}
.armoryPaperdoll:before{content:"";position:absolute;z-index:0;inset:0;background-image:url("/images/armory-forge-v863.png?v=8630");background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(1.16) contrast(1.08) brightness(.88);transform:scale(1.015)}
.armoryPaperdoll:after{z-index:0;background:linear-gradient(90deg,rgba(2,7,10,.78),transparent 17%,transparent 83%,rgba(2,7,10,.78)),linear-gradient(180deg,rgba(2,6,9,.08),transparent 58%,rgba(2,6,9,.38))}
.armorySlotColumn,.armoryCharacterStage{z-index:2}
.armoryCharacterStage{background:linear-gradient(180deg,rgba(2,7,10,.03),rgba(2,7,10,.08) 54%,rgba(2,7,10,.32));box-shadow:inset 0 0 35px rgba(0,0,0,.25),0 16px 35px #0008;backdrop-filter:none}
.armoryCharacterStage:after{border-color:rgba(244,130,69,.25);box-shadow:inset 0 0 20px rgba(255,107,43,.035)}
.armoryModel{display:none!important}.armoryCharacterGlow{inset:24% 18% 16%;background:radial-gradient(ellipse at center,rgba(255,96,35,.13),transparent 69%);filter:none}
.armoryClassSigil{margin-top:86px!important;background:radial-gradient(circle,#2d100a 0,#080807 62%,#030404 100%);box-shadow:0 0 0 7px rgba(0,0,0,.55),0 0 36px rgba(255,76,35,.52),inset 0 0 22px #000}
.armoryCharacterDepth>strong{margin-top:20px;padding:4px 18px;background:linear-gradient(90deg,transparent,rgba(2,6,8,.78) 22%,rgba(2,6,8,.78) 78%,transparent)}
.armoryCharacterDepth>span,.armoryCharacterDepth>small{text-shadow:0 2px 6px #000,0 0 12px #000}
@media(max-width:900px){.armoryTabs{top:60px}}

/* V8.64 — real DOM image avoids pseudo-element/background delivery failures */
.armoryPaperdoll:before{display:none!important}.armoryBackdrop{position:absolute;z-index:0;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(1.18) contrast(1.1) brightness(.92);transform:scale(1.012);pointer-events:none;user-select:none}.armoryPaperdoll:after{z-index:1}.armorySlotColumn,.armoryCharacterStage{z-index:2}

/* V8.65 — artwork-first stage, compact side gear, and loot controls */
.armoryGearWorkspace{grid-template-columns:minmax(560px,1.38fr) minmax(410px,.82fr)}
.armoryPaperdoll{display:block;min-height:560px;padding:14px}.armoryPaperdoll>.armorySlotColumn,.armoryPaperdoll .armoryWeapons{display:none!important}.armoryCharacterStage{width:100%;min-height:540px;box-sizing:border-box}
.armoryGearSummary{gap:5px}.armoryGearSummary div{min-width:62px;padding:6px 9px;border-radius:4px}.armoryGearSummary strong{font-size:17px}.armoryGearSummary span{font-size:6px}
.armoryEquipped{display:flex;flex-direction:column}.armoryEquipped header{flex:0 0 auto}.armoryGearTable{flex:0 1 auto}.armoryGearHead{position:sticky;top:0;z-index:3;background:#071116}.armoryGearTable>a{min-height:38px!important;padding-top:5px!important;padding-bottom:5px!important}.armoryGearTable>a:hover{background:linear-gradient(90deg,rgba(176,43,31,.14),#10232b 35%);transform:none;border-left:2px solid #e64a3d;padding-left:8px!important}.armoryGearHint{margin-top:auto}
.armoryLowerPanel#armoryLoot{padding:0;overflow:hidden;border-color:#344955;background:linear-gradient(145deg,#081218,#03090d)}.armoryLowerPanel#armoryLoot>header{padding:18px 20px 13px;border-bottom:1px solid #2b424d;background:linear-gradient(90deg,rgba(127,29,22,.32),rgba(7,16,21,.97) 42%)}.armoryLowerPanel#armoryLoot>header h2{font-size:25px;text-shadow:0 2px 9px #000}.armoryLowerPanel#armoryLoot>header p{margin-bottom:0}
.armoryLootDashboard{padding:14px}.armoryLootToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.armoryLootToolbar>span{color:#8299a3;font-size:8px;font-weight:900;letter-spacing:.1em;white-space:nowrap}.armoryLootFilters{display:flex;flex-wrap:wrap;gap:7px}.armoryLootFilters button{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 13px;border:1px solid #314954;border-radius:4px;background:linear-gradient(145deg,#0d1b22,#061015);color:#9eb0b8;font-size:8px;font-weight:900;letter-spacing:.06em;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.025)}.armoryLootFilters button b{display:grid;min-width:19px;height:19px;padding:0 3px;place-items:center;border-radius:10px;background:#172831;color:#dce8ed;font-size:8px}.armoryLootFilters button:hover{border-color:#a4483c;color:#fff}.armoryLootFilters button.active{border-color:#ef493d;background:linear-gradient(145deg,#4b1713,#180b0b);color:#fff;box-shadow:inset 0 -2px #ff4f42,0 0 16px rgba(230,55,43,.16)}.armoryLootFilters button.active b{background:#e54237;color:#fff}
.armoryLootList{display:grid;border:1px solid #263d48;border-radius:5px;overflow:hidden}.armoryLootRow{display:grid;grid-template-columns:105px minmax(240px,1fr) 85px 105px;gap:12px;align-items:center;min-height:58px;padding:7px 12px;border-bottom:1px solid #1e343e;background:rgba(5,13,17,.84);transition:background .14s ease}.armoryLootRow[hidden]{display:none!important}.armoryLootRow:nth-child(even){background:rgba(10,21,27,.84)}.armoryLootRow:last-child{border-bottom:0}.armoryLootRow:hover{background:linear-gradient(90deg,rgba(135,32,24,.2),#0d2028 40%)}.armoryLootRow time{color:#8fa3ac;font-size:9px}.armoryLootRow>div{display:grid;gap:3px}.armoryLootRow small{color:#718892;font-size:8px;text-transform:uppercase;letter-spacing:.06em}.armoryLootRow>div>a{overflow:hidden;color:#b967ff;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;font-weight:800}.armoryLootRow>div>a:hover{color:#daa8ff;text-decoration:underline}.armoryLootBadge{justify-self:start;min-width:55px;padding:5px 8px;border:1px solid #3b5059;border-radius:3px;color:#aebdc3;text-align:center;font-size:8px;font-weight:900}.armoryLootBadge.ms{border-color:#30815b;background:#0c281d;color:#63eaa2}.armoryLootBadge.os{border-color:#3c6a9a;background:#0b1d2d;color:#79baff}.armoryLootBadge.other{border-color:#80632b;background:#281f0c;color:#edc65f}.armoryLootView{justify-self:end;padding:7px 9px;border:1px solid #405965;border-radius:3px;background:#0b171c;color:#dce8ed;text-decoration:none;font-size:8px;font-weight:900}.armoryLootView:hover{border-color:#e14a3d;color:#fff;background:#32110f}
.armoryLootEmpty{display:grid;place-items:center;min-height:220px;padding:25px;text-align:center}.armoryLootEmpty>span{width:54px;height:54px;display:grid;place-items:center;border:1px solid #8a392f;border-radius:50%;background:#1f0d0b;color:#f0c35d;font-size:22px}.armoryLootEmpty h3{margin:12px 0 3px;font:700 20px Georgia,serif}.armoryLootEmpty p{margin:0;color:#7f959f}
@media(max-width:1300px){.armoryGearWorkspace{grid-template-columns:minmax(500px,1.2fr) minmax(380px,.8fr)}.armoryShell{grid-template-columns:235px minmax(0,1fr)}}
@media(max-width:1080px){.armoryGearWorkspace{grid-template-columns:1fr}.armoryEquipped{border-top:1px solid #344b56}.armoryShell{grid-template-columns:1fr}.armoryIdentity{position:static}.armoryLootRow{grid-template-columns:90px minmax(200px,1fr) 75px 95px}}
@media(max-width:700px){.armoryPaperdoll{min-height:430px;padding:8px}.armoryCharacterStage{min-height:414px}.armoryLootToolbar{align-items:flex-start;flex-direction:column}.armoryLootFilters{display:grid;width:100%;grid-template-columns:1fr 1fr}.armoryLootFilters button{justify-content:space-between}.armoryLootRow{grid-template-columns:1fr auto;padding:10px}.armoryLootRow time{grid-column:1}.armoryLootRow>div{grid-column:1}.armoryLootBadge{grid-column:2;grid-row:1}.armoryLootView{grid-column:2;grid-row:2}}

/* V8.66 — vivid identity card and real armory data tabs */
[data-armory-view][hidden]{display:none!important}
.armoryShell{grid-template-columns:292px minmax(0,1fr)}
.armoryIdentity{overflow:hidden;padding:0;border-color:color-mix(in srgb,var(--class-color) 72%,#243740);background:linear-gradient(160deg,#071116,#020709 74%)}
.armoryIdentity>.armoryPortrait{position:relative;height:245px;margin:0;border:0;border-bottom:1px solid color-mix(in srgb,var(--class-color) 70%,#243740);border-radius:0;background-image:linear-gradient(180deg,transparent 20%,rgba(2,7,10,.18) 48%,#03090c 100%),linear-gradient(90deg,color-mix(in srgb,var(--class-color) 15%,transparent),transparent 55%),url('/guild-banner.png?v=8660');background-size:auto 100%;background-position:39% center;box-shadow:inset 0 -55px 48px #03090c,0 0 32px color-mix(in srgb,var(--class-color) 18%,transparent)}
.armoryPortrait:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 26%);pointer-events:none}
.armoryPortrait span{position:absolute;right:14px;bottom:16px;width:58px;height:58px;display:grid;place-items:center;border:2px solid var(--class-color);border-radius:50%;background:#03090ddd;color:var(--class-color);font:900 30px Georgia,serif;box-shadow:0 0 24px color-mix(in srgb,var(--class-color) 50%,transparent),inset 0 0 15px #000}
.armoryPortrait small{position:absolute;left:14px;bottom:18px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 8px #000}
.armoryIdentity>h1,.armoryIdentity>p,.armoryIdentity>.armoryPrimary,.armoryIdentity>.armoryPending,.armoryIdentity>.armoryDiscord,.armoryIdentity>.armoryMiniStats,.armoryIdentity>.armorySideNav,.armoryIdentity>.armoryActions{margin-left:14px;margin-right:14px}
.armoryIdentity>h1{margin-top:12px;margin-bottom:5px;color:#fff;font-size:31px}.armoryIdentity>p{color:#9db1ba;line-height:1.55}.armoryIdentity>.armoryPrimary{display:inline-flex;background:#08271c;color:#57ef9c;border-color:#25875c}.armoryIdentity>.armoryDiscord{margin-top:13px}
.armoryMiniStats{grid-template-columns:1fr 1fr;gap:6px}.armoryMiniStats div{border-left:2px solid var(--class-color)}.armoryMiniStats small{color:#6e8995!important}.armoryMiniStats b{color:#fff!important}.armoryMiniStats div:nth-child(1) b{color:#ff983f!important}.armoryMiniStats div:nth-child(2) b{color:#b967ff!important}.armoryMiniStats div:nth-child(3) b{color:#73d5ff!important}.armoryMiniStats div:nth-child(4) b{color:#ffd75e!important}
.armoryActions{margin-bottom:14px}
.armoryTabs{grid-template-columns:repeat(6,minmax(105px,1fr));min-height:58px;padding:6px;gap:5px;background:linear-gradient(180deg,#081218,#03080b)}
.armoryTabs button{min-height:44px;padding:7px 10px;border-radius:3px;font-size:9px}.armoryTabs button:before{width:24px;height:24px;font-size:12px}.armoryTabs button:nth-child(1):before{content:"◆"}.armoryTabs button:nth-child(2):before{content:"∿"}.armoryTabs button:nth-child(3):before{content:"✦"}.armoryTabs button:nth-child(4):before{content:"⚒"}.armoryTabs button:nth-child(5):before{content:"★"}.armoryTabs button:nth-child(6):before{content:"◷"}
.armoryTabs button:nth-child(1){color:#ff9b45!important}.armoryTabs button:nth-child(2){color:#6fd8ff!important}.armoryTabs button:nth-child(3){color:#b888ff!important}.armoryTabs button:nth-child(4){color:#55efa4!important}.armoryTabs button:nth-child(5){color:#ffd55d!important}.armoryTabs button:nth-child(6){color:#ff7676!important}.armoryTabs button.active{color:#fff!important}
.armoryGearHeader{background:linear-gradient(90deg,rgba(104,25,19,.58),#071117 42%)}.armoryGearHeader .eyebrow{color:#65efbd}.armoryGearHeader h2{color:#fff}.armoryGearHeader h2::first-letter{color:#ff9a3f}.armoryGearSummary strong{color:#ffe55b;text-shadow:0 0 14px rgba(255,222,67,.28)}
.armoryDataPanel{min-height:500px;padding:22px}.armoryDataPanel>header h2{margin:5px 0;color:#fff;font-size:29px}.armoryDataPanel>header p{color:#849ca7}.armoryDataHead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #263f4b}.armoryDataHead>strong{min-width:100px;color:#ffe45c;text-align:center;font-size:31px;text-shadow:0 0 17px rgba(255,222,65,.25)}.armoryDataHead>strong small{display:block;color:#77909b;font-size:7px;letter-spacing:.12em}
.armoryTalentGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}.armoryTalentGrid article{position:relative;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;min-height:66px;padding:9px 13px;overflow:hidden;border:1px solid #2e4652;border-left:3px solid #a568ff;border-radius:4px;background:linear-gradient(145deg,#0b1820,#050b0f)}.armoryTalentGrid article>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid #6d47a0;border-radius:50%;background:#160c22;color:#c699ff;font-weight:900}.armoryTalentGrid b,.armoryTalentGrid small{display:block}.armoryTalentGrid b{color:#d7b7ff}.armoryTalentGrid small{margin-top:3px;color:#77909b}.armoryTalentGrid em{position:absolute;left:0;bottom:0;width:var(--talent-width);height:2px;background:linear-gradient(90deg,#7737cb,#cf91ff);box-shadow:0 0 8px #a85eff}
.armoryFutureGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.armoryFutureGrid article{display:flex;gap:12px;align-items:center;min-height:88px;padding:14px;border:1px solid #29434f;border-radius:4px;background:linear-gradient(145deg,#0b1820,#040a0e)}.armoryFutureGrid article>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid #3a6171;border-radius:50%;background:#07141a;color:#69dcff;font-size:18px}.armoryFutureGrid b,.armoryFutureGrid small{display:block}.armoryFutureGrid b{color:#eef7fa}.armoryFutureGrid small{margin-top:5px;color:#6f8994}.armoryEmptyData{display:grid;place-items:center;min-height:330px;text-align:center}.armoryEmptyData>span{width:64px;height:64px;display:grid;place-items:center;border:1px solid #704ba0;border-radius:50%;background:#160d20;color:#bd8bff;font-size:26px}.armoryEmptyData h3{margin:14px 0 3px;color:#fff;font:700 22px Georgia,serif}.armoryEmptyData p{max-width:530px;color:#8299a4}
.armoryLowerPanel#armoryPerformance{min-height:500px;background:radial-gradient(circle at 80% 10%,rgba(43,135,178,.12),transparent 35%),linear-gradient(145deg,#08141a,#03090d)}.armoryLowerPanel#armoryPerformance .wclBox strong{color:#63d8ff;text-shadow:0 0 14px rgba(66,198,255,.23)}
@media(max-width:1250px){.armoryTabs{grid-template-columns:repeat(3,1fr)}.armoryShell{grid-template-columns:250px minmax(0,1fr)}}
@media(max-width:900px){.armoryShell{grid-template-columns:1fr}.armoryIdentity>.armoryPortrait{height:210px;background-size:cover;background-position:38% 25%}.armoryTalentGrid{grid-template-columns:1fr}.armoryFutureGrid{grid-template-columns:1fr}}
@media(max-width:620px){.armoryTabs{grid-template-columns:repeat(2,1fr)}.armoryTabs button{justify-content:flex-start}.armoryDataPanel{padding:15px}.armoryDataHead{align-items:flex-start}.armoryFutureGrid{display:grid}}

/* V8.67 — bridge private Beta snapshots into the public roster identity */
.betaLinkControls{display:grid;min-width:310px;gap:7px}.betaLinkControls>label{color:#c79aff;font-size:8px;font-weight:900;letter-spacing:.11em}.betaLinkControls>select{width:100%;min-height:39px;padding:8px 10px;border:1px solid #654091;border-radius:3px;background:#120b1c;color:#eadcff}.betaLinkedLabel{display:block;width:max-content;margin-top:9px;padding:4px 7px;border:1px solid #7850a1;background:#1b0d2a;color:#d7b0ff;font-size:7px;letter-spacing:.09em}.betaPreviewHeader{border-bottom-color:#65418b!important;background:linear-gradient(90deg,rgba(68,24,94,.7),#071117 45%)!important}.betaPreviewHeader .eyebrow{color:#d79cff!important}.betaPreviewNotice{display:flex;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid #533676;background:linear-gradient(90deg,#1e0d2d,#0a1117);color:#9faeb5;font-size:9px}.betaPreviewNotice b{flex:0 0 auto;padding:5px 7px;border:1px solid #8053aa;color:#dfb2ff;font-size:7px;letter-spacing:.09em}.betaPreviewNotice span{line-height:1.45}.characterEnvironmentGroup .betaCharacterCard{border-left:3px solid #8652bc}.characterEnvironmentGroup .betaCharacterCard .requestActions{justify-content:flex-end}
@media(max-width:760px){.betaLinkControls{min-width:0;width:100%}.betaPreviewNotice{align-items:flex-start;flex-direction:column}}

/* V8.52 — recruitment-first Discord member roster */
.referenceRosterPage{max-width:1540px!important;padding-top:22px!important}
.referenceRecruitment{padding:22px 24px 20px;border:1px solid #294239;border-radius:10px;background:radial-gradient(circle at 80% 0,rgba(50,99,136,.12),transparent 34%),linear-gradient(145deg,#091410,#07100e);box-shadow:0 18px 45px rgba(0,0,0,.22)}
.referenceRecruitment>header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px}.referenceRecruitment>header>div{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}.referencePeople{grid-row:1/3;color:#f0c85e;font-size:30px;letter-spacing:-9px;margin-right:8px}.referenceRecruitment h1{margin:0;color:#f5d37a;font:700 clamp(23px,3vw,32px) Georgia,serif;letter-spacing:.055em;text-transform:uppercase}.referenceRecruitment p{margin:3px 0 0;color:#9db0aa}.referenceRecruitment blockquote{margin:0;color:#e5bd58;font:italic 16px Georgia,serif;white-space:nowrap}
.referenceRecruitBody{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px}.referenceRecruitCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.referenceNeedCard{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:12px;min-height:82px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--class-color),#15241e 35%);border-radius:5px;background:linear-gradient(135deg,color-mix(in srgb,var(--class-color),transparent 90%),rgba(5,15,13,.96));box-shadow:inset 0 0 22px color-mix(in srgb,var(--class-color),transparent 92%)}.referenceNeedCard>i{width:45px;height:45px;display:grid;place-items:center;border:2px solid var(--class-color);border-radius:50%;color:var(--class-color);font:700 23px Georgia,serif;box-shadow:0 0 13px color-mix(in srgb,var(--class-color),transparent 66%)}.referenceNeedCard div{display:grid;gap:2px}.referenceNeedCard b{color:var(--class-color);font-size:15px}.referenceNeedCard strong{font-size:13px;letter-spacing:.06em}.referenceNeedCard small{color:#aab8b3;font-size:10px}.referenceNeedCard.high strong{color:#ff666e}.referenceNeedCard.medium strong{color:#f3cc56}.referenceNeedCard.closed{border-color:#5d3032;background:rgba(42,9,12,.48)}.referenceNeedCard.closed strong{color:#ff666e}.referenceNeedCard.open strong{color:#65e6bd}
.referenceRosterStats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #293d38;border-radius:5px;background:#0c1715}.referenceRosterStats>div{display:grid;grid-template-columns:auto auto;justify-content:center;align-content:center;column-gap:9px;padding:13px 8px;text-align:left}.referenceRosterStats>div+div{border-left:1px solid #263a35}.referenceRosterStats b{grid-row:1/3;color:#9aa9ae;font-size:20px}.referenceRosterStats strong{color:#fff;font-size:26px;line-height:1}.referenceRosterStats span{color:#a7b5b0;font-size:10px;margin-top:5px;white-space:nowrap}
.referenceGoalEditor{margin-top:16px;border-top:1px solid #293d38;padding-top:12px}.referenceGoalEditor summary{cursor:pointer;color:#e3bf62;font-size:10px;font-weight:900;letter-spacing:.12em}.referenceGoalEditor .compositionGrid{margin:14px 0}.referenceGoalEditor>.authBtn{margin-top:10px}
.referenceRosterFilters{display:grid;grid-template-columns:minmax(300px,1fr) repeat(3,minmax(140px,180px)) minmax(150px,190px) auto auto;gap:12px;margin:24px 0 14px}.referenceRosterFilters select,.referenceRosterFilters input,.referenceReset,.referenceManage{box-sizing:border-box;height:44px;border:1px solid #30463f;border-radius:5px;background:#0b1715;color:#e9f1ee;padding:0 14px;font:inherit}.referenceSearch{position:relative}.referenceSearch span{position:absolute;left:15px;top:8px;color:#a6b8c4;font-size:24px}.referenceSearch input{width:100%;padding-left:47px}.referenceRosterFilters select{cursor:pointer}.referenceReset,.referenceManage{cursor:pointer;font-weight:800}.referenceReset:hover,.referenceManage{border-color:#5b8577;background:#10241f}.referenceManage{color:#f0c85e}
.referenceRosterMeta{display:flex;justify-content:space-between;gap:18px;margin:0 4px 10px;color:#7f9990;font-size:11px}.referenceRosterMeta small{text-align:right}
#referenceRosterTable{overflow-x:auto;border:1px solid #263b35;border-radius:8px;background:#07100e;box-shadow:0 18px 45px rgba(0,0,0,.18)}.referenceRosterTable{min-width:1120px}.referenceRosterHead,.referenceRosterRow{display:grid;grid-template-columns:48px 1.22fr 1.18fr .9fr 1.15fr .78fr .82fr .62fr 118px;align-items:center}.referenceRosterHead{min-height:48px;color:#c9d5d1;background:#0d1816;border-bottom:1px solid #2a3e39;font-size:12px}.referenceRosterHead span{padding:0 12px}.referenceRosterRow{position:relative;min-height:58px;color:#d7e2de;background:linear-gradient(90deg,color-mix(in srgb,var(--class-color),transparent 96%),rgba(8,17,15,.97));border-bottom:1px solid #21332f}.referenceRosterRow:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--class-color)}.referenceRosterRow:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--class-color),transparent 90%),#0b1714)}.referenceRosterRow>div,.referenceRosterRow>button{min-width:0;padding:9px 12px}.referenceRosterRow.altRow{background:#07110f;color:#aebdb8}.referenceRosterRow.altRow:before{left:27px;width:2px}.referenceRosterRow.missing{color:#9aa9a4}
.rosterChevron{border:0;background:transparent;color:#e5efeb;font-size:25px;cursor:pointer}.rosterChevron:disabled{cursor:default;color:#52615d}.discordRosterName{display:grid;grid-template-columns:26px 1fr;align-items:center;column-gap:8px}.discordRosterName .discordMark{grid-row:1/3;width:21px;height:21px;display:grid;place-items:center;border-radius:5px;background:#8c9dff;color:#0a1020;font-size:11px}.discordRosterName b,.characterCell b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discordRosterName small,.characterCell small,.specRosterValue small{color:#718a82;font-size:9px}.characterCell{display:grid!important;text-align:left;border:0;background:transparent;color:#eef5f2;cursor:pointer}.characterCell:hover b{color:#73e0bb}.coloredRosterValue,.specRosterValue,.roleRosterValue{display:flex;align-items:center;gap:9px}.coloredRosterValue i{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--class-color),transparent 83%);color:var(--class-color);font-style:normal;font-weight:900}.coloredRosterValue b{color:var(--class-color)}.specRosterValue>i{color:#f2c750;font-style:normal}.specRosterValue>span{display:grid}.roleRosterValue i{color:#a7b8c4;font-style:normal}.referenceStatus{white-space:nowrap;font-size:11px}.referenceStatus.active{color:#70e477}.referenceStatus.alt{color:#9ba8ae}.referenceStatus.unlinked,.referenceStatus.missing{color:#f1c95b}.altCount{border:0;background:transparent;color:#6ebdff;cursor:pointer;padding:0!important}.referenceRowActions{display:flex;gap:5px;justify-content:flex-end}.rowMenu{border:1px solid #2d443d;background:#0a1613;color:#9eb1aa;border-radius:4px;padding:6px!important;font-size:8px;font-weight:900;cursor:pointer}.rowMenu:hover{color:#fff;border-color:#5f8c7c}
@media(max-width:1250px){.referenceRecruitBody{grid-template-columns:1fr}.referenceRecruitCards{grid-template-columns:repeat(2,1fr)}.referenceRosterStats{min-height:90px}.referenceRosterFilters{grid-template-columns:minmax(260px,1fr) repeat(3,minmax(130px,1fr));}.referenceRosterFilters .referenceScope,.referenceRosterFilters .referenceReset,.referenceRosterFilters .referenceManage{grid-row:2}.referenceRosterFilters .referenceScope{grid-column:1/3}}
@media(max-width:700px){.referenceRosterPage{padding-left:10px!important;padding-right:10px!important}.referenceRecruitment{padding:16px}.referenceRecruitment>header{display:block}.referenceRecruitment blockquote{margin-top:13px;white-space:normal}.referenceRecruitCards{grid-template-columns:1fr}.referenceRosterStats{grid-template-columns:1fr}.referenceRosterStats>div{min-height:60px}.referenceRosterStats>div+div{border-left:0;border-top:1px solid #263a35}.referenceRosterFilters{grid-template-columns:1fr 1fr}.referenceSearch{grid-column:1/-1}.referenceRosterFilters .referenceScope{grid-column:1/-1;grid-row:auto}.referenceRosterFilters .referenceReset,.referenceRosterFilters .referenceManage{grid-row:auto}.referenceRosterMeta{display:block}.referenceRosterMeta small{display:block;text-align:left;margin-top:4px}}

/* V8.53 — Horde admin command center */
.adminCommandPage{width:min(1580px,calc(100vw - 30px));margin:18px auto 28px;display:grid;grid-template-columns:250px minmax(0,1fr);min-height:950px;border:1px solid #5d1d1c;border-radius:9px;overflow:hidden;background:radial-gradient(circle at 70% 0,rgba(143,29,20,.12),transparent 35%),#060d0d;box-shadow:0 24px 70px #0008}
.adminCommandRail{display:flex;flex-direction:column;min-height:100%;padding:22px 12px 18px;border-right:1px solid #55201f;background:linear-gradient(180deg,#090d0d 0%,#07100f 62%,#200a08 100%)}.adminRailTitle{display:flex;align-items:center;gap:13px;padding:0 10px 20px;border-bottom:1px solid #49201e}.adminRailTitle>i{color:#f0443c;font-size:28px;font-style:normal}.adminRailTitle span{display:grid}.adminRailTitle b{font:700 22px Georgia,serif;color:#fff}.adminRailTitle small{color:#a8bab6;font-size:10px;letter-spacing:.05em}.adminCommandRail nav{display:grid;gap:5px;padding-top:12px}.adminCommandRail nav button{position:relative;display:grid;grid-template-columns:27px 1fr auto;align-items:center;min-height:45px;padding:0 12px;border:1px solid transparent;border-radius:5px;background:transparent;color:#c5d0cd;text-align:left;cursor:pointer;font:inherit}.adminCommandRail nav button:hover,.adminCommandRail nav button.active{border-color:#9d2521;background:linear-gradient(90deg,rgba(143,24,20,.65),rgba(79,13,12,.28));color:#fff;box-shadow:0 0 15px rgba(229,45,37,.18)}.adminCommandRail nav i{color:#a8c1e2;font-style:normal}.adminCommandRail nav button.active i{color:#ff4c42}.adminCommandRail nav b{display:grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:#d62e2b;color:white;font-size:10px}.adminRailMotto{margin-top:auto;padding:34px 16px 12px;color:#f0ded1;text-align:center;font:700 17px/1.55 Georgia,serif;letter-spacing:.08em;background:radial-gradient(circle at 50% 100%,rgba(183,29,19,.3),transparent 55%)}.adminRailMotto b{display:block;margin-top:18px;color:#f34b3e;font:italic 700 13px Georgia,serif}
.adminCommandMain{min-width:0;padding:18px 20px 22px}.adminCommandHero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.adminCommandHero>div{display:grid;grid-template-columns:50px 1fr;column-gap:12px}.hordeMark{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border:1px solid #762820;transform:rotate(45deg);color:#ef443a;background:#240c0b;font-size:22px}.adminCommandHero h1{margin:0;color:#fff;font:700 clamp(26px,3vw,36px) Georgia,serif}.adminCommandHero p{margin:3px 0 0;color:#9db0ac}.adminCommandHero blockquote{margin:0;color:#e4bc62;font:italic 16px/1.5 Georgia,serif;text-align:right}
.adminAttentionCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:13px}.adminAttentionCards>button{display:grid;grid-template-columns:45px 42px 1fr 18px;align-items:center;min-height:82px;padding:11px;border:1px solid currentColor;border-radius:5px;background:#0b1413;color:#d7e1de;text-align:left;cursor:pointer}.adminAttentionCards>button>i{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#15201e;color:currentColor;font-style:normal;font-size:20px}.adminAttentionCards>button>strong{font:700 28px Georgia,serif;color:#fff}.adminAttentionCards>button>span{display:grid;font-weight:800}.adminAttentionCards>button small{margin-top:5px;font-size:9px;font-weight:400;color:currentColor}.adminAttentionCards>button>b{font-size:24px}.adminAttentionCards .red{color:#ff4a43;background:linear-gradient(135deg,rgba(109,13,11,.5),#091211)}.adminAttentionCards .green{color:#48e88e;background:linear-gradient(135deg,rgba(5,76,42,.45),#091211)}.adminAttentionCards .gold{color:#eaca50;background:linear-gradient(135deg,rgba(87,64,5,.45),#091211)}.adminAttentionCards .purple{color:#eb5fed;background:linear-gradient(135deg,rgba(75,13,77,.48),#091211)}
.adminDashboardGrid{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:13px}.adminDashboardCenter,.adminDashboardSide{display:grid;align-content:start;gap:13px}.adminDashPanel{overflow:hidden;border:1px solid #30433f;border-radius:5px;background:linear-gradient(145deg,#0b1514,#07100f);box-shadow:0 10px 22px #0004}.adminDashPanel>header{display:flex;justify-content:space-between;align-items:center;min-height:42px;padding:0 14px;border-bottom:1px solid #263a36;background:#0d1816}.adminDashPanel>header h2{margin:0;color:#f1eee9;font:700 16px Georgia,serif}.adminDashPanel>header button,.adminDashPanel>header span{border:0;background:transparent;color:#54d9ed;font-size:10px;cursor:pointer}
.adminApplicationRow{display:grid;grid-template-columns:27px .9fr 1.45fr 72px 132px;align-items:center;gap:9px;min-height:49px;padding:5px 12px;border-bottom:1px solid #1d302c;font-size:11px}.adminDiscordGlyph{width:20px;height:20px;display:grid;place-items:center;border-radius:4px;background:#8497ff;color:#0b1020}.adminApplicationRow>button{display:grid;border:0;background:transparent;color:#dce7e3;text-align:left;cursor:pointer}.adminApplicationRow>button strong{color:var(--class-color)}.adminApplicationRow small,.adminApplicationRow time{color:#899c96;font-size:9px}.adminApplicationRow>div{display:flex;gap:6px}.adminApplicationRow>div button{flex:1;padding:6px 5px;border-radius:3px;background:#0d1b17;color:#fff;font-size:9px;cursor:pointer}.adminApplicationRow .approve{border:1px solid #24c66f}.adminApplicationRow .deny{border:1px solid #d63e3a}.adminEmptyLine{padding:20px;color:#81938e;text-align:center;font-size:11px}
.adminRaidRow{display:grid;grid-template-columns:95px minmax(130px,1fr) 150px 105px 55px;align-items:center;gap:10px;min-height:54px;padding:5px 14px;border-bottom:1px solid #1e302d;font-size:10px}.adminRaidRow time{color:#d9e4e0;font-weight:800}.adminRaidRow time small{display:block;color:#879b95;font-weight:400}.adminRaidRow>b{color:#e9efed}.adminRaidRow>span{display:grid;grid-template-columns:38px 1fr;align-items:center;color:#cdd8d5}.adminRaidRow span i{height:8px;border-radius:3px;background:#162925;overflow:hidden}.adminRaidRow span em{display:block;height:100%;background:linear-gradient(90deg,#3ad378,#79ef9a)}.adminRaidRow>strong{color:#edc84f;font-size:9px}.adminRaidRow>button{padding:6px;border:1px solid #43615a;border-radius:4px;background:#10201d;color:#dce7e4;cursor:pointer}
.adminRecentActivity>div{display:grid;grid-template-columns:70px 105px 1fr 1.15fr;align-items:center;gap:10px;min-height:34px;padding:3px 14px;border-bottom:1px solid #1d302c;font-size:10px}.adminRecentActivity time{color:#8ca09a}.adminRecentActivity b{color:#dce6e3}.adminRecentActivity span{color:#b9c7c2}.adminRecentActivity span i{margin-right:7px;color:#ed493f;font-style:normal}.adminRecentActivity small{color:#57bad5}.adminToolColumns{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.adminToolColumns .adminDashPanel>button,.adminQuickActions>button{display:grid;grid-template-columns:27px 1fr 12px;align-items:center;width:calc(100% - 18px);min-height:34px;margin:7px 9px;padding:0 9px;border:1px solid #2d4741;border-radius:4px;background:#0d1c19;color:#d9e4e0;text-align:left;cursor:pointer}.adminToolColumns .adminDashPanel>button i,.adminQuickActions>button i{color:#7fc9e8;font-style:normal}.adminToolColumns .adminDashPanel>button b,.adminQuickActions>button b{text-align:right}
.adminRecruitmentNeeds>div{display:grid;grid-template-columns:28px 1fr auto;align-items:center;min-height:48px;padding:4px 12px;border-bottom:1px solid #1d302c}.adminRecruitmentNeeds>div>i{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--class-color);border-radius:50%;color:var(--class-color);font-style:normal;font-weight:900}.adminRecruitmentNeeds span{display:grid}.adminRecruitmentNeeds b{color:var(--class-color);font-size:11px}.adminRecruitmentNeeds small{color:#7d928b;font-size:8px}.adminRecruitmentNeeds strong{font-size:9px}.adminRecruitmentNeeds strong.high{color:#ff4d47}.adminRecruitmentNeeds strong.medium{color:#eaca50}.adminRecruitmentNeeds strong.closed{color:#8d9c98}.adminRecruitmentNeeds strong.open{color:#49e493}.adminGuildOverview{padding:6px 12px}.adminGuildOverview>div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #1d302c;color:#b7c5c1;font-size:10px}.adminGuildOverview b{color:#fff}.adminGuildOverview b.good{color:#45e387}.adminSiteStatus>header strong{color:#45e387;font-size:10px}.adminSiteStatus p{margin:12px 14px 6px;color:#9aada7;font-size:10px}.adminSiteStatus>small{display:block;margin:0 14px 14px;color:#718680;font-size:9px}
@media(max-width:1200px){.adminCommandPage{grid-template-columns:210px minmax(0,1fr)}.adminAttentionCards{grid-template-columns:repeat(2,1fr)}.adminDashboardGrid{grid-template-columns:1fr}.adminDashboardSide{grid-template-columns:repeat(2,1fr)}.adminDashboardSide .adminSiteStatus{grid-column:1/-1}}
@media(max-width:780px){.adminCommandPage{display:block;width:calc(100vw - 16px);margin:8px}.adminCommandRail{min-height:auto;border-right:0;border-bottom:1px solid #55201f}.adminCommandRail nav{grid-template-columns:1fr 1fr}.adminRailMotto{display:none}.adminCommandMain{padding:14px 10px}.adminCommandHero blockquote{display:none}.adminAttentionCards,.adminDashboardSide,.adminToolColumns{grid-template-columns:1fr}.adminDashboardSide .adminSiteStatus{grid-column:auto}.adminApplicationRow{grid-template-columns:25px 1fr 1.3fr}.adminApplicationRow>time{display:none}.adminApplicationRow>div{grid-column:2/-1}.adminRaidRow{grid-template-columns:82px 1fr 95px}.adminRaidRow>strong{grid-column:2}.adminRaidRow>button{grid-column:3;grid-row:2}.adminRecentActivity>div{grid-template-columns:62px 1fr}.adminRecentActivity span,.adminRecentActivity small{grid-column:2}}

/* V8.54 — compact member-grouped roster management */
.adminRosterWorkspace{display:grid;gap:15px}.adminRosterWorkspaceHead{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:4px 0 12px}.adminRosterWorkspaceHead h2{margin:5px 0 4px;font:700 30px Georgia,serif}.adminRosterWorkspaceHead p{margin:0;color:#8fa39d}.adminRosterWorkspaceHead>.btn{white-space:nowrap}.adminRosterWarnings{display:flex;flex-wrap:wrap;gap:10px}.adminRosterWarnings>button{display:flex;align-items:center;gap:10px;min-height:47px;padding:7px 14px;border:1px solid #7c5520;border-radius:5px;background:#201509;color:#e8c15e;cursor:pointer}.adminRosterWarnings>button b{font-size:22px}.adminRosterWarnings>button span{font-size:10px}.adminRosterSummary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #2b413b;border-radius:6px;background:#0b1614}.adminRosterSummary>div{display:grid;place-items:center;padding:13px}.adminRosterSummary>div+div{border-left:1px solid #263a35}.adminRosterSummary b{color:#fff;font-size:23px}.adminRosterSummary span{color:#829790;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.adminRosterControls{display:grid;grid-template-columns:minmax(300px,1fr) repeat(3,minmax(140px,190px)) auto;gap:9px}.adminRosterControls input,.adminRosterControls select,.adminRosterControls button{height:42px;box-sizing:border-box;border:1px solid #304841;border-radius:4px;background:#0b1715;color:#dce7e3;padding:0 12px}.adminRosterControls button{cursor:pointer;color:#e6c66b;font-weight:800}.adminRosterCount{display:flex;justify-content:space-between;color:#7f958e;font-size:10px}.adminRosterCount b{color:#b9c8c3}
.compactMemberGroup{overflow:hidden;border:1px solid #2c413c;border-radius:6px;background:#08110f}.compactMemberGroup+ .compactMemberGroup{margin-top:10px}.compactMemberGroup>header{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:6px 13px;background:linear-gradient(90deg,#101d1a,#0b1412);border-bottom:1px solid #2b403a}.compactMemberGroup>header>div:first-child{display:grid;grid-template-columns:27px auto;align-items:center;column-gap:8px}.compactMemberGroup>header .adminDiscordGlyph{grid-row:1/3}.compactMemberGroup>header b{color:#eef4f2}.compactMemberGroup>header small{color:#7d928b;font-size:9px}.compactMemberGroup>header>div:last-child{display:flex;align-items:center;gap:14px;color:#8fa29c;font-size:9px}.compactMemberGroup>header strong{color:#e9bd50;font-size:9px}.compactMemberGroup.unlinked>header{background:linear-gradient(90deg,#251407,#0b1412);border-color:#6e481b}.compactAdminCharacterHead,.compactAdminCharacter{display:grid;grid-template-columns:78px 1.1fr .9fr 1.15fr .6fr .65fr 160px;align-items:center;gap:10px;padding:0 13px}.compactAdminCharacterHead{min-height:30px;color:#6f8680;font-size:8px;text-transform:uppercase;letter-spacing:.07em;background:#091310}.compactAdminCharacter{position:relative;min-height:55px;border-top:1px solid #1e302c;color:#c5d2ce;font-size:10px;background:linear-gradient(90deg,color-mix(in srgb,var(--class-color),transparent 97%),transparent)}.compactAdminCharacter:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--class-color)}.compactAdminCharacter:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--class-color),transparent 91%),transparent)}.compactAdminCharacter.inactive{opacity:.58}.compactAdminCharacter>span:first-child{display:flex;gap:4px;align-items:center}.compactAdminCharacter>span:first-child b,.compactAdminCharacter>span:first-child em{padding:3px 5px;border:1px solid #315048;font-size:7px;font-style:normal}.compactAdminCharacter>span:first-child b.primary{color:#58e58a}.compactAdminCharacter>span:first-child b.alt{color:#9eb0aa}.compactAdminCharacter>span:first-child em{color:#e8b451;border-color:#765523}.compactAdminCharacter>button{display:grid;border:0;background:transparent;color:#eff5f3;text-align:left;cursor:pointer}.compactAdminCharacter>button strong{font:700 15px Georgia,serif}.compactAdminCharacter small{display:block;color:#718780;font-size:8px}.compactClass{display:flex;align-items:center;gap:7px}.compactClass i{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--class-color),transparent 82%);color:var(--class-color);font-style:normal;font-weight:900}.compactClass b{color:var(--class-color)}.logsReady{color:#55db83}.logsMissing{color:#e5b64f}.compactAdminActions{display:flex;justify-content:flex-end;gap:5px}.compactAdminActions button{padding:6px 8px;border:1px solid #345149;border-radius:4px;background:#0c1a17;color:#dce7e3;font-size:8px;font-weight:900;cursor:pointer}.compactAdminActions button.deactivate{border-color:#6b2e32;color:#f09098}.compactAdminActions button.reactivate{border-color:#2e7651;color:#73e9a3}
@media(max-width:1000px){.adminRosterControls{grid-template-columns:1fr 1fr}.adminRosterControls input{grid-column:1/-1}.compactMemberGroup{overflow-x:auto}.compactMemberGroup>header{min-width:980px}.compactAdminCharacterHead,.compactAdminCharacter{min-width:980px}}
@media(max-width:620px){.adminRosterWorkspaceHead{display:block}.adminRosterWorkspaceHead>.btn{margin-top:12px}.adminRosterSummary{grid-template-columns:1fr 1fr}.adminRosterSummary>div:nth-child(3){border-left:0;border-top:1px solid #263a35}.adminRosterSummary>div:nth-child(4){border-top:1px solid #263a35}.adminRosterControls{grid-template-columns:1fr}.adminRosterControls input{grid-column:auto}.adminRosterCount{display:block}.adminRosterCount small{display:block;margin-top:5px}}

/* V8.55 — unified Horde Guild Accounts */
.guildAccountsPage{max-width:1540px!important;padding-top:14px!important}.guildAccountBack{display:inline-flex;align-items:center;gap:10px;margin-bottom:11px;color:#ff6860;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.guildAccountBack b{color:#7c8f89}.guildAccountsHero{display:flex;justify-content:space-between;align-items:center;min-height:140px;margin:0 -1px;padding:20px 28px;border:1px solid #55221f;border-bottom:2px solid #c92e28;border-radius:7px 7px 0 0;background:linear-gradient(90deg,rgba(9,11,11,.97) 0%,rgba(18,10,9,.82) 52%,rgba(59,12,8,.38)),url('/guild-banner.png?v=8128') center 42%/cover no-repeat;box-shadow:inset 0 0 50px #0008}.guildAccountsHero.compact{min-height:105px}.guildAccountsHero h1{margin:5px 0;color:#fff;font:700 clamp(28px,4vw,40px) Georgia,serif}.guildAccountsHero p{margin:0;color:#b7c6c1}.guildAccountsHero>button{min-width:240px;min-height:46px;padding:0 18px;border:1px solid #495d58;border-radius:5px;background:#101b1a;color:#eaf0ee;text-align:left;font-weight:800;cursor:pointer}.guildAccountTabs{display:flex;gap:12px;padding:0 0 0 0;border-bottom:1px solid #76241f;background:#080e0d}.guildAccountTabs button{position:relative;min-width:180px;height:54px;padding:0 18px;border:1px solid #2b403b;border-bottom:0;border-radius:5px 5px 0 0;background:#0d1816;color:#b7c5c1;font-weight:900;cursor:pointer}.guildAccountTabs button.active,.guildAccountTabs button:hover{border-color:#b82f2a;background:linear-gradient(180deg,#421310,#1b0d0c);color:#fff;box-shadow:0 0 16px rgba(223,43,35,.2)}.guildAccountTabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:#ff4138}.guildAccountTabs b{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:7px;border-radius:50%;background:#dd3732;color:white;font-size:9px}
.guildAccountMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}.guildAccountMetrics>button{display:grid;grid-template-columns:54px 55px 1fr 20px;align-items:center;min-height:88px;padding:10px 15px;border:1px solid currentColor;border-radius:5px;background:#0b1513;color:#dce6e3;text-align:left;cursor:pointer}.guildAccountMetrics>button>i{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:#16211f;color:currentColor;font-size:24px;font-style:normal}.guildAccountMetrics>button>strong{color:#fff;font:700 29px Georgia,serif}.guildAccountMetrics>button>span{display:grid;font-weight:900}.guildAccountMetrics>button small{margin-top:4px;color:currentColor;font-size:9px;font-weight:400}.guildAccountMetrics>button>b{font-size:25px}.guildAccountMetrics .red{color:#ff5650;background:linear-gradient(135deg,rgba(91,14,12,.58),#091211)}.guildAccountMetrics .green{color:#4fe49a;background:linear-gradient(135deg,rgba(4,72,42,.5),#091211)}.guildAccountMetrics .blue{color:#70adff;background:linear-gradient(135deg,rgba(7,46,91,.54),#091211)}.guildAccountMetrics .gold{color:#f0c957;background:linear-gradient(135deg,rgba(86,61,5,.52),#091211)}
.guildAccountPanel{overflow-x:auto;margin-top:14px;border:1px solid #2d413c;border-radius:7px;background:#08110f;box-shadow:0 13px 32px #0004}.guildAccountPanel>header{display:flex;justify-content:space-between;align-items:center;gap:16px;min-width:1120px;padding:12px 15px;border-bottom:1px solid #2d433d;background:#0d1816}.guildAccountPanel>header h2{margin:0;color:#f3efea;font:700 18px Georgia,serif}.guildAccountPanel>header p{margin:3px 0 0;color:#899c96;font-size:10px}.guildAccountPanel>header>div:last-child{display:flex;gap:8px}.guildAccountPanel>header input,.guildAccountPanel>header select,.guildAccountPanel>header button{box-sizing:border-box;height:38px;border:1px solid #355049;border-radius:4px;background:#0b1715;color:#dce7e3;padding:0 11px}.guildAccountPanel>header input{min-width:235px}.guildAccountPanel>header button{cursor:pointer;color:#e9c963;font-weight:900}.guildRequestHead,.guildRequestRow{display:grid;grid-template-columns:34px 1.05fr .78fr .78fr .78fr .72fr 1.55fr 175px;align-items:center;gap:10px;min-width:1120px;padding:0 13px}.guildRequestHead{min-height:35px;color:#82958f;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.guildRequestRow{min-height:60px;border-top:1px solid #1e302c;color:#c7d3cf;font-size:10px}.guildRequestRow:hover{background:#0d1916}.guildDiscordIcon{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:#7f9af7;color:#08101d}.guildRequestRow>div:nth-child(2){display:grid}.guildRequestRow small{color:#779088;font-size:8px}.guildRequestRow>strong{color:#eaf1ef}.guildAccountClass{display:flex;align-items:center;gap:8px;color:var(--class-color)}.guildAccountClass i{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--class-color),transparent 84%);font-style:normal;font-weight:900}.guildRequestRow time{color:#9aaca6}.guildRequestRow p{margin:0;line-height:1.35;color:#b8c6c2}.guildRequestRow>div:last-child{display:flex;gap:7px}.guildRequestRow>div:last-child button{flex:1;padding:7px 8px;border-radius:4px;background:#0b1715;font-size:9px;font-weight:900;cursor:pointer}.guildRequestRow .approve{border:1px solid #24c876;color:#7bf0aa}.guildRequestRow .decline{border:1px solid #dc3d3a;color:#ff8c8c}
.guildAccountTools{flex-wrap:wrap;justify-content:flex-end}.guildAccountTools input{min-width:210px!important}.guildAccountHead,.guildAccountRow{display:grid;grid-template-columns:32px 1.05fr 1.05fr .75fr .9fr .7fr .75fr .7fr .8fr 160px;align-items:center;gap:9px;min-width:1250px;padding:0 13px}.guildAccountHead{min-height:35px;color:#82958f;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.guildAccountRow{min-height:58px;border-top:1px solid #1e302c;color:#c8d4d0;font-size:10px}.guildAccountRow:hover{background:#0d1916}.guildAccountAvatar{width:27px;height:27px;display:grid;place-items:center;border:2px solid var(--class-color);border-radius:50%;background:#14201d;color:#fff;font-weight:900}.guildAccountRow>div:nth-child(2),.guildAccountRow>button:nth-child(3){display:grid}.guildAccountRow small{color:#758b84;font-size:8px}.guildAccountRow>button:nth-child(3){border:0;background:transparent;color:#e8efed;text-align:left;cursor:pointer}.guildAccountRow>button:disabled{cursor:default;color:#d8b453}.guildRoleBadge{justify-self:start;padding:5px 8px;border:1px solid #334b44;border-radius:4px;background:#10201c;color:#b7c8c2;font-size:8px;font-weight:900}.guildRoleBadge.officer{border-color:#7446a1;color:#d69cff}.guildRoleBadge.admin{border-color:#a84b43;color:#ff8b82}.guildAccountStatus.active{color:#52e78d}.guildAccountStatus.inactive{color:#d29365}.guildAccountRow time{color:#93a59f}.guildAccountRow>div:last-child{display:flex;justify-content:flex-end;gap:5px}.guildAccountRow>div:last-child button{padding:7px 8px;border:1px solid #365149;border-radius:4px;background:#0c1917;color:#dce7e3;font-size:8px;font-weight:900;cursor:pointer}
.adminAccountDialog{width:min(520px,calc(100vw - 30px));padding:0;border:1px solid #763029;border-radius:8px;background:#07100e;color:#dce7e3;box-shadow:0 24px 70px #000}.adminAccountDialog::backdrop{background:#000b}.adminAccountDialog form{position:relative;display:grid;gap:10px;padding:25px}.adminAccountDialog h2{margin:0;font:700 29px Georgia,serif}.adminAccountDialog label{color:#9eb0aa;font-size:9px;font-weight:900}.adminAccountDialog select{height:42px;border:1px solid #355049;background:#0b1715;color:#e5eeeb;padding:0 10px}.dialogClose{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#ff746c;font-size:23px;cursor:pointer}
@media(max-width:1150px){.guildAccountMetrics{grid-template-columns:1fr 1fr}.guildAccountsHero>button{min-width:190px}.guildAccountPanel>header{align-items:flex-start;flex-direction:column}.guildAccountPanel>header>div:last-child{width:100%;flex-wrap:wrap}}
@media(max-width:680px){.guildAccountsHero{display:block;padding:18px}.guildAccountsHero>button{width:100%;margin-top:15px}.guildAccountTabs{display:grid;grid-template-columns:1fr}.guildAccountTabs button{width:100%;border-radius:4px}.guildAccountMetrics{grid-template-columns:1fr}.guildAccountPanel{margin-left:-7px;margin-right:-7px}}

/* V8.68 — restore compact equipment around the Armory character stage */
.armoryPaperdoll{display:grid;grid-template-columns:62px minmax(0,1fr) 62px;gap:10px;padding:14px}
.armoryPaperdoll>.armorySlotColumn{display:grid!important;width:62px;align-content:center}
.armoryPaperdoll .armoryWeapons{display:flex!important}
.armoryCharacterStage{width:auto;min-width:0;min-height:540px}
.armorySlotColumn .armoryItemLink.compact,.armorySlotColumn .armoryEmptySlot{transition:transform .15s ease,filter .15s ease,border-color .15s ease}
.armorySlotColumn .armoryItemLink.compact:hover{transform:translateY(-1px) scale(1.04)}
@media(max-width:700px){.armoryPaperdoll{grid-template-columns:54px minmax(0,1fr) 54px;gap:5px;padding:8px 5px}.armoryPaperdoll>.armorySlotColumn,.armoryVisualSlot{width:54px}.armoryCharacterStage{min-height:440px}}

/* V8.69 — Armory rarity tiles: item art IS the equipment frame */
.armoryPaperdoll{grid-template-columns:56px minmax(0,1fr) 56px;gap:8px;padding:14px 10px}
.armoryPaperdoll>.armorySlotColumn,.armoryVisualSlot{width:56px}
.armorySlotColumn{gap:6px}
.armorySlotColumn .armoryItemLink.compact{
  display:block;width:56px;height:56px;padding:0;border:0;border-radius:4px;
  background:transparent;overflow:visible;box-shadow:none
}
.armorySlotColumn .armoryItemIcon{
  width:56px;height:56px;box-sizing:border-box;border:2px solid var(--item-color);border-radius:4px;
  overflow:hidden;background:#070b0d;box-shadow:0 0 10px color-mix(in srgb,var(--item-color) 34%,transparent),inset 0 0 0 1px #000
}
.armorySlotColumn .armoryItemIcon img,.armoryWeapons .armoryItemIcon img{
  display:block;width:100%;height:100%;object-fit:cover
}
.armorySlotColumn .armoryItemIcon small,.armoryWeapons .armoryItemIcon small{
  right:1px;bottom:1px;min-width:18px;padding:1px 3px;border-radius:2px;background:rgba(0,0,0,.88);font-size:8px;line-height:12px;text-align:center
}
.armorySlotColumn .armoryItemName{display:none}
.armorySlotColumn .armoryItemLink.compact:hover{transform:translateY(-2px) scale(1.06);filter:brightness(1.12);z-index:30}
.armorySlotColumn .armoryItemLink.compact:hover .armoryItemIcon{box-shadow:0 0 16px color-mix(in srgb,var(--item-color) 58%,transparent),inset 0 0 0 1px #000}
.armorySlotColumn .armoryEmptySlot{
  display:grid;width:56px;height:56px;box-sizing:border-box;padding:0;place-items:center;border:1px dashed #2b404a;border-radius:4px;background:rgba(4,10,13,.62)
}
.armorySlotColumn .armoryEmptySlot i{width:42px;height:42px;border:0;background:transparent;color:#41545c;font-size:18px}
.armorySlotColumn .armoryEmptySlot small{display:none}
.armoryWeapons{bottom:13px;gap:7px}
.armoryWeapons .armoryItemLink.compact{display:block!important;width:56px!important;height:56px!important;padding:0!important;border:0!important;border-radius:4px;background:transparent!important;overflow:visible}
.armoryWeapons .armoryItemIcon{width:56px;height:56px;box-sizing:border-box;border:2px solid var(--item-color);border-radius:4px;overflow:hidden;background:#070b0d;box-shadow:0 0 10px color-mix(in srgb,var(--item-color) 34%,transparent),inset 0 0 0 1px #000}
.armoryWeapons>.armoryEmptySlot{width:56px!important;height:56px!important;padding:0!important;border-radius:4px;background:rgba(4,10,13,.62)}
.armoryWeapons>.armoryEmptySlot i{width:42px;height:42px;border:0;background:transparent}
.armoryWeapons .armoryItemLink.compact:hover{transform:translateY(-2px) scale(1.06);filter:brightness(1.12);z-index:30}
.armoryVisualSlot .armoryTooltip{left:62px;top:0}
.armorySlotColumn:last-child .armoryTooltip{left:auto;right:62px}
.armoryWeapons .armoryTooltip{left:50%;top:auto;bottom:64px;transform:translateX(-50%)}
@media(max-width:700px){
  .armoryPaperdoll{grid-template-columns:50px minmax(170px,1fr) 50px;gap:5px;padding:8px 5px}
  .armoryPaperdoll>.armorySlotColumn,.armoryVisualSlot{width:50px}
  .armorySlotColumn .armoryItemLink.compact,.armorySlotColumn .armoryEmptySlot{width:50px;height:50px}
  .armorySlotColumn .armoryItemIcon{width:50px;height:50px}
  .armorySlotColumn .armoryEmptySlot i{width:38px;height:38px}
  .armoryVisualSlot .armoryTooltip{left:55px}.armorySlotColumn:last-child .armoryTooltip{left:auto;right:55px}
}

/* v8.73: Vex Sync FileDataID item icons */
.armoryItemIcon img,.armoryTableIcon img{width:100%;height:100%;object-fit:cover;display:block;border-radius:3px}.armoryIconFallback{display:grid;place-items:center;width:100%;height:100%}

/* V8.83 — prominent homepage About Us */
.guildAboutHero{width:min(1500px,calc(100vw - 48px));margin:0 auto 34px;padding:34px 38px;background:linear-gradient(135deg,#130907 0%,#0a1210 48%,#07100d 100%);border:1px solid #6e2c22;border-top:3px solid #c84a35;box-shadow:0 18px 45px #0008;position:relative;overflow:hidden}
.guildAboutHero:after{content:"";display:none}
.guildAboutInner{position:relative;z-index:1;max-width:1180px;margin:auto}.guildAboutHero .eyebrow{color:#f06b53;font-size:11px}.guildAboutHero h2{font-size:clamp(32px,3.3vw,52px);line-height:1;margin:8px 0 12px;color:#fff}.guildAboutHero p{max-width:900px;margin:0 0 26px;color:#b9c9c3;font-size:16px;line-height:1.6}.guildAboutSchedule{display:grid;grid-template-columns:.75fr .75fr 1.35fr 1.15fr;border:1px solid #35463f;background:#050908cc}.guildAboutSchedule>div{padding:18px 22px;border-right:1px solid #35463f}.guildAboutSchedule>div:last-child{border-right:0}.guildAboutSchedule small{display:block;color:#7f958c;font-size:9px;letter-spacing:.18em;font-weight:800;margin-bottom:6px}.guildAboutSchedule strong{display:block;color:#f2d4a1;font-size:clamp(14px,1.4vw,20px);letter-spacing:.04em}.guildAboutSchedule>div:first-child strong{color:#ef654d}
@media(max-width:700px){.guildAboutHero{width:calc(100% - 24px);padding:28px 20px;margin-bottom:24px}.guildAboutHero p{font-size:14px}.guildAboutSchedule{grid-template-columns:1fr}.guildAboutSchedule>div{border-right:0;border-bottom:1px solid #35463f}.guildAboutSchedule>div:last-child{border-bottom:0}}

/* V8.86 — About Us schedule alignment */
@media (min-width:701px) and (max-width:1050px){.guildAboutSchedule{grid-template-columns:1fr 1fr}.guildAboutSchedule>div:nth-child(2){border-right:0}.guildAboutSchedule>div:nth-child(-n+2){border-bottom:1px solid #35463f}}

/* V8.87 — roster planning + recruitment macro */
.referenceRecruitment{padding:24px 26px 22px}
.referenceRosterStats{grid-template-columns:repeat(4,1fr);margin:4px 0 20px;background:#081310}
.referenceRosterStats>div{min-height:82px;padding:14px 12px}.referenceRosterStats strong{font-size:30px}.referenceRosterStats span{font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.referenceRecruitBody{grid-template-columns:minmax(0,1fr) 390px;align-items:stretch}.referenceRecruitCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.referenceSectionLabel{display:flex;justify-content:space-between;align-items:end;margin:0 2px 9px;color:#e6c75f;font-size:10px;font-weight:900;letter-spacing:.11em}.referenceSectionLabel small{color:#789188;font-weight:600;letter-spacing:.04em}
.referenceNeedCard{position:relative;grid-template-columns:48px 1fr auto;min-height:76px;padding:11px 12px}.referenceNeedCard>i{width:40px;height:40px;font-size:20px}.referenceNeedCard strong{color:#fff!important;font-size:17px}.referenceNeedCard small{font-size:9px;letter-spacing:.035em}.referenceNeedCard>em{align-self:center;border:1px solid color-mix(in srgb,var(--class-color),#17231f 55%);padding:5px 7px;border-radius:4px;color:#ffd66b;font-style:normal;font-size:9px;font-weight:900;white-space:nowrap}
.recruitMacroPanel{display:flex;flex-direction:column;padding:16px 17px;border:1px solid #314840;border-radius:6px;background:linear-gradient(145deg,#0b1714,#07100e)}.recruitMacroPanel h3{margin:4px 0 5px;color:#f5d37a;font:700 19px Georgia,serif}.recruitMacroPanel p{margin:0 0 10px;color:#8fa49d;font-size:11px;line-height:1.45}.recruitMacroPanel textarea{box-sizing:border-box;width:100%;min-height:92px;resize:none;padding:10px;border:1px solid #30463f;border-radius:4px;background:#050c0b;color:#dce9e4;font:11px/1.45 Consolas,monospace}.recruitMacroPanel .authBtn{margin-top:10px;width:100%}.recruitMacroPanel>small{margin-top:7px;color:#718b82;text-align:center;font-size:9px}
@media(max-width:1250px){.referenceRecruitBody{grid-template-columns:1fr}.referenceRosterStats{grid-template-columns:repeat(2,1fr)}.referenceRosterStats>div:nth-child(3){border-left:0;border-top:1px solid #263a35}.referenceRosterStats>div:nth-child(4){border-top:1px solid #263a35}}
@media(max-width:700px){.referenceRosterStats{grid-template-columns:1fr}.referenceRosterStats>div+div,.referenceRosterStats>div:nth-child(3),.referenceRosterStats>div:nth-child(4){border-left:0;border-top:1px solid #263a35}.referenceRecruitCards{grid-template-columns:1fr}.referenceSectionLabel{display:block}.referenceSectionLabel small{display:block;margin-top:3px}}

/* V8.88 — raid plan command center */
.raidWorkspace{max-width:1500px}.raidHeadActions{display:flex;gap:8px;align-items:center}.encounterTabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;padding-bottom:5px}.encounterTabs button{white-space:nowrap;background:#07100d;color:#aebfba;border:1px solid #294039;padding:9px 12px;cursor:pointer}.encounterTabs button.active{background:#17352e;border-color:#39e6c2;color:#fff}.raidCommandGrid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;align-items:start}.raidMain{min-width:0}.encounterSummary{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:10px}.encounterSummary h3{font-size:22px;margin:4px 0}.encounterSummary p{margin:0;color:#91a59d}.encounterActions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.raidWorkspace .map{height:420px;border-radius:12px;background:radial-gradient(ellipse,#34241c,#17120f 55%,#070b0a 85%)}.raidWorkspace .map:before{border-radius:10px}.raidToolbox{display:grid;gap:10px;position:sticky;top:78px}.raidToolbox section{background:#0b1210;border:1px solid #20372f;padding:13px}.raidToolbox h3{margin:5px 0 10px}.raidToolbox button{display:block;width:100%;text-align:left;background:#07100d;border:1px solid #20372f;color:#c5d2ce;padding:9px;margin:5px 0;cursor:pointer}.raidToolbox button:hover{border-color:#39e6c2}.raidToolbox label{display:block;color:#aebfba;font-size:10px;padding:5px 0}.markerLegend{display:grid;grid-template-columns:1fr 1fr;gap:5px}.markerLegend span{background:#07100d;border:1px solid #20372f;padding:6px;font-size:9px}.assignmentTools{margin-top:12px;background:#0b1210;border:1px solid #20372f;padding:14px}.assignToolHead{display:flex;justify-content:space-between;align-items:center;gap:10px}.assignToolHead h3{margin:4px 0 10px}.quickAssign{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:10px 0}.quickAssign button{background:#07100d;border:1px solid #294039;color:#fff;padding:9px;text-align:left;cursor:pointer}.quickAssign button:hover{border-color:#39e6c2}.quickAssign span,.quickAssign b,.quickAssign small{display:block}.quickAssign span{font-size:17px}.quickAssign b{font-size:9px;margin-top:4px}.quickAssign small{font-size:8px;color:#779087;margin-top:2px}.assignBuilder{display:grid;grid-template-columns:130px 1fr 150px 1fr 100px 1fr 1.5fr auto;gap:6px;align-items:end;background:#07100d;border:1px solid #294039;padding:10px;margin:10px 0}.assignBuilder label{font-size:8px;color:#91a59d;text-transform:uppercase;grid-row:1}.assignBuilder select,.assignBuilder input{min-width:0;background:#050a08;color:#fff;border:1px solid #315048;padding:8px}.assignBuilder .btn{height:34px;padding:0 12px}.assignFilters{display:flex;gap:5px;overflow-x:auto;padding:5px 0 9px}.assignFilters button{white-space:nowrap;background:#07100d;color:#91a59d;border:1px solid #294039;padding:6px 8px;font-size:8px;cursor:pointer}.assignFilters button.active{background:#17352e;color:#fff;border-color:#39e6c2}.assignmentList{display:grid;gap:5px}.raidAssignRow{display:grid;grid-template-columns:180px 1fr 110px 28px;gap:10px;align-items:center;background:#07100d;border:1px solid #20372f;padding:8px 10px}.assignWho{display:grid;grid-template-columns:28px 1fr;column-gap:7px}.assignWho .assignIcon{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border:1px solid #315048;background:#0d1a16}.assignWho b,.raidAssignRow>div:nth-child(2)>b{font-size:10px}.assignWho small,.raidAssignRow>div:nth-child(2)>small{display:block;color:#7f9690;font-size:8px}.assignMarker{text-align:center;font-size:10px}.assignDelete{background:#21100f;border:1px solid #713a36;color:#ff9b92;width:26px;height:26px;cursor:pointer}.emptyAssign{padding:18px;text-align:center;color:#779087;border:1px dashed #294039}.planSettings{margin-top:12px}.planSettings summary{cursor:pointer;color:#d2a757;font-weight:bold;font-size:10px}.planSettings .edit{max-width:700px;margin-top:12px}
@media(max-width:1100px){.raidCommandGrid{grid-template-columns:1fr}.raidToolbox{position:static;grid-template-columns:repeat(3,1fr)}.assignBuilder{grid-template-columns:1fr 1fr}.assignBuilder label{grid-row:auto}.quickAssign{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.raidToolbox{grid-template-columns:1fr}.quickAssign{grid-template-columns:repeat(2,1fr)}.raidAssignRow{grid-template-columns:1fr 70px 28px}.raidAssignRow>div:nth-child(2){grid-column:1/2}.encounterSummary{align-items:flex-start;flex-direction:column}.assignBuilder{grid-template-columns:1fr}.raidHeadActions{flex-wrap:wrap}.raidWorkspace .map{height:350px}}

/* V8.89 — crisp raid planner visual pass */
.rpShell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 64px);background:#071018;color:#dbe5ee}.rpLeft{background:linear-gradient(180deg,#0a131d,#071018);border-right:1px solid #263543;padding:16px 10px;display:flex;flex-direction:column;gap:6px}.rpSideTitle{font-size:11px;font-weight:800;letter-spacing:.08em;color:#aebdca;padding:8px}.rpRaidPick{display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center;text-align:left;background:transparent;border:1px solid transparent;color:#cbd7e1;padding:8px;border-radius:5px;cursor:pointer}.rpRaidPick.active{background:#13263a;border-color:#2f5372}.rpRaidThumb{width:42px;height:36px;display:grid;place-items:center;background:#152333;border-radius:3px;font-size:20px}.rpRaidPick b,.rpRaidPick small{display:block}.rpRaidPick b{font-size:11px}.rpRaidPick small{font-size:9px;color:#8192a1;margin-top:2px}.rpQuick{margin-top:auto;border-top:1px solid #263543;padding:14px 8px;display:grid;gap:10px}.rpQuick h4{margin:0 0 4px;font-size:10px;letter-spacing:.08em}.rpQuick span{font-size:10px;color:#b8c6d2}.rpContent{min-width:0;padding:14px 18px 24px;background:radial-gradient(circle at 55% -20%,#162332 0,#09121b 42%,#071018 75%)}.rpRaidHeader{display:flex;justify-content:space-between;gap:20px;align-items:end;padding:4px 2px 14px}.rpRaidHeader h1{font-size:27px;margin:3px 0 2px;color:#f3f6f9}.rpRaidHeader small{color:#8fa0ae}.rpTopControls{display:flex;gap:10px;align-items:end}.rpTopControls label{display:grid;gap:4px;font-size:8px;color:#8999a7}.rpTopControls select{background:#111c27;border:1px solid #263746;color:#dce6ee;padding:8px 28px 8px 10px;border-radius:5px}.rpEncounterNav{display:flex;overflow-x:auto;border:1px solid #223342;background:#0d1721;border-radius:6px;margin-bottom:12px}.rpEncounterNav button{border:0;border-bottom:2px solid transparent;background:transparent;color:#bdc9d3;padding:11px 16px;white-space:nowrap;cursor:pointer}.rpEncounterNav button.active{color:#fff;border-color:#ff514c;background:#172332}.rpBody{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:12px}.rpMain{min-width:0}.rpFightHead,.rpPlanCard,.rpAssignments,.rpRight section,.rpAdvanced{background:linear-gradient(180deg,#101a24,#0b141d);border:1px solid #223443;border-radius:8px}.rpFightHead{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border-bottom-left-radius:0;border-bottom-right-radius:0}.rpFightHead h2{margin:0 0 4px;font-size:20px}.rpFightHead p{margin:0;color:#8fa0ae;font-size:10px}.rpFightActions{display:flex;gap:7px}.rpPlanCard{display:grid;grid-template-columns:42% 58%;border-top:0;border-top-left-radius:0;border-top-right-radius:0;overflow:hidden;margin-bottom:12px}.rpMechanics{padding:14px}.rpMechanic{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;border-bottom:1px solid #20303d;padding:9px 0}.rpMechanic i{width:30px;height:30px;display:grid;place-items:center;background:#172535;border:1px solid #30465a;border-radius:4px;font-style:normal}.rpMechanic b,.rpMechanic small{display:block}.rpMechanic b{font-size:10px}.rpMechanic small{font-size:9px;color:#91a1ae;margin-top:2px}.rpMapWrap{display:grid;grid-template-columns:minmax(0,1fr) 105px;min-width:0;border-left:1px solid #223443}.rpMapWrap .map{height:315px;border:0;border-radius:0;background:radial-gradient(circle,#27313a,#161d24 58%,#0b1116)}.rpLegend{padding:10px 8px;background:#0c151e;border-left:1px solid #223443;display:flex;flex-direction:column;gap:8px}.rpLegend span{font-size:9px;color:#c5d0d9}.rpAssignments{padding:0;overflow:hidden}.rpSectionHead{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #253746}.rpSectionHead h3{margin:0;font-size:15px}.rpSectionHead small{color:#8293a1;font-size:9px}.rpBuilder{display:grid;grid-template-columns:1.1fr 1.2fr 1.3fr .9fr 2fr auto;gap:7px;align-items:end;padding:10px 12px;background:#0a121a;border-bottom:1px solid #223443}.rpBuilderTitle{grid-column:1/-1;display:flex;gap:10px;align-items:baseline}.rpBuilderTitle b{font-size:10px}.rpBuilderTitle span{font-size:8px;color:#81919f}.rpBuilder label{display:grid;gap:4px;font-size:7px;text-transform:uppercase;color:#80919e}.rpBuilder select,.rpBuilder input{background:#111c26;border:1px solid #2b3e4d;color:#e2e9ef;padding:7px;border-radius:4px;min-width:0}.rpAssignTable{font-size:9px}.rpAssignHead,.rpAssignRow{display:grid;grid-template-columns:150px 105px 1.2fr 80px 1.5fr 30px;align-items:center}.rpAssignHead{background:#152330;color:#8fa1af;text-transform:uppercase;font-size:7px}.rpAssignHead span,.rpAssignRow>span{padding:8px 9px;border-right:1px solid #223443}.rpAssignRow{border-top:1px solid #1d2d39;min-height:38px}.rpAssignRow:hover{background:#111d27}.rpPlayer{display:flex;gap:7px;align-items:center}.rpPlayer i{width:22px;height:22px;display:grid;place-items:center;background:#172536;border:1px solid #31465a;border-radius:4px;font-style:normal}.rpJob{font-weight:800;color:#61c5ff}.job-heal{color:#64e3a1}.job-interrupt{color:#55c7ff}.job-stuncc{color:#52e3ad}.job-killorder{color:#ff5d55}.job-buff{color:#ffd35b}.rpMarker{text-align:center}.rpNote{color:#a9b6c1}.rpAssignRow button{background:transparent;border:0;color:#9cabb7;cursor:pointer}.rpRight{display:grid;gap:10px;align-content:start}.rpRight section{padding:12px}.rpRight h3{margin:0 0 9px;font-size:13px}.rpRight button{display:block;width:100%;text-align:left;background:#111c27;border:1px solid #263a4a;color:#e1e8ee;padding:9px;border-radius:5px;margin:6px 0;cursor:pointer}.rpRight button b,.rpRight button small{display:block}.rpRight button b{font-size:9px}.rpRight button small{font-size:8px;color:#8496a4;margin-top:2px}.rpRight label{display:block;padding:5px 0;color:#b7c4ce;font-size:9px}.rpMarkerGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.rpMarkerGrid span{background:#111c27;border:1px solid #263a4a;padding:6px;font-size:8px;border-radius:4px}.rpAdvanced{margin-top:12px;padding:10px 12px}.rpAdvanced summary{cursor:pointer;font-size:9px;font-weight:800;color:#aebdca}.rpAdvanced .boardTools{margin-top:10px}.rpShell .toolBtn,.rpShell .btn{border-radius:5px}.rpShell .eyebrow{color:#7fd7ff}.rpShell .map .mark,.rpShell .map .playerDot{box-shadow:0 3px 10px #0008}.rpShell .boss{box-shadow:0 0 0 5px #0b1116aa,0 0 24px #ff514c55}
@media(max-width:1150px){.rpShell{grid-template-columns:180px minmax(0,1fr)}.rpBody{grid-template-columns:1fr}.rpRight{grid-template-columns:repeat(3,1fr)}.rpPlanCard{grid-template-columns:1fr}.rpMapWrap{border-left:0;border-top:1px solid #223443}.rpBuilder{grid-template-columns:repeat(3,1fr)}.rpInstruction{grid-column:1/3}.rpAssignHead,.rpAssignRow{grid-template-columns:130px 90px 1fr 65px 1.2fr 26px}}
@media(max-width:760px){.rpShell{display:block}.rpLeft{display:none}.rpContent{padding:10px}.rpRaidHeader,.rpFightHead{align-items:flex-start;flex-direction:column}.rpTopControls,.rpFightActions{flex-wrap:wrap}.rpPlanCard{display:block}.rpMapWrap{grid-template-columns:1fr}.rpLegend{display:grid;grid-template-columns:repeat(4,1fr);border-left:0}.rpRight{grid-template-columns:1fr}.rpBuilder{grid-template-columns:1fr 1fr}.rpInstruction{grid-column:1/-1}.rpAssignTable{overflow-x:auto}.rpAssignHead,.rpAssignRow{min-width:760px}.rpMapWrap .map{height:330px}}

/* V8.90 — RAID PLANS PREMIUM DEPTH PASS */
.rpShell{
  --rp-bg:#070b0f;--rp-panel:#0b1218;--rp-panel2:#0e1821;--rp-edge:#263847;
  --rp-edge-hi:#3a5367;--rp-text:#edf3f7;--rp-muted:#8798a6;--rp-accent:#ff514c;
  background:
    radial-gradient(circle at 62% -12%,rgba(62,116,151,.14),transparent 30%),
    linear-gradient(180deg,#091018 0,#060a0e 72%);
}
.rpContent{background:linear-gradient(180deg,rgba(10,17,23,.96),rgba(5,9,13,.99));box-shadow:inset 1px 0 rgba(255,255,255,.025)}
.rpLeft{
  background:linear-gradient(180deg,#0c141c 0%,#070c11 100%);
  border-right:1px solid #253746;
  box-shadow:inset -1px 0 #000,8px 0 28px #0007;
}
.rpRaidHeader{
  background:linear-gradient(135deg,rgba(17,29,39,.98),rgba(7,13,18,.97));
  border:1px solid #2c4050;border-radius:7px;
  box-shadow:inset 0 1px rgba(255,255,255,.055),0 12px 30px #0008;
  padding:14px 16px;
}
.rpRaidHeader h2,.rpFightHead h2{letter-spacing:-.02em;text-shadow:0 2px 5px #000}
.rpBossTabs{
  background:#070d12;border:1px solid #1e303e;border-radius:7px;padding:3px;
  box-shadow:inset 0 1px 6px #000b,0 1px rgba(255,255,255,.025);
}
.rpBossTabs button{border-radius:4px;border:1px solid transparent;transition:.14s ease}
.rpBossTabs button:hover{background:#111e29;border-color:#2c4558}
.rpBossTabs button.active{
  background:linear-gradient(180deg,#22384a,#142532);border-color:#42627b;color:#fff;
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 0 16px #3b9ddd18;
}
.rpPanel,.rpPlanCard,.rpAssignTable,.rpRight section,.rpAdvanced{
  background:linear-gradient(180deg,rgba(14,24,32,.98),rgba(8,15,20,.99));
  border:1px solid #293d4c;border-radius:7px;
  box-shadow:inset 0 1px rgba(255,255,255,.045),inset 0 -1px #000,0 10px 24px #0006;
}
.rpFightHead{padding:15px 16px;border-bottom:1px solid #253847;background:linear-gradient(180deg,#101b24,#0b141b)}
.rpSubTabs{background:#0a1117;border-bottom:1px solid #263946;padding:0 12px}
.rpSubTabs button{position:relative;border:0;background:transparent}
.rpSubTabs button.active{background:linear-gradient(180deg,#172837,#10202c);color:#fff}
.rpSubTabs button.active:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:#4ebcff;box-shadow:0 0 10px #4ebcff88}
.rpPlanCard{overflow:hidden}
.rpMechanics{padding:16px;background:radial-gradient(circle at 15% 0,rgba(53,96,122,.09),transparent 35%)}
.rpMechanic{
  background:linear-gradient(180deg,#101b24,#0b141b);border:1px solid #243947;
  border-radius:5px;margin:6px 0;box-shadow:inset 0 1px rgba(255,255,255,.035);
}
.rpMechanic:hover{border-color:#38576c;background:linear-gradient(180deg,#14232e,#0d1820)}
.rpMapWrap{background:#070c10;border-left:1px solid #2a3d4c}
.rpMapWrap .map{
  border:1px solid #344d60;border-radius:6px;overflow:hidden;
  box-shadow:inset 0 0 35px #000b,0 7px 22px #0008,0 0 0 1px #000;
}
.rpLegend{background:linear-gradient(180deg,#0e1922,#091117);border-left:1px solid #293e4e}
.rpAssignments{margin-top:12px}
.rpAssignTable{overflow:hidden}
.rpAssignHead{
  background:linear-gradient(180deg,#172734,#111e28);
  border-bottom:1px solid #365064;box-shadow:inset 0 1px rgba(255,255,255,.045)
}
.rpAssignRow{background:linear-gradient(180deg,rgba(12,21,28,.96),rgba(8,15,20,.96));transition:.12s}
.rpAssignRow:nth-child(odd){background:linear-gradient(180deg,rgba(14,24,32,.96),rgba(9,17,23,.96))}
.rpAssignRow:hover{background:#142431;box-shadow:inset 3px 0 #4ab7f5}
.rpPlayer i,.rpMarkerGrid span{
  background:linear-gradient(180deg,#172632,#0d1820);border:1px solid #344c5e;
  box-shadow:inset 0 1px rgba(255,255,255,.055),0 2px 5px #0008;
}
.rpBuilder{
  background:linear-gradient(180deg,#101c25,#0a1218);border:1px solid #2d4353;border-radius:7px;
  box-shadow:inset 0 1px rgba(255,255,255,.045),0 7px 18px #0005;padding:12px;
}
.rpBuilder select,.rpBuilder input,.rpShell select,.rpShell input,.rpShell textarea{
  background:linear-gradient(180deg,#101a23,#0a1117);border:1px solid #304757;color:#e8f0f5;
  box-shadow:inset 0 2px 5px #0008,0 1px rgba(255,255,255,.025);border-radius:5px;
}
.rpBuilder select:focus,.rpBuilder input:focus,.rpShell select:focus,.rpShell input:focus,.rpShell textarea:focus{
  outline:none;border-color:#4e9bc8;box-shadow:0 0 0 2px #3b91c522,inset 0 2px 5px #0008;
}
.rpRight section{overflow:hidden}
.rpRight section>h3{padding-bottom:8px;border-bottom:1px solid #243846}
.rpRight button{
  background:linear-gradient(180deg,#14222d,#0d1820);border-color:#304858;
  box-shadow:inset 0 1px rgba(255,255,255,.04),0 3px 7px #0006;transition:.13s ease;
}
.rpRight button:hover{transform:translateY(-1px);border-color:#4b6c83;background:linear-gradient(180deg,#192d3b,#10202b)}
.rpShell .toolBtn,.rpShell .btn{
  background:linear-gradient(180deg,#172734,#0d1821);border:1px solid #385267;
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 3px 8px #0008;transition:.13s ease;
}
.rpShell .toolBtn:hover,.rpShell .btn:hover{transform:translateY(-1px);border-color:#5b819d;filter:brightness(1.08)}
.rpShell .btn{background:linear-gradient(180deg,#e74c48,#b92e2b);border-color:#ff6964;color:#fff}
.rpShell .tag{background:#101c25;border:1px solid #314959;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.rpShell .eyebrow{letter-spacing:.16em;text-shadow:0 0 12px #4ab7f544}

/* V8.91 — Forever cinematic raid art */
.rpForeverHero{
  position:relative;height:190px;margin:0 0 10px;border:1px solid #344b5c;border-radius:8px;overflow:hidden;
  background-image:var(--raid-art);background-size:cover;background-position:center 42%;
  box-shadow:inset 0 1px rgba(255,255,255,.08),inset 0 -45px 70px #05090de8,0 12px 30px #0009;
}
.rpForeverHero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05090dec 0%,#0710188c 38%,#07101822 67%,#05090db8 100%)}
.rpForeverHero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#53bdf2 22%,#d3b06c 50%,#53bdf2 78%,transparent);opacity:.72}
.rpForeverHeroShade{position:absolute;inset:0;background:radial-gradient(circle at 66% 35%,transparent 0 18%,#0000 30%,#0007 100%)}
.rpForeverHeroCopy{position:absolute;left:26px;bottom:23px;z-index:2;text-shadow:0 3px 12px #000}
.rpForeverHeroCopy span{font-size:8px;font-weight:900;letter-spacing:.22em;color:#8edaff}
.rpForeverHeroCopy h1{margin:3px 0 5px;font-family:Georgia,serif;font-size:34px;line-height:1;color:#f3f0e7;letter-spacing:.015em}
.rpForeverHeroCopy p{margin:0;font-size:9px;font-weight:800;letter-spacing:.1em;color:#c5d2da}
.rpForeverHeroCopy p i{display:inline-block;width:3px;height:3px;margin:0 8px;border-radius:50%;background:#d6b76d;vertical-align:middle}
.rpForeverBadge{position:absolute;right:20px;top:18px;z-index:2;text-align:right;font-size:7px;letter-spacing:.13em;color:#9dafbc;text-shadow:0 2px 8px #000}
.rpForeverBadge b{font-family:Georgia,serif;font-size:16px;letter-spacing:.16em;color:#d8bd7b}
.rpLeft .planpick{position:relative;overflow:hidden;box-shadow:inset 0 1px rgba(255,255,255,.035)}
.rpLeft .planpick.active{box-shadow:inset 3px 0 #54bdf3,inset 0 1px rgba(255,255,255,.07),0 0 16px #258dc329}
@media(max-width:760px){.rpForeverHero{height:145px}.rpForeverHeroCopy{left:16px;bottom:16px}.rpForeverHeroCopy h1{font-size:26px}.rpForeverBadge{display:none}}

/* V8.92 — reliable local raid image rendering */
.rpForeverHero{background:#081017!important}
.rpForeverHeroImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;z-index:0}
.rpForeverHero:before,.rpForeverHeroShade{z-index:1}
.rpForeverHeroCopy,.rpForeverBadge{z-index:3}

/* V8.94 — boss portraits + movable boss */
.rpBossPortrait{position:relative;height:145px;margin:-4px -4px 14px;overflow:hidden;border:1px solid #344b5c;border-radius:7px;background:#080d12;box-shadow:inset 0 0 30px #0009,0 8px 20px #0007}
.rpBossPortrait img{width:100%;height:100%;object-fit:cover;object-position:center 34%;display:block;filter:saturate(.9) contrast(1.05)}
.rpBossPortrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,#071018e8 100%)}
.rpBossPortrait>div{position:absolute;left:14px;bottom:11px;z-index:2;text-shadow:0 2px 8px #000}
.rpBossPortrait span,.rpBossPortrait b{display:block}.rpBossPortrait span{font-size:7px;letter-spacing:.18em;color:#7fd7ff}.rpBossPortrait b{font-family:Georgia,serif;font-size:21px;color:#f1eee6}
.mapDraggable{cursor:grab!important;touch-action:none}.mapDraggable:active{cursor:grabbing!important;box-shadow:0 0 0 5px #0b1116aa,0 0 30px #ff514c99!important}
.rpShell .map .mark,.rpShell .map .playerDot,.rpShell .map .mapLabel,.rpShell .map .zone{touch-action:none;cursor:grab}

/* V8.95 — clean map-first encounter design */
.rpBossPortrait{display:none!important}
.rpShell .map .boss,.rpShell .map .mark,.rpShell .map .playerDot,.rpShell .map .mapLabel,.rpShell .map .zone{touch-action:none}
.rpShell .map .boss.mapDraggable,.rpShell .map [onpointerdown]{cursor:grab}
.rpShell .map .boss.mapDraggable:active,.rpShell .map [onpointerdown]:active{cursor:grabbing}

/* V8.96 — approved raid planner reconstruction */
.rpEncounterCard{position:relative;height:150px;margin:-4px -4px 14px;border:1px solid #334b5c;border-radius:6px;overflow:hidden;background:#080d12;box-shadow:inset 0 0 25px #0009,0 8px 18px #0007}
.rpEncounterCard img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.rpEncounterCard:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#071018f2 100%)}
.rpEncounterTitle{position:absolute;z-index:2;left:13px;bottom:10px;text-shadow:0 2px 7px #000}.rpEncounterTitle span,.rpEncounterTitle b,.rpEncounterTitle small{display:block}.rpEncounterTitle span{font-size:8px;letter-spacing:.14em;color:#8bdcff}.rpEncounterTitle b{font:700 22px Georgia,serif;color:#fff}.rpEncounterTitle small{color:#b8c7d0}
.rpMapEditor{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0 0;padding:9px 10px;border:1px solid #2d4353;border-radius:7px;background:linear-gradient(180deg,#101c25,#091117);box-shadow:inset 0 1px #ffffff0c,0 7px 18px #0005}.rpMapEditor>span{font-size:9px;font-weight:900;letter-spacing:.14em;color:#7ddcff;margin-right:4px}.rpMapEditor small{margin-left:auto;color:#7f919e}.rpMapEditor .active{border-color:#d29a34!important;box-shadow:0 0 12px #d29a342c,inset 0 1px #ffffff12!important}
.rpMapWrap{position:relative}.rpPlanCard{grid-template-columns:minmax(260px,34%) minmax(0,66%)}.rpMapWrap .map{min-height:310px}
.rpMechanics{min-width:0}.rpAssignments{border:1px solid #293d4c;border-radius:7px;background:linear-gradient(180deg,#0d171f,#081016);padding:10px;box-shadow:inset 0 1px #ffffff0a,0 8px 20px #0005}
@media(max-width:1100px){.rpPlanCard{grid-template-columns:1fr}.rpEncounterCard{height:180px}.rpMapEditor small{width:100%;margin-left:0}}

/* V8.97 — command-center tightening */
.rpForeverHero{height:168px;background-position:center 53%}
.rpForeverHeroCopy{background:linear-gradient(90deg,#05090de8 0,#05090d90 72%,transparent);padding:12px 55px 12px 12px;border-radius:5px}
.rpForeverHeroCopy h1{font-size:31px}
.rpPlanCard{grid-template-columns:minmax(245px,29%) minmax(0,71%);align-items:stretch}
.rpMechanics{padding:11px}.rpEncounterCard{height:176px;margin:-1px -1px 12px}.rpEncounterCard img{object-position:center 42%}
.rpMapWrap{display:flex;flex-direction:column;background:#070c10;position:relative}
.rpMapEditor{margin:0;border-width:0 0 1px;border-radius:0;padding:8px 9px;min-height:42px}
.rpPhaseStrip{display:flex;align-items:center;gap:6px;padding:7px 9px;background:linear-gradient(180deg,#0e1922,#091117);border-bottom:1px solid #293e4e}
.rpPhaseStrip>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#7fdcff;margin-right:auto}
.rpPhaseStrip button{background:#0c1720;color:#aebcc6;border:1px solid #263c4c;border-radius:4px;padding:6px 12px;font-size:9px;font-weight:800}
.rpPhaseStrip button.active{color:#fff;border-color:#b98732;background:linear-gradient(180deg,#4a381c,#241c10);box-shadow:0 0 12px #d29a3428,inset 0 1px #ffffff10}
.rpMapWrap .map{min-height:365px;flex:1;border-width:0 0 1px;border-radius:0;margin:0 92px 0 0;box-shadow:inset 0 0 45px #000b}
.rpLegend{position:absolute;right:0;top:84px;bottom:0;width:92px;z-index:5;background:#091117ed;border-left:1px solid #293e4e;padding:10px 8px}
.rpAssignments{margin-top:8px}.rpBody{gap:10px}.rpRight{gap:8px}.rpRight section{margin:0}.rpFightHead{padding:11px 13px}.rpSectionHead{padding:5px 2px 9px}
@media(max-width:1100px){.rpPlanCard{grid-template-columns:1fr}.rpLegend{position:static;width:auto}.rpMapWrap .map{margin-right:0;min-height:330px}.rpForeverHero{height:150px}}

/* V8.98 — tactical editor interactions */
.raidMapMarker,.moveArrow{position:absolute;transform:translate(-50%,-50%);z-index:8;cursor:grab;user-select:none;touch-action:none}
.raidMapMarker{font-size:23px;filter:drop-shadow(0 3px 4px #000)}
.moveArrow{display:flex;align-items:center;gap:5px;color:#72d8ff;font-size:25px;text-shadow:0 2px 5px #000}.moveArrow span{font-size:9px;font-weight:900;letter-spacing:.08em;background:#09141cdd;border:1px solid #3b6c86;border-radius:4px;padding:3px 5px;color:#ccefff}
.selectedObj{outline:2px solid #ffd45c!important;outline-offset:4px;filter:drop-shadow(0 0 8px #ffc83d99)}
.editorDivider{height:24px;width:1px;background:#334856;margin:0 2px}.dangerBtn{border-color:#733!important;color:#ffaaa7!important}.savePlanBtn{border-color:#3f8269!important;color:#a7ffda!important;background:linear-gradient(180deg,#173629,#0d2119)!important}
.rpMapEditor small#mapSaveStatus{margin-left:0;color:#8effc8;font-weight:800;white-space:nowrap}
.rpShell .zone{min-width:95px;min-height:42px;border:1px dashed #ff5d58!important;background:#7a211f4d!important;border-radius:50%;display:flex;align-items:center;justify-content:center}

/* V8.99 — simple mob assignment planner */
.rpMapEditor.simple{gap:6px}.rpMapEditor.simple .savePlanBtn{margin-left:auto}
.encMob{position:absolute;transform:translate(-50%,-50%);z-index:12;min-width:82px;padding:5px 8px;background:#101922e8;border:1px solid #546979;border-radius:7px;color:#e8f1f6;box-shadow:0 5px 13px #000b;cursor:pointer;touch-action:none}
.encMob i,.encMob span,.encMob small{display:block}.encMob i{font-style:normal;color:#ff6d67}.encMob span{font-size:10px;font-weight:900}.encMob small{font-size:7px;color:#91a3af;text-transform:uppercase;letter-spacing:.08em}.encMob.selected{border-color:#f1bb50;box-shadow:0 0 0 2px #f1bb5029,0 0 18px #e5a93645}.encMob.bossMob{min-width:100px;border-color:#a94b48}.encMob.bossMob i{font-size:17px}
.mobAssignPanel{margin-top:8px;border:1px solid #2b4050;border-radius:7px;background:linear-gradient(180deg,#0e1820,#081016);box-shadow:inset 0 1px #ffffff0a,0 8px 20px #0005;overflow:hidden}.mobAssignHead{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid #293d4c;background:#0f1a23}.mobAssignHead h3{margin:2px 0}.simpleAssignBuilder{display:grid;grid-template-columns:1.1fr .8fr 1.1fr .7fr 1.5fr auto;gap:7px;padding:10px;background:#091219}.simpleAssignBuilder label{font-size:8px;font-weight:900;letter-spacing:.08em;color:#8da0ad}.simpleAssignBuilder input,.simpleAssignBuilder select{width:100%;margin-top:4px}.simpleAssignBuilder .btn{align-self:end;height:34px}.simpleAssignList{padding:7px 10px 10px}.simpleAssignList>div{display:grid;grid-template-columns:1fr .8fr 1fr .6fr 1.6fr 28px;gap:8px;align-items:center;padding:8px;border-bottom:1px solid #1f303d}.simpleAssignList b{color:#fff}.simpleAssignList span{color:#b8c8d2;font-size:10px}.simpleAssignList small{color:#8395a1}.simpleAssignList button{background:#241315;border:1px solid #663236;color:#ff918d;border-radius:4px}
@media(max-width:1150px){.simpleAssignBuilder{grid-template-columns:1fr 1fr}.simpleAssignBuilder .wide{grid-column:1/-1}.simpleAssignList>div{grid-template-columns:1fr 1fr}.simpleAssignList small{grid-column:1/-1}}

/* V9.00 — assignment matrix + optional tactical map */
.rpPage{max-width:1600px;margin:auto;padding:18px}.rpCommandBar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:12px}.rpCommandBar h1{margin:3px 0 0}.rpViewToggle{display:flex;background:#080f14;border:1px solid #2a3d4b;border-radius:7px;padding:3px}.rpViewToggle button{border:0;background:transparent;color:#8295a2;font-weight:900;font-size:10px;padding:9px 14px;border-radius:5px}.rpViewToggle button.active{background:#203240;color:#fff}.mxSheet,.mxMapShell{border:1px solid #2c414f;border-radius:8px;background:#081015;overflow:hidden}.mxTop,.mxMapTop{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:1px solid #293d4a;background:#101b23}.mxTop h2,.mxMapTop h2{margin:2px 0}.mxTop p,.mxMapTop p{margin:3px 0 0}.mxScroll{overflow:auto;max-width:100%}.mxTable{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}.mxTable th,.mxTable td{border-right:1px solid #20323e;border-bottom:1px solid #20323e;height:48px;padding:6px 8px}.mxTable thead th{position:sticky;top:0;z-index:4;background:#111d25;color:#dfeaf0;font-size:10px;min-width:150px}.mxTable thead th.selected{box-shadow:inset 0 -2px #dba94c}.mxTable thead th button{float:right;background:transparent;border:0;color:#71838e}.mxPlayer{position:sticky!important;left:0;z-index:3!important;min-width:155px!important;text-align:left;background:#0d171e!important}.mxPlayer b,.mxPlayer small{display:block}.mxPlayer small{font-size:8px;color:#718692;margin-top:2px}.mxRole{min-width:85px!important;width:85px;background:#0a141a}.rolePill{font-size:8px;font-weight:900;text-transform:uppercase;padding:4px 6px;border:1px solid #3a5363;border-radius:4px}.mxCell{background:#091218;padding:5px!important}.mxCell select{width:100%;height:34px;background:#0e1b23;border:1px solid #2c4352;color:#d9e5eb;border-radius:4px;font-size:10px;font-weight:800}.mxBlankHead,.mxBlankCell{color:#647782!important;font-style:italic}.mxEmpty{padding:70px 20px;text-align:center}.mxEmpty b,.mxEmpty span,.mxMapEmpty b,.mxMapEmpty span{display:block}.mxEmpty span,.mxMapEmpty span{color:#70838f;margin-top:5px}.mxMapLayout{display:grid;grid-template-columns:minmax(0,1fr) 260px;min-height:520px}.mxMap{position:relative;min-height:520px;background-color:#081117;background-image:linear-gradient(#1b2b351f 1px,transparent 1px),linear-gradient(90deg,#1b2b351f 1px,transparent 1px);background-size:32px 32px;overflow:hidden}.mxMapEmpty{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.mxMob{position:absolute;transform:translate(-50%,-50%);touch-action:none;min-width:105px;padding:8px 10px;border-radius:7px;border:1px solid #536c7c;background:#101d26e8;color:#eaf1f4;box-shadow:0 7px 16px #0009;cursor:grab}.mxMob.selected{border-color:#dda947}.mxMob i,.mxMob b,.mxMob small{display:block}.mxMob i{font-style:normal;color:#d66862}.mxMob small{font-size:8px;color:#7f949f}.mxInspector{border-left:1px solid #293e4b;background:#0b151b;padding:14px}.mxInspectRow{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #1d2e38;font-size:10px}.mxInspectRow span{color:#d6aa53}@media(max-width:850px){.rpCommandBar,.mxTop,.mxMapTop{align-items:flex-start;flex-direction:column}.mxMapLayout{grid-template-columns:1fr}.mxInspector{border-left:0;border-top:1px solid #293e4b}}
