:root{--bg:#0b0e11;--p:#13181e;--p2:#191f26;--b:#2b3540;--t:#f1eee6;--m:#9ca6b0;--g:#e2b45c;--gr:#7eb38d;--r:#ce746d;--bl:#7ea3c5}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--t);font:14px system-ui,-apple-system,Segoe UI,sans-serif}
button{font:inherit;cursor:pointer}.site{height:60px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--b)}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--t);font-weight:800}.mark{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--g);color:#17120a;font:800 12px Consolas}
.site nav a{color:var(--m);text-decoration:none;margin-left:18px;font-size:13px}.game{max-width:1450px;margin:auto;padding:14px}
.top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.top h1{margin:0;font-size:25px}.sub{color:var(--m);font-size:12px;margin-top:3px}
.res{display:flex;gap:7px;flex-wrap:wrap}.res span{background:var(--p);border:1px solid var(--b);border-radius:9px;padding:8px 10px;font-size:12px}.res strong{color:var(--g)}
.shell{display:grid;grid-template-columns:210px 1fr;gap:12px}.side{background:var(--p);border:1px solid var(--b);border-radius:12px;padding:8px;height:max-content;position:sticky;top:10px}
.nav{width:100%;text-align:left;border:0;background:transparent;color:var(--m);padding:11px;border-radius:8px;font-weight:700}.nav:hover,.nav.on{background:#211b11;color:var(--g)}
.page{display:none}.page.on{display:block}.panel{background:var(--p);border:1px solid var(--b);border-radius:12px;padding:14px}.panel+.panel{margin-top:12px}
.head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:11px}.head h2,.head h3{margin:0}.head p{margin:3px 0 0;color:var(--m);font-size:11px}
.btn{border:1px solid #3b4854;background:var(--p2);color:var(--t);border-radius:8px;padding:8px 10px;font-weight:700;font-size:12px}.btn.gold{background:var(--g);border-color:var(--g);color:#17120a}.btn:disabled{opacity:.4;cursor:not-allowed}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.card{background:#0f1419;border:1px solid var(--b);border-radius:10px;padding:10px}.name{font-weight:800}.muted{color:var(--m);font-size:11px;line-height:1.45}.chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.chip{border:1px solid var(--b);border-radius:999px;padding:3px 6px;color:var(--m);font-size:10px}
.hero{cursor:pointer}.hero.on{border-color:var(--g)}.portrait{width:52px;height:52px;border:1px solid var(--b);background:var(--p2);border-radius:11px;display:grid;place-items:center;font-size:25px;overflow:hidden}
.visualIcon{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--b);border-radius:10px;background:var(--p2);font-size:25px;flex:0 0 auto}
.questVisual{height:82px;border:1px solid var(--b);border-radius:9px;margin-bottom:9px;display:flex;align-items:center;justify-content:center;font-size:42px;background:linear-gradient(135deg,#111820,#17150f)}
.itemVisual{height:72px;border:1px solid var(--b);border-radius:9px;margin-bottom:8px;display:grid;place-items:center;font-size:34px;background:#0b1015}
.partyMember{display:flex!important;align-items:center;gap:5px!important}
.partyMember .miniClass{font-size:13px}
.combatant{display:grid;grid-template-columns:50px 1fr;gap:9px;align-items:center;border:1px solid var(--b);border-radius:10px;padding:8px;background:#0c1116}
.combatGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.combatSide{display:grid;gap:7px}
.hpTrack{height:8px;border:1px solid var(--b);border-radius:999px;overflow:hidden;background:#070a0d;margin-top:5px}
.hpFill{height:100%;background:var(--gr)}
.enemy .hpFill{background:var(--r)}
.lootStash{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}
.lootBox{border:1px solid var(--b);border-radius:8px;padding:8px;background:#0a0f13}
.lootBox span{display:block;color:var(--m);font-size:9px;text-transform:uppercase}
.lootBox strong{display:block;margin-top:3px}
.dangerText{color:var(--r)}
.healText{color:var(--gr)}
.expeditionCard{cursor:pointer}
.expeditionCard:hover{border-color:#53616d}
.noticeStack{position:fixed;right:18px;bottom:18px;z-index:90;display:grid;gap:8px;max-width:min(380px,calc(100vw - 36px))}
.notice{background:#171d23;border:1px solid #485561;border-radius:10px;padding:11px 13px;box-shadow:0 15px 45px #0009;animation:noticeIn .16s ease-out}
.notice.bad{border-color:#744845}.notice.good{border-color:#41664c}.notice b{display:block;font-size:12px}.notice span{display:block;color:var(--m);font-size:11px;margin-top:2px}
@keyframes noticeIn{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.heroTop{display:flex;gap:9px;align-items:center}.power{display:flex;justify-content:space-between;margin-top:8px;color:var(--m);font-size:10px}.power strong{color:var(--t)}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}.stat{border:1px solid var(--b);border-radius:8px;padding:8px;background:#0c1014}.stat span{color:var(--m);font-size:9px;text-transform:uppercase}.stat strong{display:block;font-size:17px;margin-top:3px}
.roster,.quests,.inventory,.recipes,.active,.upgrades{display:grid;gap:9px}.roster{grid-template-columns:repeat(3,1fr)}.quests,.active{grid-template-columns:repeat(2,1fr)}.inventory{grid-template-columns:repeat(4,1fr)}.recipes,.upgrades{grid-template-columns:repeat(3,1fr)}
.party{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.party button{border:1px solid var(--b);background:#0b0f13;color:var(--m);border-radius:999px;padding:5px 7px;font-size:10px}.party button.on{border-color:var(--g);color:var(--g)}
.timer{color:var(--g);font:700 12px Consolas}
.progressWrap{margin-top:9px}
.progressMeta{display:flex;justify-content:space-between;gap:10px;color:var(--m);font-size:10px;margin-bottom:5px}
.progressTrack{height:10px;background:#080b0e;border:1px solid var(--b);border-radius:999px;overflow:hidden}
.progressFill{height:100%;width:0;background:var(--g);transition:none;will-change:width}
.saveState{color:var(--m);font-size:11px;margin-top:8px}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.slot{border:1px solid var(--b);border-radius:8px;padding:8px;min-height:58px;cursor:pointer}.slot small{color:var(--m)}.slot b{display:block;margin-top:4px;font-size:11px}
.log{background:#090c0f;border:1px solid var(--b);border-radius:9px;padding:9px;max-height:260px;overflow:auto;font:11px/1.55 Consolas;color:#aeb7c0}.good{color:#8ac79a}.bad{color:#df857d}.rare{color:#7cace0}.epic{color:#b48bdd}.legendary{color:#e5b85f}
.modalBg{position:fixed;inset:0;background:#000b;display:none;align-items:center;justify-content:center;padding:18px;z-index:20}.modalBg.on{display:flex}.modal{width:min(720px,100%);max-height:85vh;overflow:auto;background:var(--p);border:1px solid #44515d;border-radius:13px;padding:14px}
.empty{text-align:center;color:var(--m);padding:22px;border:1px dashed var(--b);border-radius:9px}.mats{display:flex;gap:7px;flex-wrap:wrap}.mat{border:1px solid var(--b);border-radius:8px;padding:7px 9px}.mat b{color:var(--g)}
#mealInventory .mat{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:10px;align-items:center;flex:1 1 300px;max-width:520px;background:rgba(20,15,10,.45)}
#mealInventory .mat small{display:block;color:var(--m);margin-top:3px;line-height:1.35}
#cookingRecipes.recipes{display:block!important}
#cookingRecipes .recipeCategory{width:100%;margin-bottom:10px}
#cookingRecipes .recipeCategoryBody{grid-template-columns:1fr!important}
#cookingRecipes .recipeItemInformation{grid-template-columns:1fr!important}
#cookingRecipes .recipeProfileList span{white-space:normal;overflow-wrap:anywhere}
@media(max-width:800px){#cookingRecipes .recipeDetailLayout{grid-template-columns:1fr!important}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.side{position:static;display:flex;overflow:auto}.nav{width:auto;white-space:nowrap}.g2,.quests,.active{grid-template-columns:1fr}.roster{grid-template-columns:repeat(2,1fr)}.inventory,.recipes,.upgrades{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.top{align-items:flex-start;flex-direction:column}.roster,.inventory,.recipes,.upgrades,.g4,.stats{grid-template-columns:1fr}}

.gameAsset{width:1.35em;height:1.35em;object-fit:contain;display:inline-block;vertical-align:middle}
.gameAsset.portraitAsset{width:42px;height:42px}
.gameAsset.itemAsset{width:48px;height:48px}
.gameAsset.combatAsset{width:42px;height:42px}
.gameAsset.areaAsset{width:40px;height:40px}
.iconFallback{display:inline-flex;align-items:center;justify-content:center}

:root{
  --bg:#17140f;--bg2:#211b13;--paper:#3b3020;--paper2:#2d251a;
  --ink:#eadbb8;--ink2:#cdbb91;--muted:#9f8f6d;--line:#6a5434;
  --gold:#c99a45;--gold2:#e3bb6d;--green:#8fa36c;--red:#b76f5e;
  --shadow:#0c0a07;--radius:3px;
  --ui-pixel:"Cascadia Mono","Lucida Console",Consolas,"Courier New",monospace;
}
html,body{background:#17140f!important}
body{
  color:var(--ink)!important;
  background:
    radial-gradient(circle at 18% 10%,rgba(151,111,58,.08),transparent 30%),
    radial-gradient(circle at 82% 85%,rgba(89,60,30,.10),transparent 35%),
    linear-gradient(180deg,#211b13,#17140f)!important;
  font-family:Georgia,"Times New Roman",serif!important;
}
.site{
  background:#12100c!important;
  border-bottom:1px solid #4b3a25!important;
  box-shadow:0 3px 0 #080706!important;
}
.brand{color:#e8d8b3!important}
.mark{color:var(--gold2)!important}
.site nav a{color:#9f8f6d!important}
.site nav a:hover{color:#e3bb6d!important}
.top{
  background:linear-gradient(180deg,rgba(111,79,43,.18),transparent),#2d251a!important;
  border:1px solid #80623b!important;
  border-bottom:3px solid #17110b!important;
  border-radius:3px!important;
  box-shadow:2px 2px 0 #0d0b08,inset 0 0 0 1px rgba(255,242,212,.03)!important;
}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif!important;color:#e8d3a6!important}
.sub,.muted,p{color:#9f8f6d!important}
.res span,.chip,.mat{
  background:#241d15!important;color:#cdbb91!important;border:1px solid #6a5434!important;
  border-radius:2px!important;box-shadow:none!important
}
.res strong{color:#e3bb6d!important}
.side{
  background:#17130e!important;border:1px solid #4b3924!important;
  box-shadow:2px 2px 0 #0d0b08!important;border-radius:2px!important
}
.nav{
  color:#a89979!important;background:transparent!important;
  border-color:rgba(108,82,49,.34)!important
}
.nav:hover{background:#241b12!important;color:#dfc691!important}
.nav.on{
  color:#f0d79b!important;background:linear-gradient(90deg,#4a351d,#2a2117)!important;
  border-left:3px solid #c99a45!important
}
.panel{
  background:linear-gradient(180deg,rgba(121,89,49,.08),transparent 55px),#2d251a!important;
  border:1px solid #6a5434!important;border-top-color:#85683f!important;
  border-radius:3px!important;box-shadow:2px 2px 0 #0d0b08,inset 0 0 0 1px rgba(255,243,213,.025)!important
}
.head{border-bottom:1px solid rgba(121,93,55,.45)!important}
.card{
  background:linear-gradient(180deg,rgba(219,182,114,.035),transparent 50px),#241d14!important;
  border:1px solid #5f482d!important;border-radius:2px!important;
  box-shadow:1px 2px 0 #100d09,inset 0 0 0 1px rgba(255,255,255,.018)!important
}
.card:hover{border-color:#8a693e!important}
.card.hero.on{border-color:#c99a45!important;box-shadow:0 0 0 1px #6f522c,2px 3px 0 #100d09!important}
.name{color:#ead5a9!important}
.good{color:#a7b982!important}
.bad{color:#cf8574!important}
.power,.power span{color:#9f8f6d!important}
.power strong{color:#d8bd80!important}
.btn{
  background:#2e2418!important;color:#c9b68d!important;border:1px solid #6b5232!important;
  border-radius:2px!important;box-shadow:1px 1px 0 #100d09!important
}
.btn:hover{background:#3a2b1b!important;border-color:#927043!important;color:#ead4a5!important}
.btn.gold,.btn.on{
  background:linear-gradient(180deg,#785626,#543a1b)!important;
  border-color:#a67937!important;color:#f0d698!important
}
.stat{
  background:#1d1811!important;border:1px solid #4e3c27!important;border-radius:2px!important
}
.stat span,.stat small{color:#9f8f6d!important}.stat strong{color:#dbc38f!important}
.portrait,.miniClass,.itemVisual,.questVisual,.visualIcon{
  background:#17130e!important;border:1px solid #61492d!important;
  border-radius:2px!important;image-rendering:pixelated!important
}
.gameAsset,img.gameAsset{
  image-rendering:pixelated!important;image-rendering:crisp-edges!important
}
.slot{
  background:#1c1711!important;border:1px dashed #685135!important;border-radius:0!important
}
.slot:hover{background:#251c12!important;border-color:#ad8248!important}
.progressTrack{background:#15110d!important;border:1px solid #59442c!important}
.progressFill{background:repeating-linear-gradient(90deg,#a27c3f 0 6px,#c79c55 6px 10px)!important}
.partyMember{
  background:#1b1610!important;color:#c8b58b!important;border:1px solid #54412b!important;border-radius:0!important
}
.partyMember.on{background:#342615!important;border-color:#b1864a!important;color:#efd59a!important}
.log{color:#a99876!important}
.empty{background:#19150f!important;border-color:#5b452d!important;color:#8f8064!important}
.modal{background:rgba(8,7,5,.80)!important}
.modalBox{
  background:linear-gradient(180deg,rgba(129,93,47,.10),transparent 70px),#2a2117!important;
  border:1px solid #8b683a!important;box-shadow:6px 7px 0 #0b0907!important;border-radius:2px!important
}
.notice{background:#2c2117!important;border-color:#7b5b35!important;box-shadow:3px 3px 0 #100d09!important}
input,select,textarea{
  background:#17130e!important;color:#e3d0a5!important;border:1px solid #675036!important;border-radius:2px!important
}
input:focus,select:focus,textarea:focus{border-color:#b28448!important}
input[type=range]{accent-color:#b58445!important}
code{background:#18130e!important;border:1px solid #4a3926!important;color:#cdb27b!important}
::-webkit-scrollbar-track{background:#15110d}::-webkit-scrollbar-thumb{background:#574127;border:2px solid #15110d}

body{
  background-color:#17140f!important;
  background-image:
    linear-gradient(rgba(18,14,9,.68),rgba(18,14,9,.78)),
    var(--guildhall-bg,none)!important;
  background-position:center center!important;
  background-size:cover!important;
  background-attachment:fixed!important;
  background-repeat:no-repeat!important;
}
.game,.site{position:relative}
.page>.panel,.top{backdrop-filter:blur(1px)}
.uncommon{color:#9fca8c!important}
.rare{color:#77baf2!important}
.epic{color:#c993f0!important}
.legendary{color:#ffd36f!important;text-shadow:0 0 8px rgba(255,191,67,.42)}
.mythic{color:#ff91d7!important;text-shadow:0 0 9px rgba(255,73,184,.48)}
.unique{color:#d68b43!important;text-shadow:0 0 9px rgba(221,111,35,.62)}
.card:has(.name.uncommon){border-color:#587a4d!important;box-shadow:0 0 0 1px rgba(111,162,93,.18),1px 2px 0 #100d09!important}
.card:has(.name.rare){border-color:#3f79aa!important;box-shadow:0 0 0 1px rgba(83,160,221,.25),1px 2px 0 #100d09!important}
.card:has(.name.epic){border-color:#8758a8!important;box-shadow:0 0 0 2px rgba(171,99,220,.23),1px 2px 0 #100d09!important}
.card:has(.name.legendary){border-color:#d19a31!important;box-shadow:0 0 0 2px rgba(236,176,55,.34),0 0 15px rgba(219,151,27,.15),2px 3px 0 #100d09!important}
.card:has(.name.mythic){border-color:#d85eae!important;box-shadow:0 0 0 2px rgba(233,84,179,.38),0 0 18px rgba(204,56,154,.18),2px 3px 0 #100d09!important}
.card:has(.name.unique){border-color:#d77728!important;box-shadow:0 0 0 2px rgba(215,119,40,.42),0 0 22px rgba(215,92,30,.24),2px 3px 0 #100d09!important}
.equipCompare{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.equipTargetChoice{margin-top:8px;padding-top:8px;border-top:1px solid rgba(121,93,55,.35)}
.equipGain,.equipLoss,.equipSame{font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;padding:3px 6px;border-radius:2px}
.equipGain{color:#a9d797;background:rgba(72,116,58,.18);border:1px solid rgba(112,162,91,.42)}
.equipLoss{color:#df8f80;background:rgba(126,61,49,.18);border:1px solid rgba(172,83,66,.42)}
.equipSame{color:#a99a7d;border:1px solid rgba(120,96,62,.30)}


.rosterPageLayout{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(330px,.9fr);gap:12px;align-items:start}
.rosterListPanel{min-width:0}
.rosterDetailPanel{position:sticky;top:10px;max-height:calc(100vh - 24px);overflow:auto;min-width:0}
.rosterSortControls{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.rosterSortControls select{min-width:135px;padding:7px 8px}
.compactRoster{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.compactRoster .hero{padding:7px!important;min-height:72px}
.compactRoster .portrait{width:42px!important;height:42px!important;flex:0 0 42px}
.compactRoster .heroTop{gap:7px!important}
.compactRoster .name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compactRoster .muted{font-size:9px!important}
.compactRoster .power{margin-top:5px!important;font-size:9px!important;gap:5px}
.compactRoster .power span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compactRoster .power strong{font-size:10px}
.detailHeader{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.detailIdentity{display:flex;gap:9px;align-items:center;min-width:0}
.detailIdentity h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.detailActions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.detailSection{margin-top:12px;padding-top:10px;border-top:1px solid rgba(121,93,55,.45)}
.detailSection h3{margin-bottom:7px}
.detailStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.detailStats .stat{padding:6px!important}
.detailStats .stat strong{font-size:14px!important}
.detailEquipment{display:grid;gap:6px}
.detailEquipRow{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:7px;align-items:center;background:#1c1711;border:1px solid #5a452d;padding:6px;cursor:pointer}
.detailEquipRow:hover{border-color:#ad8248;background:#251c12}
.detailEquipIcon{width:38px;height:38px;display:grid;place-items:center;background:#17130e;border:1px solid #61492d;overflow:hidden}
.detailEquipText{min-width:0}
.detailEquipText b,.detailEquipText small{display:block}
.detailEquipText b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.detailEquipText small{color:var(--muted);font-size:9px;line-height:1.3}
.detailSkillCard{background:#1d1811;border:1px solid #4e3c27;padding:7px;margin-top:5px}
.detailSkillCard b{display:block;color:#dbc38f;font-size:11px;margin-bottom:3px}
.detailSkillCard span{display:block;color:var(--muted);font-size:9px;line-height:1.4}
.detailGathering{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.detailGathering .stat{padding:6px!important}
.inventoryItemCard{aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:flex-start;min-width:0;padding:8px!important}
.inventoryItemCard .itemVisual{width:52px!important;height:52px!important;min-height:52px!important;margin:0 auto 7px!important}
.inventoryItemCard .name{font-size:12px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inventoryItemCard .muted{text-align:center;font-size:9px!important;margin-top:2px}
.inventoryItemCard .good{font-size:9px;line-height:1.35;margin-top:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
#items.inventory{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}
@media(max-width:1250px){
  .rosterPageLayout{grid-template-columns:minmax(0,1.75fr) minmax(315px,1fr)}
  .compactRoster{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #items.inventory{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .rosterPageLayout{grid-template-columns:1fr}
  .rosterDetailPanel{position:static;max-height:none}
  .compactRoster{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #items.inventory{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:600px){
  .compactRoster,#items.inventory{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .detailStats{grid-template-columns:repeat(2,minmax(0,1fr))}
}


html{min-height:100%;background:#17140f!important}
body{min-height:100vh!important}
.game{min-height:calc(100vh - 60px)}
.shell{min-height:calc(100vh - 145px)}

#items.inventory{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,140px)!important;
  grid-auto-rows:140px!important;
  justify-content:start!important;
  align-items:start!important;
  gap:8px!important;
}
.inventoryItemCard{
  width:140px!important;
  height:140px!important;
  min-height:140px!important;
  aspect-ratio:auto!important;
  padding:7px!important;
  overflow:hidden!important;
}
.inventoryItemCard .itemVisual{
  width:42px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0 auto 5px!important;
}
.inventoryItemCard .name{font-size:11px!important}
.inventoryItemCard .muted{font-size:8px!important}
.inventoryItemCard .good{
  font-size:8px!important;
  line-height:1.25!important;
  margin-top:4px!important;
  -webkit-line-clamp:3!important;
}

#combatModal .modal{
  width:min(980px,98vw)!important;
  height:min(820px,96vh)!important;
  max-height:min(820px,96vh)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
#combatModal .head{flex:0 0 auto}
#combatBody{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.combatFixedTop{flex:0 0 auto}
.combatLog{
  flex:1 1 auto!important;
  min-height:130px!important;
  max-height:none!important;
  overflow-y:auto!important;
  margin-top:10px!important;
  padding-right:4px;
}
.combatant .visualIcon img,
.combatant .visualIcon .gameAsset{
  image-rendering:pixelated!important;
}
.upgradeResourceProgress{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin-top:8px;
}
.upgradeResourceProgress .enough{color:#a7b982!important;border-color:#5d7048!important}
.upgradeResourceProgress .missing{color:#df8f80!important;border-color:#865044!important}
@media(max-width:600px){
  #items.inventory{
    grid-template-columns:repeat(auto-fill,118px)!important;
    grid-auto-rows:118px!important;
  }
  .inventoryItemCard{width:118px!important;height:118px!important;min-height:118px!important}
  .inventoryItemCard .itemVisual{width:36px!important;height:36px!important;min-height:36px!important}
}


html,body{height:100%!important;min-height:100%!important;overflow:hidden!important}
body{min-height:100vh!important}
.game{
  height:calc(100vh - 60px)!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.top{flex:0 0 auto!important}
.shell{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
}
.side{
  max-height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
main{
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.page.on{
  display:block!important;
  height:100%!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:4px;
  overscroll-behavior:contain;
}
body.windowOpen .page.on{overflow:hidden!important}
body.windowOpen .side{overflow:hidden!important}

.inventoryItemCard .name{font-size:13px!important;line-height:1.15!important}
.inventoryItemCard .muted{font-size:10px!important;line-height:1.2!important}
.inventoryItemCard .good{
  font-size:10px!important;
  line-height:1.3!important;
  -webkit-line-clamp:3!important;
}
.compactRoster .name{font-size:13px!important}
.compactRoster .muted{font-size:10px!important}
.compactRoster .power{font-size:10px!important}
.compactRoster .power strong{font-size:11px!important}

.modalBg{overscroll-behavior:contain}
.modalBg .modal{overscroll-behavior:contain}


.questScene{
  width:100%;
  height:128px;
  margin-bottom:9px;
  border:1px solid #6a5434;
  background-color:#17130e;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  overflow:hidden;
  box-shadow:inset 0 0 18px rgba(0,0,0,.28);
}
.quest.card{overflow:hidden}
.itemVisual{overflow:hidden!important;position:relative!important}
.itemVisual>.iconFallback,
.itemVisual .gameAsset,
.itemVisual img{
  max-width:100%!important;
  max-height:100%!important;
}
.itemVisual>.iconFallback{
  width:100%!important;
  height:100%!important;
}
.itemVisual img{
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
}
.inventoryItemCard{overflow:hidden!important}
.inventoryItemCard .itemVisual{flex:0 0 auto}


.upgradeCard{
  position:relative;
  padding:12px!important;
}
.upgradeHeader{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:3px;
}
.upgradeHeader .name{
  font-size:16px!important;
}
.upgradeLevel{
  padding:3px 7px!important;
  font-weight:700;
  flex:0 0 auto;
}
.upgradeDesc{
  margin-bottom:10px;
  line-height:1.35;
}
.upgradeCosts{
  display:grid;
  gap:6px;
  margin-top:8px;
  padding-right:112px;
}
.upgradeCosts .chip{
  width:max-content;
  max-width:100%;
}
.upgradeAction{
  position:absolute;
  right:10px;
  bottom:10px;
  min-width:96px;
}
.upgradeGold.enough,
.upgradeResourceProgress .enough{
  color:#a7b982!important;
  border-color:#5d7048!important;
}
.upgradeGold.missing,
.upgradeResourceProgress .missing{
  color:#df8f80!important;
  border-color:#865044!important;
}
@media(max-width:700px){
  .upgradeCosts{padding-right:0;padding-bottom:48px}
  .upgradeAction{right:10px;bottom:10px}
}


.actionCard{
  position:relative;
  min-height:118px;
  padding-right:126px!important;
}
.actionCard .actionButton{
  position:absolute;
  right:10px;
  bottom:10px;
  min-width:104px;
}
.actionRow{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-end;
  margin-top:10px;
}
.actionRowInfo{min-width:0;flex:1 1 auto}
.actionRowButtons{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex:0 0 auto;
}
.actionRowButtons .btn{min-width:96px}
.modalActionRow{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.recruitActionCard{padding-right:118px!important}
.recruitActionCard .recruitActionButton{
  position:absolute;
  right:10px;
  bottom:10px;
  min-width:96px;
}
.activeMissionHeader{
  display:flex;
  align-items:flex-end;
  gap:12px;
  justify-content:flex-start!important;
}
.activeMissionHeader>div{flex:0 1 auto!important}
.activeMissionHeader .claimAllButton{margin-left:0}
.marketActionCard,.recipeActionCard,.runeActionCard,.equipActionCard{
  position:relative;
  padding-right:116px!important;
  min-height:112px;
}
.marketActionCard .actionButton,
.recipeActionCard .actionButton,
.runeActionCard .actionButton,
.equipActionCard .actionButton{
  position:absolute;
  right:10px;
  bottom:10px;
  min-width:96px;
}
@media(max-width:700px){
  .actionCard,.recruitActionCard,.marketActionCard,.recipeActionCard,.runeActionCard,.equipActionCard{
    padding-right:10px!important;
    padding-bottom:56px!important;
  }
  .actionCard .actionButton,
  .recruitActionCard .recruitActionButton,
  .marketActionCard .actionButton,
  .recipeActionCard .actionButton,
  .runeActionCard .actionButton,
  .equipActionCard .actionButton{
    right:10px;
    bottom:10px;
  }
  .actionRow{align-items:stretch;flex-direction:column}
  .actionRowButtons{justify-content:flex-end}
}


/* Activity scene art must always span the full card width. The action button only
   occupies the lower information area. */
.quest.actionCard{
  padding:10px!important;
  padding-bottom:58px!important;
}
.quest.actionCard .questScene{
  width:100%!important;
  max-width:none!important;
  margin-right:0!important;
}
.quest.actionCard .actionButton{
  right:10px;
  bottom:10px;
}

/* Guild Hall activity dashboard */
.guildActivityDashboard{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
}
.guildActivityColumn{min-width:0}
.guildActivityColumn .active{
  grid-template-columns:1fr!important;
}
.guildActivityHead{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start!important;
  gap:10px;
}
.guildActivityHead>div{flex:0 1 auto}
.guildActivityHead .btn{flex:0 0 auto}

/* Compact crafting recipe cards */
#recipeList.recipes{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.recipeCompact{
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:8px 10px;
  padding:9px!important;
  min-height:178px!important;
  padding-right:9px!important;
}
.recipeCompactMain{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-width:0;
}
.recipeCompact .itemVisual{
  width:72px!important;
  height:72px!important;
  min-height:72px!important;
  margin:0 0 5px!important;
}
.recipeCompact .name{
  font-size:13px!important;
  line-height:1.1;
}
.recipeCompact .muted{
  font-size:10px!important;
  line-height:1.2;
}
.recipeCompactInfo{
  min-width:0;
}
.recipeStatGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
}
.recipeStatGrid .chip{
  width:100%;
  padding:5px 7px!important;
  font-size:11px!important;
}
.recipeCompactFooter{
  grid-column:1/-1;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:8px;
  border-top:1px solid rgba(121,93,55,.35);
  padding-top:7px;
}
.recipeMaterials{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  min-width:0;
}
.recipeMaterials .chip{
  font-size:10px!important;
  padding:4px 6px!important;
}
.recipeCompactFooter .btn{
  flex:0 0 auto;
  min-width:100px;
}

/* Stat colors */
.statSTR{color:#e26f62!important;font-weight:700}
.statDEX{color:#84bf72!important;font-weight:700}
.statINT{color:#6fa9e8!important;font-weight:700}

@media(max-width:1100px){
  .guildActivityDashboard{grid-template-columns:1fr}
  #recipeList.recipes{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
  #recipeList.recipes{grid-template-columns:1fr!important}
}


#roster.page.on{overflow:hidden!important}
.rosterPageLayout{height:100%!important;min-height:0!important;align-items:stretch!important}
.rosterListPanel,.rosterDetailPanel{height:100%!important;max-height:none!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain}
.rosterDetailPanel{position:static!important}

/* Character presentation and workshop workspace refinements. */
.detailIdentity{padding-left:2px;overflow:visible!important}
.detailIdentity>.portrait{width:48px!important;height:48px!important;flex:0 0 48px!important;overflow:hidden!important}
.characterRarity.rarityBorder-uncommon{border-color:#587a4d!important}
.characterRarity.rarityBorder-rare{border-color:#3f79aa!important;box-shadow:0 0 0 1px rgba(83,160,221,.2),1px 2px 0 #100d09!important}
.characterRarity.rarityBorder-epic{border-color:#8758a8!important;box-shadow:0 0 0 1px rgba(171,99,220,.22),1px 2px 0 #100d09!important}
.characterRarity.rarityBorder-legendary{border-color:#d19a31!important;box-shadow:0 0 0 1px rgba(236,176,55,.28),1px 2px 0 #100d09!important}
.characterRarity.rarityBorder-mythic{border-color:#d85eae!important;box-shadow:0 0 0 1px rgba(233,84,179,.3),1px 2px 0 #100d09!important}

.inventoryItemCard{position:relative}
.runeSlotRow{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}
.inventoryItemCard .runeSlotRow{position:absolute;top:7px;right:7px;margin:0;flex-direction:column}
.runeSocket{width:24px;height:24px;display:grid;place-items:center;border:1px solid #655036;background:#17130e}
.runeSocket.filled{border-color:#a9854d;background:#271e13}
.runeSocket .gameAsset,.runeSocket img{max-width:20px!important;max-height:20px!important}
.runeDetailRow{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid rgba(121,93,55,.32);font-size:11px}

.expeditionCard.failedMission{border-color:#a54d40!important;background:linear-gradient(180deg,rgba(135,42,35,.16),transparent 60px),#281914!important;box-shadow:0 0 0 1px rgba(183,69,56,.28),2px 3px 0 #100d09!important}
.failedMission [data-active-defeated]{background:#54251f!important;border-color:#a54d40!important;color:#f0a394!important}
.harvestCard.cappedHarvest{border-color:#a54d40!important;box-shadow:0 0 0 1px rgba(183,69,56,.25),1px 2px 0 #100d09!important}
.harvestCard.cappedHarvest .progressFill{background:#a94e40!important}
.harvestCapText{color:#df8f80!important;font-weight:700}
.harvestProgress{margin-top:9px}
#upgradeList.upgrades{display:grid!important}


#recipeList.recipes{display:block!important}
.recipeCategory{
  border:1px solid #654d30;
  background:#18130e;
  margin-bottom:8px;
  overflow:hidden;
}
.recipeCategoryHeader{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:7px 9px;
  cursor:pointer;
  background:linear-gradient(180deg,rgba(177,128,63,.08),transparent),#241c13;
  border-bottom:1px solid transparent;
}
.recipeCategoryHeader:hover{background:#2c2116}
.recipeCategory.open .recipeCategoryHeader{border-bottom-color:#654d30}
.recipeCategoryArrow{width:18px;text-align:center;color:#c99a45;font-weight:700}
.recipeCategoryName{font-size:14px;font-weight:700;color:#ead5a9}
.recipeCategoryCount{margin-left:auto;color:#9f8f6d;font-size:10px}
.recipeCategoryBody{padding:5px;display:grid;gap:4px}

.recipeLine{
  border:1px solid #51402a;
  background:#211a12;
  overflow:hidden;
  transition:filter .12s ease,opacity .12s ease,background .12s ease;
}
.recipeLine.unaffordable{
  background:#1b1b19;
  filter:saturate(.35);
  opacity:.72;
}
.recipeLine.unaffordable:hover{
  opacity:.86;
}
.recipeLineHeader{
  display:grid;
  grid-template-columns:44px minmax(180px,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:6px 9px;
  cursor:pointer;
}
.recipeLineHeader:hover{background:#2a2015}
.recipeLineIcon{
  width:40px;height:40px;
  display:grid;place-items:center;
  border:1px solid #5e482d;
  background:#17130e;
  overflow:hidden;
}
.recipeLineIcon .gameAsset,.recipeLineIcon img{
  max-width:36px!important;
  max-height:36px!important;
}
.recipeLineName{
  font-weight:700;
  color:#ead5a9;
  font-size:14px;
  line-height:1.1;
}
.recipeLineType{
  font-size:11px;
  color:#a9997b;
  margin-top:2px;
}
.recipeLineStatus{
  font-size:11px;
  color:#cdbb91;
  white-space:nowrap;
}
.recipeChevron{
  font-size:14px;
  color:#c99a45;
  width:18px;
  text-align:center;
}
.recipeLineDetails{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  column-gap:14px;
  row-gap:9px;
  padding:10px 10px 11px 62px;
  border-top:1px solid rgba(121,93,55,.35);
  background:#1b160f;
  min-height:104px;
}
.recipeDetailStats{
  grid-column:1;
  grid-row:1;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:flex-start;
}
.recipeDetailMaterials{
  grid-column:1;
  grid-row:2;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:flex-end;
}
.recipeLineAction{
  grid-column:2;
  grid-row:1 / 3;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  min-width:112px;
}
.recipeLineDetails .chip{
  font-size:11px!important;
  padding:5px 7px!important;
  line-height:1.25;
}
.recipeLineDetails .chip.missing{
  color:#df8f80!important;
  border-color:#865044!important;
}
.recipeLineDetails .chip.enough{
  color:#a7b982!important;
  border-color:#5d7048!important;
}
.recipeLineAction .btn{
  min-width:106px;
  padding:8px 11px!important;
  font-size:12px!important;
}
@media(max-width:700px){
  .recipeLineHeader{grid-template-columns:40px minmax(0,1fr) auto}
  .recipeLineStatus{display:none}
  .recipeLineDetails{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    padding-left:10px;
  }
  .recipeDetailStats{grid-column:1;grid-row:1}
  .recipeDetailMaterials{grid-column:1;grid-row:2}
  .recipeLineAction{grid-column:1;grid-row:3;min-width:0}
}


.inventoryControls{
  display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;
  margin:7px 0 10px;
}
.inventoryFilters,.inventorySortControls{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.inventorySortControls select{min-width:155px}

/* Compact combat field: roster no longer steals the log's vertical space. */
#combatModal .modal{
  width:min(980px,96vw)!important;
  height:min(760px,92vh)!important;
}
.combatFixedTop{min-height:0!important}
.combatGrid{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr)!important;
  gap:10px!important;
  max-height:340px!important;
  min-height:280px!important;
  overflow:hidden!important;
}
.combatTeamPane{
  min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;
}
.combatSide.compactCombatSide{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:5px!important;
  align-content:start;
}
#combatEnemySide.compactCombatSide{
  grid-template-columns:1fr!important;
}
.combatant.combatMini{
  min-height:42px!important;
  padding:5px!important;
  display:grid!important;
  grid-template-columns:31px minmax(0,1fr)!important;
  gap:6px!important;
  align-items:center!important;
  cursor:pointer;
  background:#1c1711!important;
}
.combatant.combatMini:hover{border-color:#9b7545!important;background:#251c12!important}
.combatant.combatMini .visualIcon{
  width:29px!important;height:29px!important;margin:0!important;
}
.combatant.combatMini .visualIcon img,.combatant.combatMini .visualIcon .gameAsset{
  max-width:27px!important;max-height:27px!important;
}
.combatMiniNameRow{
  display:flex;justify-content:space-between;gap:5px;align-items:center;
  min-width:0;
}
.combatMiniNameRow .name{
  font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.combatMiniClass{
  font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.combatantHp{font-size:8px;color:var(--muted);white-space:nowrap}
.combatMini .hpTrack{height:5px!important;margin-top:3px!important}
.combatantDetails{
  grid-column:1/-1;
  display:none;
  border-top:1px solid rgba(121,93,55,.38);
  margin-top:4px;padding-top:5px;
}
.combatant.combatMini.expanded .combatantDetails{display:block}
.combatDetailStats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;
}
.combatDetailStats span{
  font-size:8px;color:#bba982;border:1px solid #4e3c27;padding:3px;background:#17130e;
}
.combatThreatFront{
  border-right:2px solid #a67b3d!important;
}
.combatLog{
  min-height:190px!important;
}
@media(max-width:750px){
  .combatGrid{grid-template-columns:1fr!important;max-height:320px!important}
  .combatSide.compactCombatSide{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #combatEnemySide.compactCombatSide{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .combatDetailStats{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Crafting filter dropdown */
.recipePanel,.recipePanelHead{overflow:visible!important}
.recipePanelHead{position:relative;z-index:30}
.recipeMenuWrap{position:relative;flex:0 0 auto}
.recipeMenu{
  display:none;
  position:absolute;
  right:0;
  top:calc(100% + 5px);
  width:178px;
  padding:5px;
  background:#201810;
  border:1px solid #755a36;
  box-shadow:4px 5px 0 rgba(8,6,4,.55);
  z-index:200;
}
.recipeMenu.on{display:grid;gap:3px}
.recipeMenuItem{
  width:100%;
  border:0;
  background:transparent;
  color:#c9b68d;
  text-align:left;
  padding:8px 9px;
  cursor:pointer;
  font-size:12px;
}
.recipeMenuItem:hover{background:#342617;color:#efd49c}
.recipeMenuItem.on{
  background:#4a351d;
  color:#f1d69a;
  border-left:3px solid #c99a45;
  padding-left:6px;
}
.recipeMenuDivider{height:1px;background:#5d472d;margin:3px 2px}
.recipeCraftableToggle.on{color:#a7c98b}

/* Combat tiles never resize when inspected. */
#combatBody{position:relative!important;overflow-y:auto!important;overflow-x:hidden!important;display:block!important;padding-right:4px}
#combatBody .combatLog{height:220px!important;min-height:160px!important;max-height:220px!important;overflow-y:auto!important}
#combatBody .combatReport{margin-top:10px;margin-bottom:8px}
.combatant.combatMini{
  position:relative;
  overflow:hidden!important;
  height:88px!important;
  min-height:88px!important;
  max-height:88px!important;
}
.combatantDetails{display:none!important}
.combatMiniNameRow .name{
  font-size:12px!important;
  line-height:1.1!important;
}
.combatMiniClass{
  font-size:10px!important;
  line-height:1.15!important;
}
.combatantHp{
  font-size:10px!important;
}
.combatMini .hpTrack{
  height:6px!important;
  margin-top:4px!important;
}
.combatant.combatMini .visualIcon{
  width:34px!important;height:34px!important;
}
.combatant.combatMini .visualIcon img,
.combatant.combatMini .visualIcon .gameAsset{
  max-width:32px!important;
  max-height:32px!important;
}
.combatInspectPanel{
  display:none;
  position:fixed;
  width:min(360px,calc(100vw - 28px));
  max-height:330px;
  overflow-y:auto;
  z-index:1000;
  background:#201810;
  border:1px solid #98713f;
  box-shadow:5px 6px 0 rgba(7,5,3,.65);
  padding:10px;
}
.combatInspectPanel.on{display:block}
.combatInspectTop{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin-bottom:8px;
  padding-bottom:7px;
  border-bottom:1px solid #60482c;
}
.combatInspectName{
  font-size:15px;
  font-weight:700;
  color:#ead5a9;
}
.combatInspectClass{
  font-size:11px;
  color:#a9997b;
  margin-top:2px;
}
.combatInspectClose{
  border:0;background:transparent;color:#bfa77a;cursor:pointer;
  font-size:16px;padding:0 2px;
}
.combatDetailStats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:5px!important;
}
.combatDetailStats span{
  font-size:11px!important;
  line-height:1.25!important;
  padding:5px 6px!important;
  color:#d0bd94!important;
}
.combatTeamPane>.muted{
  font-size:10px!important;
}
@media(max-width:650px){
  .combatDetailStats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


.guildRepProgress{margin-top:10px;padding-top:9px;border-top:1px solid rgba(112,84,48,.45)}
.guildRepProgress .progressMeta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:5px;font-size:12px;color:#c9b68d}
.guildRepProgress .progressTrack{height:12px;border:1px solid #5d472d;background:#17130e;overflow:hidden}
.guildRepProgress .guildRepFill{height:100%;background:var(--g);width:0;transition:width .25s ease}


/* Smithing progression + item stat readability */
#items.inventory{grid-auto-rows:180px!important}
.inventoryItemCard{height:180px!important;min-height:180px!important}
.itemStatPart{display:inline-block;white-space:nowrap}
.itemStatSep{display:inline-block;white-space:pre}
.smithingPanel{margin-top:10px;padding-top:10px;border-top:1px solid rgba(121,93,55,.45)}
.smithingTop{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}
.smithingBonuses{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.recipeLocked{filter:saturate(.25);opacity:.62}
.recipeSmithReq{white-space:nowrap}
@media(max-width:600px){#items.inventory{grid-auto-rows:165px!important}.inventoryItemCard{height:165px!important;min-height:165px!important}}

#items.inventory{grid-auto-rows:220px!important}
.inventoryItemCard{height:220px!important;min-height:220px!important}
.inventoryItemCard .good{display:block!important;-webkit-line-clamp:unset!important;overflow:hidden!important;font-size:10px!important;line-height:1.4!important}
.itemStatPart{display:inline-block;white-space:nowrap}.itemStatSep{display:inline-block;white-space:pre}
.inventoryTopActions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.inventoryDropWrap{position:relative}
.inventoryDropMenu{display:none;position:absolute;right:0;top:calc(100% + 5px);width:185px;padding:5px;background:#201810;border:1px solid #755a36;box-shadow:4px 5px 0 rgba(8,6,4,.55);z-index:350}.inventoryDropMenu.on{display:grid;gap:3px}
.inventoryMenuItem{width:100%;text-align:left;border:0;background:transparent;color:#c9b68d;padding:7px 8px;cursor:pointer;font:inherit}.inventoryMenuItem:hover{background:#342617}.inventoryMenuItem.on{background:#4a351d;color:#f1d69a;border-left:3px solid #c99a45;padding-left:5px}
.inventoryMenuLabel{color:#ead5a9;font-weight:700;padding:5px 6px;border-bottom:1px solid #5d472d}.inventoryMenuField{display:grid;gap:3px;color:#bba982;font-size:11px;padding:4px 5px}.inventoryMenuField select{width:100%}
.inventoryBulkBar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:7px 0 10px;padding:7px 9px;background:#1d1811;border:1px solid #60482d}.inventoryBulkBar>div{display:flex;gap:6px;flex-wrap:wrap}
.inventoryItemCard.selectedItem{border-color:#d0a653!important;box-shadow:0 0 0 2px rgba(201,154,69,.28),1px 2px 0 #100d09!important}.inventorySelectMark{position:absolute;left:6px;top:6px;z-index:4;min-width:22px;height:22px;display:grid;place-items:center;background:#17130e;border:1px solid #7a5b34;color:#e7cd98;font-weight:700}.inventoryItemCard.selectedItem .inventorySelectMark{background:#725124;border-color:#c99a45}
.recipeQuantityControl{display:flex;align-items:center;gap:5px;justify-content:flex-end}.recipeQuantityControl input{width:58px;padding:7px 6px;text-align:center}.recipeLineAction{min-width:190px!important}
@media(max-width:700px){#items.inventory{grid-auto-rows:195px!important}.inventoryItemCard{height:195px!important;min-height:195px!important}.recipeLineAction{min-width:0!important}}


.manaTrack{height:5px;margin-top:3px;background:#10182a;border:1px solid #294b82;overflow:hidden}
.manaFill{height:100%;background:#3d82df;transition:width .18s linear}

.cooldownTrack{height:4px;margin-top:3px;background:#17130e;border:1px solid #65502e;overflow:hidden}
.cooldownFill{height:100%;width:100%;background:#b67a3d;transition:none;will-change:width}
.cooldownFill.ready{background:#d4b35d}

.combatant.combatMini.enemy{
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
}
.combatMiniVitals{min-width:0;overflow:visible}
.cooldownTrack{
  display:block!important;
  width:100%!important;
  height:6px!important;
  min-height:6px!important;
  margin-top:3px!important;
  background:#120f0a!important;
  border:1px solid #80603a!important;
  overflow:hidden!important;
  visibility:visible!important;
  opacity:1!important;
}
.cooldownFill{
  display:block!important;
  height:100%!important;
  min-height:100%!important;
  width:0;
  background:#b47532!important;
  transition:none!important;
  will-change:width;
}
.cooldownFill.ready{
  background:#e1b85a!important;
  box-shadow:0 0 5px rgba(225,184,90,.45);
}


.nav.navLocked{
  opacity:.42!important;
  filter:grayscale(1);
  cursor:not-allowed!important;
  color:var(--m)!important;
  border-color:transparent!important;
  background:transparent!important;
}
.nav.navLocked:hover{
  background:transparent!important;
  border-color:transparent!important;
}
.nav.navLocked::after{
  content:attr(data-lock-label);
  float:right;
  margin-left:8px;
  font-size:9px;
  opacity:.85;
}
.nav.navFeatureHidden{display:none!important}

.guildGoalsPanel{margin-top:12px}
.guildGoalsPanel.allGoalsComplete{border-color:#65784c!important}
.guildGoalsHead{align-items:center!important}
.goalSummary{display:grid;grid-template-columns:auto minmax(120px,1fr);gap:12px;align-items:center;color:var(--muted);font-size:11px;margin-bottom:9px}
.guildGoalList{display:grid;gap:7px}
.guildGoal{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px;background:#1c1711;border:1px solid #4e3c27}
.guildGoal.active{border-color:#9b743d;background:#2a2014}
.guildGoal.done{opacity:.72;border-color:#536343}
.goalMark{width:25px;height:25px;display:grid;place-items:center;border:1px solid #6a5434;color:#cdbb91;font-weight:700}
.guildGoal.active .goalMark{border-color:#c99a45;color:#f0d79b}
.guildGoal.done .goalMark{border-color:#71845a;color:#a7b982}
.goalReward{color:#d8bd80;font-size:11px;text-align:right;white-space:nowrap}
.guildGoal.done .goalReward{color:#a7b982}

.defeatAnalysis{color:#cf8574!important}
.defeatAdviceTitle{margin-top:9px;color:#e0c89a;font-weight:700}
.defeatAdviceList{margin:6px 0 0;padding-left:20px;color:#c9b68d}
.defeatAdviceList li+li{margin-top:5px}

@media(max-width:600px){
  .goalSummary{grid-template-columns:1fr}
  .guildGoal{grid-template-columns:30px 1fr}
  .goalReward{grid-column:2;text-align:left}
}


/* Real-time combat bars: HP -> Mana -> Attack -> Active */
.combatant.combatMini{
  height:82px!important;
  min-height:82px!important;
  max-height:82px!important;
}
.combatant.combatMini.enemy{
  height:64px!important;
  min-height:64px!important;
  max-height:64px!important;
}
.attackTrack{
  display:block!important;
  width:100%!important;
  height:6px!important;
  min-height:6px!important;
  margin-top:3px!important;
  background:#15100a!important;
  border:1px solid #76552d!important;
  overflow:hidden!important;
}
.attackFill{
  display:block!important;
  height:100%!important;
  background:#d99a3d!important;
  transition:none!important;
  will-change:width;
}
.attackFill.ready{background:#f0bd5c!important;box-shadow:0 0 4px rgba(240,189,92,.45)}
.cooldownTrack{
  height:6px!important;
  margin-top:3px!important;
  background:#140d1e!important;
  border-color:#6e408c!important;
}
.cooldownFill{
  background:#9e52d8!important;
}
.cooldownFill.ready{
  background:#d57cff!important;
  box-shadow:0 0 7px rgba(213,124,255,.55)!important;
}
.combatant.combatMini{height:102px!important;min-height:102px!important;max-height:102px!important}
.combatant.combatMini.enemy{height:94px!important;min-height:94px!important;max-height:94px!important}
.castTrack{position:relative;height:12px;margin-top:3px;background:#21110e;border:1px solid #a34e38;overflow:hidden}
.castFill{height:100%;width:0;background:#bd593e;transition:none}
.castLabel{position:absolute;inset:0;display:grid;place-items:center;color:#ffe1bd;font:700 8px/1 ui-monospace,monospace;text-shadow:1px 1px #000}
.combatStatusRow{display:flex;gap:4px;min-height:22px;margin-top:4px;align-items:center}
.combatStatusRow{flex-wrap:wrap}
.combatEffect{--effect-progress:360deg;display:inline-grid;place-items:center;width:21px;height:21px;padding:2px;border-radius:4px;background:conic-gradient(#d2a85d var(--effect-progress),#35291d 0);box-shadow:0 0 0 1px #17110b;flex:0 0 auto}
.combatEffect>span{position:relative;display:grid;place-items:center;width:15px;height:15px;border-radius:2px;background:#18120d;color:#ead29d;font:700 10px/1 sans-serif}
.combatEffect b{position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;min-width:9px;height:9px;border-radius:5px;background:#090806;color:#fff;font:700 7px/1 sans-serif}
.combatEffect.staticEffect{background:#8b6b3f}
.combatEffect.burning{background:conic-gradient(#e77b31 var(--effect-progress),#392116 0)}
.combatEffect.poison{background:conic-gradient(#82a84f var(--effect-progress),#253019 0)}
.combatEffect.bleed{background:conic-gradient(#bd5550 var(--effect-progress),#371b1b 0)}
.combatEffect.frostbite{background:conic-gradient(#69b8dc var(--effect-progress),#18303b 0)}
.combatEffect.shocked{background:conic-gradient(#e0c34e var(--effect-progress),#373116 0)}
.combatEffect.cursed{background:conic-gradient(#a56bc9 var(--effect-progress),#2d1d38 0)}
.combatEffect.battleShout{background:conic-gradient(#e1aa49 var(--effect-progress),#382919 0)}
.combatEffect.shieldFaith,.combatEffect.protected{background:conic-gradient(#70a8df var(--effect-progress),#1a2938 0)}
.combatEffect.enraged{background:#b33b2d}.combatEffect.bossPhase{background:#74529b}
.combatStatus{display:inline-grid;place-items:center;min-width:17px;height:15px;padding:0 3px;border:1px solid #765237;background:#1a120d;font:700 9px/1 ui-monospace,monospace}
.combatStatus.bleed{border-color:#a84949;color:#ef9990}
.combatStatus.burning{border-color:#bd6a2e;color:#ffb36b}
.combatStatus.poison{border-color:#678c42;color:#b6dd77}
.combatStatus.frostbite{border-color:#558aa6;color:#9bdcff}
.combatStatus.shocked{border-color:#a58a36;color:#ffe778}
.combatStatus.cursed{border-color:#76519a;color:#d5a0ff}

.threatIntel{margin:10px 0;padding:9px;border:1px solid #4f3d28;background:#19140e;display:grid;gap:7px}
.threatIntelRow{display:grid;grid-template-columns:82px 1fr;gap:8px;align-items:start}
.threatIntelRow>b,.threatDrops>b{color:#a99876;font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding-top:3px}
.threatIntelRow>div,.threatDrops>div{display:flex;gap:4px;flex-wrap:wrap}
.threatTag{display:inline-flex;align-items:center;gap:3px;padding:2px 5px;border:1px solid #625039;background:#241c13;color:#cbb68d;font-size:9px}
.threatTag.mechanic{border-color:#795347;color:#dda58f}
.threatTag.counter{border-color:#566a42;color:#b8cf91}
.enemyIntelList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding-top:6px;border-top:1px solid #413321}
.enemyIntel{display:flex;justify-content:space-between;gap:6px;padding:4px 6px;background:#211a12;color:#c9b58c;font-size:10px}
.enemyIntel small{color:#8f8064;font-size:9px}
.threatDrops{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:start}
.threatDrop{display:inline-flex;align-items:center;gap:3px;color:#aa9a79;font-size:9px}
@media(max-width:600px){.threatIntelRow,.threatDrops{grid-template-columns:1fr}.enemyIntelList{grid-template-columns:1fr}}

.combatReport{margin-top:9px!important}
.combatReport{max-height:none!important;overflow:visible!important}
.combatReportHead{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.combatReportTable{display:grid;gap:2px;overflow-x:auto}
.combatReportRow{display:grid;grid-template-columns:minmax(125px,1.4fr) repeat(5,minmax(72px,1fr));gap:5px;align-items:center;min-width:570px;padding:6px 7px;background:#1b1610;color:#c9b68d;font-size:10px}
.combatReportRow.header{background:#302417;color:#e0c38b;font-size:9px;text-transform:uppercase;letter-spacing:.04em}
.combatReportRow>span:not(:first-child){text-align:right}
.combatReportRow small{display:block;color:#89795d;font-size:8px;margin-top:2px}

.nav small{float:right;font-size:8px;color:#c99a45;text-transform:uppercase}
.arenaHeaderPanel{margin-bottom:12px}.arenaTopGrid{align-items:start;margin-bottom:12px}.arenaSetupNotice,.arenaLogin,.arenaSignedIn{padding:11px;border:1px solid #5f482d;background:#211a12}
.arenaLogin,.arenaSignedIn{display:flex;align-items:center;gap:9px;justify-content:space-between;flex-wrap:wrap}.arenaLogin input{min-width:240px;flex:1;padding:9px}
.arenaDefenseSummary,.arenaResultTable{display:grid;gap:5px}.arenaMember,.arenaOpponent,.arenaHistoryRow,.arenaResultRow{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px;border:1px solid #4d3c28;background:#1c1711}
.arenaMember small,.arenaHistoryRow small{color:#8f8064}.arenaOpponent+.arenaOpponent,.arenaHistoryRow+.arenaHistoryRow{margin-top:5px}
.arenaLeaderboardRow{display:grid;grid-template-columns:60px minmax(130px,1fr) 100px 100px;gap:8px;padding:8px;background:#1c1711;border-bottom:1px solid #443522}.arenaLeaderboardRow.header{background:#302417;color:#dfc38d;text-transform:uppercase;font-size:9px}
.arenaRatingChange{font-size:20px;font-weight:800;margin-bottom:10px}.arenaReplay{margin-top:10px;max-height:320px}.arenaPartyPicker{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px!important}
@media(max-width:600px){.arenaPartyPicker{grid-template-columns:1fr}.arenaLeaderboardRow{grid-template-columns:45px minmax(90px,1fr) 70px 70px;font-size:9px}}


/* v62: four combat bars need a little more vertical room. */
.combatant.combatMini{
  height:auto!important;
  min-height:112px!important;
  max-height:none!important;
}
.combatant.combatMini.enemy{
  height:auto!important;
  min-height:108px!important;
  max-height:none!important;
}
.combatGrid{
  max-height:390px!important;
  min-height:310px!important;
}


/* v63: grouped roster character stats */
.characterStatSheet{display:grid;gap:13px}
.characterStatGroup{min-width:0}
.characterStatHeading{
  display:flex;align-items:center;gap:8px;
  margin:0 0 6px;
  color:#d8bd80;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.characterStatHeading::after{
  content:"";
  height:1px;
  flex:1 1 auto;
  background:linear-gradient(90deg,rgba(201,154,69,.55),rgba(121,93,55,.12));
}
.characterStatGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
}
.characterStatGrid .stat{padding:6px!important}
.characterStatGrid .stat strong{font-size:14px!important}
.statHP strong{color:#a7b982!important}
.statMana strong,.statManaRegen strong{color:#78aee6!important}
.statResistance.fire strong{color:#df8066!important}
.statResistance.ice strong{color:#8fc7e8!important}
.statResistance.poison strong{color:#8fbd76!important}
.statResistance.lightning strong{color:#dfc96d!important}
.statResistance.holy strong{color:#e8d39a!important}
.statResistance.dark strong{color:#b38ad5!important}
@media(max-width:600px){
  .characterStatGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


.harvestFilters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.harvestFilter.on{background:linear-gradient(180deg,#785626,#543a1b)!important;border-color:#a67937!important;color:#f0d698!important}@media(max-width:760px){#harvesting .head{align-items:flex-start;flex-direction:column}.harvestFilters{justify-content:flex-start}}

.questBoardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.questContract{position:relative;min-height:160px;padding:11px!important}
.questContract.complete{border-color:#7c8e55!important;box-shadow:0 0 0 1px rgba(143,163,108,.18),1px 2px 0 #100d09!important}
.questContractTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.questDifficulty{font-size:9px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.questDifficulty.easy{color:#a9bd8b}.questDifficulty.normal{color:#d3bd85}.questDifficulty.hard{color:#d69b67}.questDifficulty.elite{color:#c88ed8}
.questRewardRow{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.questObjective{margin-top:7px;color:#cdbb91;font-size:12px;line-height:1.35}
.questClaimRow{display:flex;justify-content:flex-end;margin-top:9px}
.questContract .progressTrack{height:9px!important}
@media(max-width:800px){.questBoardGrid{grid-template-columns:1fr}}

.subclassReadyBadge{
  position:absolute;top:6px;right:6px;z-index:3;
  width:22px;height:22px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:15px;line-height:1;
  color:#21170b;background:#e2bd63;border:2px solid #f1d78f;
  box-shadow:0 0 8px rgba(226,189,99,.55),1px 2px 0 rgba(0,0,0,.45);
}
.card.hero{position:relative}
.racialPassiveCard{border-color:rgba(201,154,69,.42)!important}

.resourceSourceList{display:grid;gap:5px;margin-top:7px}
.resourceSourceRow{background:#1d1811;border:1px solid #4e3c27;padding:7px 8px}
.resourceSourceRow b{display:block;color:#dbc38f;font-size:11px}
.resourceSourceRow span{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.harvestCard:hover{border-color:#8a693e!important}

/* Animated asynchronous Arena replay. */
.arenaBattle{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);gap:12px;align-items:start}
.arenaBattleSide h3{text-align:center;margin:0 0 9px}.arenaVersus{align-self:center;text-align:center;color:var(--gold);font-weight:900;font-size:18px}
.arenaFormation{display:grid;gap:7px}.arenaFighter{position:relative;background:#18130d;border:1px solid #594426;padding:9px;transition:opacity .35s,filter .35s,transform .15s}
.arenaFighter.defeated{opacity:.35;filter:grayscale(1)}.arenaFighterTop{display:flex;justify-content:space-between;gap:8px}.arenaFighterTop small{color:var(--muted)}
.arenaFighter .hpTrack{height:8px;background:#321313;margin-top:7px;border:1px solid #4c2c20;overflow:hidden}.arenaFighter .hpFill{height:100%;background:linear-gradient(90deg,#8f2720,#d45a3d);transition:width .18s linear}
.arenaHpText{text-align:right;color:var(--muted);font-size:9px;margin-top:3px}.arenaFloat{position:absolute;right:10px;top:35px;opacity:0;font-weight:900;pointer-events:none}.arenaFloat.pop{animation:arenaFloat .35s ease-out}
@keyframes arenaFloat{0%{opacity:1;transform:translateY(4px)}100%{opacity:0;transform:translateY(-15px)}}
.arenaPlaybackBar{display:flex;align-items:center;justify-content:space-between;margin:12px 0 8px;color:var(--muted)}.arenaLiveLog{min-height:96px;max-height:150px}.arenaEvent.ability,.arenaEvent.interrupt{color:var(--gold)}.arenaEvent.heal,.arenaEvent.cleanse{color:#82c98d}
.arenaResultReveal{text-align:center;margin-top:12px;padding:14px;border:1px solid #6b522d;background:#18130d}.arenaResultReveal.victory{box-shadow:inset 0 0 30px rgba(201,154,69,.08)}.arenaResultReveal.defeat{border-color:#704038}.arenaResultReveal .arenaResultTable{text-align:left;margin:10px 0}
@media(max-width:700px){.arenaBattle{grid-template-columns:1fr}.arenaVersus{padding:2px}.arenaFighter{padding:7px}}
.arenaCombatant{position:relative}.arenaCombatant.defeated{opacity:.32;filter:grayscale(1)}
.arenaCombatant.arenaAct{animation:arenaAct .24s ease-out}.arenaCombatant.arenaHit{animation:arenaHit .24s ease-out}
@keyframes arenaAct{50%{transform:translateY(-3px);border-color:#d5a94f;box-shadow:0 0 12px rgba(213,169,79,.35)}}
@keyframes arenaHit{50%{transform:translateX(3px);border-color:#b64d3d;box-shadow:0 0 12px rgba(182,77,61,.45)}}
.combatant.combatMini{position:relative}.combatant.combatMini.combatAct{animation:arenaAct .24s ease-out}.combatant.combatMini.combatHit{animation:arenaHit .24s ease-out}.combatant.combatMini.combatHeal{animation:combatHeal .24s ease-out}
.combatFloat{position:absolute;right:9px;top:31px;z-index:3;opacity:0;font-weight:900;pointer-events:none;text-shadow:0 1px 2px #000}.combatFloat.pop{animation:arenaFloat .35s ease-out}
@keyframes combatHeal{50%{border-color:#579264;box-shadow:0 0 12px rgba(87,146,100,.4)}}
.arenaQuota{padding:5px 0 9px}.arenaOpponent button:disabled{opacity:.45;cursor:not-allowed}

/* Persistent combat view: the body is rebuilt only when it is opened. */
#combatBody{
  display:flex!important;
  flex-direction:column!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.combatFixedTop{order:1}
#combatReport{
  order:2;
  flex:0 0 auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin:10px 0 8px!important;
}
#combatLog{
  order:3;
  flex:0 0 220px!important;
  height:220px!important;
  min-height:160px!important;
  max-height:220px!important;
}
.combatGrid{
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}
.combatTeamPane{
  max-height:none!important;
  overflow:visible!important;
}
.combatant.combatMini.combatSlotEmpty{display:none!important}
.combatEnemySlot[hidden]{display:none!important}

/* Battlefield combat view: units stand directly in the area's scene. */
#combatModal .modal{width:min(1180px,97vw)!important}
.combatBattlefield.combatGrid{
  position:relative!important;
  isolation:isolate;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  min-height:max(470px,calc(var(--combat-rows,2) * 150px + 58px))!important;
  padding:34px 22px 18px!important;
  gap:34px!important;
  overflow:hidden!important;
  border:1px solid #73552e;
  background-image:var(--combat-background)!important;
  background-position:center!important;
  background-size:cover!important;
  box-shadow:inset 0 0 60px rgba(0,0,0,.7);
}
.upgradeEffectComparison{display:flex;align-items:stretch;gap:7px;margin:8px 0;padding:7px;border:1px solid #544129;background:#19140f}
.upgradeEffectComparison>span{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.upgradeEffectComparison small{color:#8f8064;font:8px var(--ui-pixel);letter-spacing:.07em;text-transform:uppercase}
.upgradeEffectComparison b{color:#d4be8d;font-size:11px;line-height:1.25}
.upgradeEffectComparison .next b{color:#a9d58c}
.upgradeEffectComparison i{align-self:center;color:#a77b3f;font-style:normal;font-size:16px}
.combatFieldShade{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,7,7,.48),rgba(8,8,7,.15) 42%,rgba(8,8,7,.15) 58%,rgba(5,7,7,.48)),linear-gradient(0deg,rgba(4,4,3,.58),transparent 48%,rgba(4,4,3,.34));
}
.combatBattlefield .combatTeamPane{
  position:relative!important;
  min-width:0!important;
  overflow:visible!important;
}
.combatTeamLabel{
  position:absolute;top:-25px;left:0;right:0;
  color:#e3c986;font-family:var(--ui-pixel);font-size:9px;letter-spacing:.12em;text-align:center;text-shadow:0 2px 3px #000;
}
.combatBattlefield .combatSide.compactCombatSide,
.combatBattlefield #combatEnemySide.compactCombatSide{
  height:100%;display:grid!important;
  grid-template-columns:repeat(2,minmax(105px,1fr))!important;
  grid-auto-rows:150px;
  align-content:center!important;
  align-items:center!important;justify-items:center!important;
  gap:2px 12px!important;
}
.combatBattlefield .combatEnemySlot{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.combatBattlefield .combatant.combatMini{
  width:min(150px,100%)!important;height:118px!important;min-height:118px!important;max-height:118px!important;
  display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto 1fr auto!important;
  justify-items:center!important;align-items:end!important;gap:2px!important;
  position:relative!important;padding:0!important;margin:0!important;
  overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;cursor:pointer;transition:filter .12s ease,transform .12s ease;
}
.combatBattlefield .combatant.combatMini:hover{background:transparent!important;filter:brightness(1.16);transform:translateY(-2px)}
.combatBattlefield .combatant.combatMini.selected{filter:brightness(1.2);transform:translateY(-2px)}
.combatBattlefield .combatant.combatMini.selected .visualIcon{filter:drop-shadow(0 0 7px rgba(242,201,105,.9))}
.combatBattlefield .combatant.combatMini.combatThreatFront{border:0!important}
.combatBattlefield .combatMiniVitals{order:1;width:100%;align-self:start;filter:drop-shadow(0 2px 2px #000)}
.combatBattlefield .combatant.combatMini .visualIcon{
  order:2;width:60px!important;height:60px!important;margin:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:transparent!important;border:0!important;filter:drop-shadow(0 5px 4px rgba(0,0,0,.8));
}
.combatBattlefield .combatant.combatMini .visualIcon img,.combatBattlefield .combatant.combatMini .visualIcon .gameAsset{
  width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important;object-fit:contain!important;image-rendering:pixelated;
}
.combatBattlefield .combatHeroPane .visualIcon>.iconFallback.gameAsset{transform:scaleX(-1)!important}
.combatBattlefield .combatHeroPane .visualIcon>.iconFallback.gameAsset>img.gameAsset{transform:none!important}
.combatBattlefield .combatant.combatMini .visualIcon>.iconFallback{font-size:46px!important;line-height:58px!important}
.combatBattlefield .combatMiniNameRow{height:15px;display:block!important;text-align:center!important}
.combatBattlefield .combatMiniNameRow .name{
  color:#fff0c8!important;font-size:11px!important;line-height:14px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-shadow:0 2px 3px #000,1px 0 #000,-1px 0 #000;
}
.combatBattlefield .hpTrack,.combatBattlefield .manaTrack,.combatBattlefield .attackTrack,.combatBattlefield .cooldownTrack{
  width:100%!important;height:5px!important;min-height:5px!important;margin:1px 0 0!important;border:1px solid rgba(13,10,7,.9)!important;background:rgba(8,8,7,.88)!important;box-shadow:0 1px 2px #000!important;
}
.combatBattlefield .hpTrack{height:7px!important;min-height:7px!important}
.combatBattlefield .combatStatusRow{
  order:3;min-height:22px!important;margin:0!important;display:flex!important;justify-content:center!important;gap:3px!important;overflow:visible!important;
}
.combatBattlefield .combatEffect{width:20px!important;height:20px!important;box-shadow:0 1px 3px #000}
.combatBattlefield .combatFloat{right:4px!important;top:47px!important;font-size:14px!important;text-shadow:0 2px 3px #000!important}
.combatLevelUp{position:absolute;left:50%;top:40%;z-index:8;transform:translate(-50%,-50%);opacity:0;pointer-events:none;color:#ffe88e;font-family:var(--ui-pixel);font-size:13px;font-weight:900;white-space:nowrap;text-shadow:0 0 5px #fff,0 0 12px #e2a932,0 2px 3px #000}
.combatLevelUp.on{animation:combatLevelUp 1.8s ease-out}
@keyframes combatLevelUp{0%{opacity:0;transform:translate(-50%,15px) scale(.7)}20%{opacity:1;transform:translate(-50%,-8px) scale(1.15)}72%{opacity:1}100%{opacity:0;transform:translate(-50%,-42px) scale(1)}}
.reportLevelUp{display:block;color:#e8c361!important;font-family:var(--ui-pixel);font-size:8px!important;margin-top:3px}
.combatBattlefield .castTrack{position:absolute!important;top:36px;left:0;right:0;z-index:5}
.combatBattlefield .combatant[style*="display: none"],.combatBattlefield .combatSlotEmpty{display:none!important}
.combatStageIntermission{
  display:none;position:absolute;inset:0;z-index:20;pointer-events:none;
}
.combatStageIntermission.on{display:block}
.stageDeliveryBanner{
  position:absolute;top:8px;left:50%;z-index:4;transform:translateX(-50%);width:min(850px,calc(100% - 28px));
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:10px 14px;text-align:left;
  border:1px solid #8b6937;background:linear-gradient(90deg,rgba(23,18,12,.97),rgba(42,31,18,.95),rgba(23,18,12,.97));box-shadow:0 4px 16px rgba(0,0,0,.8);pointer-events:auto;
}
.combatStageIntermission .name{font-size:18px;color:#f1d69a;text-shadow:0 2px 4px #000}
.stageDeliveryText{margin-top:2px;color:#d6c39a;font-size:11px}
.stageDeliveryRewards{padding:7px 10px;border:1px solid #80623b;background:#17130e;color:#e9c878;font-family:var(--ui-pixel);font-size:10px;white-space:nowrap}
.stageDeliveryNext{white-space:nowrap;text-align:right}
.stageCampScene{position:absolute;left:75%;bottom:24px;width:180px;height:150px;transform:translateX(-50%);display:flex;align-items:flex-end;justify-content:center}
.stageCampfire{position:absolute;left:50%;bottom:26px;z-index:3;transform:translateX(-50%);font-size:62px;line-height:1;filter:drop-shadow(0 0 12px #f19b38);animation:stageFire 1s ease-in-out infinite alternate}
.stageCampGlow{position:absolute;left:50%;bottom:15px;width:250px;height:95px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(239,139,48,.28),rgba(239,139,48,0) 70%);mix-blend-mode:screen}
@keyframes stageFire{to{transform:translateX(-50%) scale(.94) translateY(2px);filter:drop-shadow(0 0 18px #ffc04f)}}
.combatBattlefield.stageIntermission .combatEnemyPane{visibility:hidden}
.combatBattlefield.stageIntermission .combatHeroPane{visibility:visible}
.combatBattlefield.stageIntermission .combatHeroPane .combatant{animation:stageRest 1.8s ease-in-out infinite alternate}
@keyframes stageRest{to{transform:translateY(2px)}}
.activeMissionActions,.defeatRestartActions{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}
.defeatRestartActions{margin-top:10px}
.victoryPresentation{text-align:center;padding:8px 4px 14px}.victoryPresentation.major{padding:18px 10px 24px;background:radial-gradient(circle at 50% 20%,rgba(210,154,54,.18),transparent 55%)}
.victoryCrest{font-size:54px;filter:drop-shadow(0 0 12px rgba(235,183,76,.6));animation:victoryCrest 1s ease-out}.victoryPresentation.major .victoryCrest{font-size:76px}
@keyframes victoryCrest{from{opacity:0;transform:scale(.45) rotate(-8deg)}to{opacity:1;transform:scale(1)}}
.victoryGuildBonus,.victoryRewardItem{display:flex;flex-direction:column;gap:5px;margin:12px auto 0;max-width:620px;padding:12px;border:1px solid #80623b;background:#17130e}
.victoryGuildBonus span{color:#9fd283}.victoryUniqueCallout{margin-top:12px;font-size:15px;font-weight:900}
.guildPermanentBonuses{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid #5c4729;font-family:var(--ui-pixel);font-size:9px}.guildPermanentBonuses>span{color:var(--muted);margin-right:4px}.guildPermanentBonuses>b{padding:4px 7px;border:1px solid #5e4b2e;background:#17130e;color:#a9cf8b}

@media(max-width:760px){
  .combatBattlefield.combatGrid{min-height:max(610px,calc(var(--combat-mobile-rows,4) * 88px + 55px))!important;padding:31px 8px 14px!important;gap:8px!important}
  .combatBattlefield .combatSide.compactCombatSide,.combatBattlefield #combatEnemySide.compactCombatSide{grid-template-columns:1fr!important;grid-auto-rows:88px!important;align-content:center!important;gap:1px!important}
  .combatBattlefield .combatant.combatMini{width:min(124px,100%)!important;height:72px!important;min-height:72px!important;max-height:72px!important;grid-template-columns:1fr 48px!important;grid-template-rows:auto auto!important;align-items:center!important}
  .combatBattlefield .combatMiniVitals{grid-column:1;grid-row:1/-1}
  .combatBattlefield .combatant.combatMini .visualIcon{grid-column:2;grid-row:1/-1;width:46px!important;height:46px!important}
  .combatBattlefield .combatant.combatMini .visualIcon img,.combatBattlefield .combatant.combatMini .visualIcon .gameAsset{width:44px!important;height:44px!important;max-width:44px!important;max-height:44px!important}
  .combatBattlefield .combatant.combatMini .visualIcon>.iconFallback{font-size:34px!important;line-height:44px!important}
  .combatBattlefield .combatStatusRow{position:absolute;bottom:-1px;left:2px;justify-content:flex-start!important}
  .combatBattlefield .combatEffect{width:16px!important;height:16px!important}
  .combatBattlefield .combatMiniNameRow .name{font-size:9px!important}
  .stageDeliveryBanner{top:5px;grid-template-columns:1fr;text-align:center;gap:5px;padding:7px 9px}.stageDeliveryNext{text-align:center}.stageDeliveryRewards{white-space:normal}.stageDeliveryText{display:none}
  .stageCampScene{left:75%;bottom:12px;width:110px;height:180px}.stageCampfire{bottom:12px}
}

/* Always-visible navigation directory and compact guild-ledger typography. */
.shell{grid-template-columns:230px minmax(0,1fr)!important}
.side{display:flex!important;flex-direction:column!important;padding:9px!important}
.navDirectory{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;flex:1 1 auto}
.navColumn{min-width:0}
.navSectionTitle{padding:4px 6px 7px;color:#d5b877;font-family:var(--ui-pixel);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid rgba(121,93,55,.55)}
.navMissionBlock{margin-top:12px;padding-top:7px;border-top:1px solid rgba(121,93,55,.45)}
.navPrimary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding-bottom:9px;border-bottom:1px solid rgba(121,93,55,.45)}
.navGroup{min-width:0;border:1px solid #4e3c27;background:#211a12;color:#9f8f6d;padding:9px 7px;text-align:center;font-family:var(--ui-pixel);font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.navGroup:hover{color:#dfc691;border-color:#80623b;background:#2a2015}
.navGroup.on{color:#f0d79b;border-color:#a67937;background:linear-gradient(180deg,#50391d,#2f2417);box-shadow:inset 0 0 0 1px rgba(238,197,112,.08)}
.navGroup small{display:block;margin-top:2px;color:#c99a45;font-size:7px;letter-spacing:.08em}
.navSubgroups{padding-top:8px;flex:1 1 auto}
.navSubgroup{display:grid!important;gap:3px;padding-top:6px}
.navSubgroup .nav{padding:9px 7px!important;font-size:11px!important}
.navUtility{display:grid;grid-template-columns:1fr;gap:3px;margin-top:9px;padding-top:9px;border-top:1px solid rgba(121,93,55,.45)}
.navArena small{display:block;color:#b98c45;font-size:7px}
.navSettings{font-family:var(--ui-pixel)!important;font-size:10px!important;letter-spacing:.04em}
.page.on{animation:pageReveal .13s ease-out}
@keyframes pageReveal{from{opacity:.72;transform:translateY(2px)}to{opacity:1;transform:none}}

/* Mechanical information uses a pixel-like system mono stack; headings retain the bookish serif face. */
.sub,.muted,.head p,.chip,.res,.stat,.power,.timer,.progressMeta,.saveState,.log,.lootBox,.combatReport,.combatLog,.questObjective,.resourceSourceRow span,.arenaHpText,.arenaHistoryRow,.arenaLeaderboardRow{font-family:var(--ui-pixel)!important;letter-spacing:.005em}
.head p,.muted{line-height:1.5!important}
.res strong,.stat strong,.timer,.progressMeta strong{font-variant-numeric:tabular-nums}

@media(max-width:900px){
  .shell{grid-template-columns:1fr!important}
  .side{display:block!important;overflow:visible!important}
  .navDirectory{grid-template-columns:1fr 1fr}
  .navUtility{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .navDirectory{grid-template-columns:1fr}
  .navMissionBlock{margin-top:8px}
}

.compactEquipmentSlots{display:grid;grid-template-columns:repeat(2,23px);gap:3px;margin-left:auto;align-items:center;justify-content:end;flex:0 0 49px}
.compactEquipmentSlot{display:grid;place-items:center;width:23px;height:23px;padding:1px;border:1px solid #56442c;background:#17130e;color:#cbb17b;font-size:13px;line-height:1;cursor:pointer;overflow:hidden}
.compactEquipmentSlot.empty{opacity:.62;filter:saturate(.55)}
.compactEquipmentSlot:hover{opacity:1;border-color:#c19249;background:#302317;transform:translateY(-1px)}
.compactEquipmentSlot .gameAsset,.compactEquipmentSlot img{width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important;object-fit:contain}
.compactRoster .heroTop{align-items:center}
.equipActionCard{cursor:pointer}
.equipActionCard .heroTop{align-items:center}

/* Guild Overview: identity, operations, notices, then historical detail. */
#hall{padding-bottom:24px}
.guildBanner{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(380px,1.5fr);gap:12px 22px;align-items:center;padding:17px 18px!important;background:linear-gradient(115deg,rgba(139,98,42,.18),transparent 48%),#2d251a!important}
.guildBannerIdentity{display:flex;align-items:center;min-width:0}
.guildEyebrow,.sectionKicker{font-family:var(--ui-pixel);color:#9f8f6d;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.guildBanner h2{font-size:24px!important;line-height:1.1;margin:2px 0 3px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guildRename{border:0;padding:0;background:transparent;color:#b99b64;font-family:var(--ui-pixel);font-size:8px;text-decoration:underline;text-underline-offset:3px}
.guildRename:hover{color:#e3bb6d}
.guildBannerStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #5f482d;background:#211a12}
.guildBannerStat{padding:9px 11px;border-right:1px solid #4b3926;min-width:0}
.guildBannerStat:last-child{border-right:0}
.guildBannerStat span{display:block;color:#8f8064;font-family:var(--ui-pixel);font-size:8px;text-transform:uppercase;letter-spacing:.07em}
.guildBannerStat strong{display:block;margin-top:3px;color:#e3c687;font-family:var(--ui-pixel);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.guildBanner .guildRepProgress{grid-column:1/-1;margin-top:0}
.guildBanner .progressTrack{height:8px!important}
.guildCommandBar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0 10px}
.guildShortcut{display:flex!important;align-items:center;justify-content:space-between;gap:9px;width:100%;min-width:0;text-align:left;padding:10px 11px!important;color:#d9c397!important;background:linear-gradient(180deg,#2b2116,#211a12)!important}
.guildShortcut:hover{border-color:#9a743d!important;background:#302416!important;transform:translateY(-1px)}
.guildShortcutText{display:block;min-width:0}
.guildShortcutText br{display:none}
.guildShortcutText .name{display:block;font-size:11px;line-height:1.2}
.guildShortcutText .muted{display:block;margin-top:3px;font-size:8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guildShortcutArrow{flex:0 0 auto;color:#9e773d;font-size:20px;line-height:1}
.resourceTier{display:inline-block;color:#e0bd76;font-family:var(--ui-pixel);font-size:8px;font-weight:800;letter-spacing:.04em}
.workshopTabs{display:flex;gap:7px}
.professionNavSticky{position:sticky;top:0;z-index:30;margin-bottom:10px;padding:8px;background:rgba(20,16,11,.97);border:1px solid #70522e;box-shadow:0 5px 14px rgba(0,0,0,.45)}
.professionTabs{display:flex;gap:6px;flex-wrap:wrap;margin:0;padding:0;border:0}
.professionTabs .professionTab{flex:1 1 140px}
.professionWorkspaceTop{display:grid;grid-template-columns:minmax(680px,1fr) minmax(280px,340px);gap:10px;align-items:start}
.professionContentColumn{min-width:0}
.professionQueuePanel{align-self:start;max-height:calc(100vh - 150px);overflow-y:auto}
.professionMainPanel,.professionQueuePanel{margin:0!important;min-width:0}
.professionQueuePanel #craftQueue.active{grid-template-columns:1fr!important}
.professionQueuePanel .active .card{min-width:0}
.gateBossChip{border-color:#a46a32!important;color:#efb86a!important;background:rgba(130,62,24,.2)!important}
@media(max-width:1050px){.professionWorkspaceTop{grid-template-columns:1fr}.professionQueuePanel{max-height:460px;min-height:0}}
.professionRecipeControls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.professionRecipeControls select{min-width:145px}
.professionPassiveCard{border-left:2px solid #9b7138!important}
.professionTab{flex:1 1 135px;min-width:120px}
.professionTab.on{background:linear-gradient(180deg,#785626,#543a1b)!important;border-color:#b18443!important;color:#f0d698!important}
.professionStation{margin-top:10px;padding:12px;border:1px solid #60482d;background:linear-gradient(135deg,rgba(126,87,37,.16),transparent 45%),#1c1710}
.professionStationTop{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}
.professionStationTop h3{margin:2px 0 4px!important}
.professionEffectRow{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.professionWorkerChoice{display:flex!important;flex-direction:column;gap:5px;text-align:left;cursor:pointer}
.professionSimpleRecipe{display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(300px,1.4fr) auto;align-items:center;gap:12px}
.professionSimpleRecipe .recipeDetailMaterials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.professionSimpleRecipe .recipeDetailMaterials>span{padding:7px;border:1px solid #4b3926;background:#211a12;font:11px var(--ui-pixel)}
.professionSimpleRecipe .recipeDetailMaterials .enough{color:#a7b982;border-color:#536542}.professionSimpleRecipe .recipeDetailMaterials .missing{color:#d68b79;border-color:#73483d}
.professionSocketList{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.professionRecipeSection{display:grid;gap:7px;margin-bottom:14px}.professionRecipeSection:last-child{margin-bottom:0}
.professionRecipeSectionHead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-left:3px solid #8d6837;background:#211a12}
.professionRecipeSectionHead h3{margin:1px 0 0!important;font-size:16px!important}
#crafting #recipeList.recipes{display:grid!important;grid-template-columns:1fr!important}
@media(max-width:760px){.professionStationTop,.professionSimpleRecipe{grid-template-columns:1fr;display:grid!important}.professionStationTop{display:flex!important;flex-direction:column}.professionSimpleRecipe .recipeDetailMaterials{grid-template-columns:1fr}}
.workshopMode.on{background:linear-gradient(180deg,#785626,#543a1b)!important;border-color:#a67937!important;color:#f0d698!important}
.runeTierList{display:grid;gap:10px}
.runeTierGroup{border:1px solid #594329;background:#1c1710;padding:9px}
.runeTierHeading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:2px 2px 8px;border-bottom:1px solid #4d3a25;color:#ddbd7e;font-family:var(--ui-pixel);font-size:11px;font-weight:800}
.runeTierHeading small{color:#8f8064;font-size:8px;font-weight:400}
.runeTierGroup>.recipes{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:9px}
@media(max-width:1050px){.runeTierGroup>.recipes{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){.runeTierGroup>.recipes{grid-template-columns:1fr!important}.workshopTabs{width:100%}.workshopTabs .btn{flex:1}}

/* Recipe information hierarchy: item facts and crafting requirements are separate. */
.recipeDetailLayout{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(285px,.65fr)!important;gap:12px!important;padding:11px!important;min-height:0!important}
.recipeItemInformation{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(260px,1.3fr);gap:10px;min-width:0}
.recipeInfoSection,.recipeCraftingBox{border:1px solid #4d3b27;background:#18130e;padding:9px;min-width:0}
.recipeInfoSection h4,.recipeCraftingBox h4,.itemActionBox h4{margin:0 0 9px;color:#d7b879;font-family:var(--ui-pixel);font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.recipeProfileList,.recipeStatList{display:grid;gap:5px}
.recipeProfileList span{color:#c7b38c;font-family:var(--ui-pixel);font-size:12px;line-height:1.45}
.recipeStatList{grid-template-columns:repeat(2,minmax(0,1fr))}
.recipeStatList span{padding:6px 7px;border-left:2px solid #73552f;background:#211a12;color:#dfc99d;font-family:var(--ui-pixel);font-size:11px}
.recipeCraftingBox{display:flex;flex-direction:column}
.recipeCraftMeta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.recipeCraftMeta span{padding:6px;background:#211a12;border:1px solid #483723;color:#bbaa86;text-align:center;font-family:var(--ui-pixel);font-size:10px}
.recipeCraftMeta .enough{color:#a7b982;border-color:#536542}.recipeCraftMeta .missing{color:#d68b79;border-color:#73483d}
.recipeCostLabel{margin:11px 0 6px;color:#a08e6b;font-family:var(--ui-pixel);font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.recipeDetailLayout .recipeDetailMaterials{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px!important;align-items:stretch!important}
.recipeDetailLayout .recipeDetailMaterials>span{position:relative;padding:7px 8px;border:1px solid #4b3926;background:#211a12;color:#bbaa86;font-family:var(--ui-pixel);font-size:11px}
.recipeDetailLayout .recipeDetailMaterials>span.enough{color:#a7b982;border-color:#536542}.recipeDetailLayout .recipeDetailMaterials>span.missing{color:#d68b79;border-color:#73483d}
.recipeDetailLayout .recipeDetailMaterials small{float:right;color:#9c8963;font-size:9px}.recipeDetailLayout .recipeDetailMaterials em{display:block;margin-top:4px;color:#b6976c;font-size:9px;font-style:normal}
.recipeDetailLayout .recipeLineAction{display:block!important;min-width:0!important;margin-top:auto;padding-top:10px}
.recipeDetailLayout .recipeQuantityControl{width:100%;justify-content:flex-end}
.recipeDetailLayout .recipeQuantityControl .btn{flex:1;max-width:150px}
@media(max-width:1050px){.recipeDetailLayout{grid-template-columns:1fr!important}.recipeItemInformation{grid-template-columns:1fr 1.4fr}}
@media(max-width:650px){.recipeItemInformation{grid-template-columns:1fr}.recipeStatList,.recipeDetailLayout .recipeDetailMaterials{grid-template-columns:1fr}.recipeCraftMeta{grid-template-columns:1fr}}

/* Inventory item details use the same readable profile/stat hierarchy as recipes. */
.itemDetailCard{padding:11px!important}
.itemDetailHeader{display:flex;align-items:center;gap:11px;padding-bottom:10px;border-bottom:1px solid #594329}
.itemDetailHeader .itemVisual{width:58px!important;height:58px!important;min-height:58px!important;margin:0!important}
.itemDetailHeader .name{font-size:16px!important}.itemDetailHeader .muted{font-size:11px!important;margin-top:3px}
.itemDetailLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,.36fr);gap:10px;margin-top:10px}
.itemDetailInformation{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(260px,1.35fr);gap:10px;min-width:0}
.itemActionBox{display:flex;flex-direction:column;border:1px solid #4d3b27;background:#18130e;padding:10px}
.itemOwner{padding:7px;background:#211a12;color:#bbaa86;font:11px var(--ui-pixel)}
.itemValue{display:flex;justify-content:space-between;gap:10px;margin-top:5px;padding:7px;background:#211a12;color:#a08e6b;font:11px var(--ui-pixel)}
.itemValue strong{color:#dfbd78}.itemActionButtons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto;padding-top:10px}
.itemRuneSection{margin-top:10px;padding:10px;border:1px solid #4d3b27;background:#18130e}
.itemSectionHeading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.itemSectionHeading h3{margin:0!important;font-size:14px!important}.itemSectionHeading span{color:#a08e6b;font:10px var(--ui-pixel)}
.itemRuneSection .runeSlotRow{margin-top:0}.itemRuneSection .muted{font-size:11px!important}
@media(max-width:850px){.itemDetailLayout{grid-template-columns:1fr}.itemActionButtons{margin-top:8px}}
@media(max-width:600px){.itemDetailInformation{grid-template-columns:1fr}.itemActionButtons{grid-template-columns:1fr}}
.sectionKicker{margin-bottom:3px}
.dashboardCount{display:inline-grid;place-items:center;min-width:20px;height:18px;margin-left:4px;padding:0 5px;background:#1d1710;border:1px solid #5d482e;color:#cda65d;font-family:var(--ui-pixel);font-size:9px;vertical-align:2px}
.guildActivityDashboard{margin-bottom:10px}
.guildActivityColumn>.head{align-items:center!important}
.guildHallLower{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:10px;align-items:start}
.guildHallNotices{display:grid;gap:10px}
.guildRecruitmentPanel #recruits{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.guildContractNotice .head{align-items:center}
.contractSummaryStats{display:grid;grid-template-columns:1fr 1fr;border:1px solid #4f3c28;background:#211a12}
.contractSummaryStats>div{padding:10px;border-right:1px solid #4f3c28}
.contractSummaryStats>div:last-child{border:0}
.contractSummaryStats strong{display:block;color:#d9bd82;font:800 20px var(--ui-pixel)}
.contractSummaryStats span{display:block;margin-top:2px;color:#8f8064;font:8px var(--ui-pixel);text-transform:uppercase;letter-spacing:.05em}
.contractSummaryStats .ready strong{color:#a7b982}
.contractSummaryFocus{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;padding:8px 9px;border-left:2px solid #856338;background:#211a12}
.contractSummaryFocus span{display:block;color:#817359;font:8px var(--ui-pixel);text-transform:uppercase}
.contractSummaryFocus strong{display:block;margin-top:3px;color:#cdb88d;font-size:10px}
.contractSummaryFocus b{color:#d9bd82;font:10px var(--ui-pixel);white-space:nowrap}
.dashboardEmpty{padding:14px;border:1px dashed #5f482d;color:#8f8064;text-align:center;font:9px var(--ui-pixel)}
.guildLedger{margin-top:10px!important}
.guildLedger .log{max-height:150px!important;border:0!important;border-left:2px solid #554128!important;border-radius:0!important;background:#1d1710!important}

@media(max-width:1100px){
  .guildBanner{grid-template-columns:1fr}
  .guildBanner .guildRepProgress{grid-column:auto}
  .guildHallLower{grid-template-columns:1fr}
  .guildHallNotices{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .guildCommandBar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guildBannerStats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guildBannerStat:nth-child(2){border-right:0}
  .guildBannerStat:nth-child(-n+2){border-bottom:1px solid #4b3926}
  .guildHallNotices{grid-template-columns:1fr}
  .guildRecruitmentPanel #recruits{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .guildBanner{padding:13px!important}
  .guildBanner h2{font-size:19px!important}
  .guildCommandBar{grid-template-columns:1fr}
}
.subclassChoiceIcon{height:88px;display:grid;place-items:center;margin-bottom:8px;border:1px solid #5b452c;background:#17120d;overflow:hidden}
.subclassChoiceIcon>.gameAsset,.subclassChoiceIcon img.gameAsset{width:78px!important;height:78px!important;max-width:78px!important;max-height:78px!important;object-fit:contain;image-rendering:pixelated}
.milestoneChoiceGrid{align-items:stretch}.milestoneChoice{display:flex!important;flex-direction:column;gap:8px}.milestoneChoice .modalActionRow,.milestoneChoice>button{margin-top:auto}
.milestoneTrack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
.milestoneNode{display:flex;flex-direction:column;gap:3px;min-height:70px;padding:8px;text-align:left;border:1px solid #50402b;background:#18140f;color:#8e8169;font-family:inherit}
.milestoneNode small{font:8px var(--ui-pixel);letter-spacing:.06em;text-transform:uppercase}.milestoneNode b{font-size:11px;color:#b9a783}.milestoneNode span{font:8px/1.3 var(--ui-pixel)}
.milestoneNode.complete{border-color:#61734c;background:#1b2116}.milestoneNode.complete b,.milestoneNode.complete span{color:#a8ca8d}
.milestoneNode.ready{cursor:pointer;border-color:#b18039;background:#382814;box-shadow:inset 0 0 0 1px rgba(226,180,85,.14)}.milestoneNode.ready b,.milestoneNode.ready span{color:#ebcb87}
.milestoneNode.ready:hover{background:#49341a;border-color:#d09a48}.milestoneNode:disabled{opacity:1}
@media(max-width:700px){.milestoneTrack{grid-template-columns:repeat(2,minmax(0,1fr))}}
.inboxNav{position:relative}.navBadge{position:absolute;top:3px;right:5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:#a94232;color:#fff4d0;font-size:10px;font-weight:800;line-height:1}.guildIssueList{display:grid;gap:10px}.guildIssueCard{padding:14px}.guildIssueIdentity{display:flex;align-items:center;gap:10px}.guildIssueSubject{color:var(--gold);font-weight:700}.guildIssueChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.guildIssueChoices .btn{height:auto;min-height:58px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;white-space:normal}.guildIssueChoices .btn span{font-size:11px;opacity:.8;margin-top:3px}.personalQuestSection{margin-bottom:12px;border-color:#9d6630}.personalQuestCard{position:relative}.personalQuestCard .actionButton{margin-top:10px}@media(max-width:700px){.guildIssueChoices{grid-template-columns:1fr}}
.applicantLock{position:absolute;top:8px;right:8px;z-index:2;padding:4px 7px;font-size:10px}.applicantLock.on{border-color:#d4a94f;background:#493514;color:#ffe39a}.recruitActionCard .heroTop{padding-right:66px}
#items.inventory{grid-auto-rows:292px!important}
.compactRoster .hero{position:relative;padding-right:76px!important}
.compactRoster .compactEquipmentSlots{position:absolute;top:6px;right:6px;bottom:6px;grid-template-columns:repeat(2,29px);grid-template-rows:repeat(2,29px);gap:4px;width:62px;max-height:62px;margin:0;align-content:center;justify-content:center}
.compactRoster .compactEquipmentSlot{width:29px;height:29px;padding:2px;font-size:16px}
.compactRoster .compactEquipmentSlot .gameAsset,.compactRoster .compactEquipmentSlot img{width:25px!important;height:25px!important;max-width:25px!important;max-height:25px!important}
.compactEquipmentSlot.empty{background:#14110d;border-color:#493a28;box-shadow:inset 0 0 0 1px rgba(0,0,0,.28)}
.emptyEquipmentGlyph{display:grid;place-items:center;width:100%;height:100%;color:#665944;font:400 17px/1 monospace;opacity:.72}
.compactRoster .power{justify-content:flex-start!important;gap:14px!important;padding-right:0}
.compactRoster .power strong{margin-left:0}
.inventorySummaryCard{height:292px!important;min-height:292px!important;padding:10px!important;gap:7px!important}.inventorySummaryCard .itemVisual{width:54px!important;height:54px!important;min-height:54px!important;margin:0 auto!important}.inventorySummaryName{font-size:15px!important;line-height:1.15!important;min-height:38px;display:flex;align-items:flex-start;justify-content:center;text-align:center;white-space:normal!important;overflow:hidden}.inventorySummaryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(42px,auto);gap:5px;margin-top:auto;width:100%}.inventorySummaryGrid.stats-1{grid-template-columns:1fr}.inventorySummaryGrid.stats-3>.inventorySummaryStat:last-child,.inventorySummaryGrid.stats-5>.inventorySummaryStat:last-child{grid-column:1/-1}.inventorySummaryStat{box-sizing:border-box;min-width:0;min-height:42px;padding:5px 3px;background:#17120c;border:1px solid #72552b;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}.inventorySummaryStat span{display:block;width:100%;font-size:7px;line-height:1.1;color:#ad9a72;text-transform:uppercase;letter-spacing:0;white-space:normal;overflow-wrap:normal;word-break:normal}.inventorySummaryStat strong{display:block;max-width:100%;margin-top:4px;color:#f0d397;font-size:12px;line-height:1;white-space:nowrap}.inventorySummaryStat strong .statSTR,.inventorySummaryStat strong .statDEX,.inventorySummaryStat strong .statINT{font-size:inherit}@media(max-width:600px){#items.inventory{grid-auto-rows:282px!important}.inventorySummaryCard{height:282px!important;min-height:282px!important}.inventorySummaryName{font-size:14px!important}.inventorySummaryStat strong{font-size:11px}}
