.guildFortressScreen{
  position:fixed;
  inset:0;
  z-index:40;
  overflow:auto;
  background:#120b10;
  --guildFortressStageSidePad:var(--stageSidePad, clamp(44px, 6vw, 124px));
  --guildFortressStageW:var(--stageW, calc(100vw - (var(--guildFortressStageSidePad) * 2)));
  --guildFortressMenuW:var(--menuStageW, 340px);
  --guildFortressStageLeft:calc(50% - (var(--guildFortressStageW) / 2) + var(--guildFortressMenuW));
  --guildFortressStageWidth:calc(var(--guildFortressStageW) - var(--guildFortressMenuW));
}

.guildFortressScreen[hidden],
.guildFortressScreen [hidden]{ display:none !important; }

.guildFortressShell{
  position:relative;
  min-height:100%;
  color:#f8e8c0;
  font-family:Cinzel, Georgia, serif;
  isolation:isolate;
}

.guildFortressScene{
  position:absolute;
  inset:0 auto 0 var(--guildFortressStageLeft);
  width:var(--guildFortressStageWidth);
  min-height:720px;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(14,8,13,.08), rgba(14,7,10,.28)),
    url('../img/guild_fortress/guild_fortress_scene_l01_v1.png') center center / cover no-repeat;
}

/* Every guild level has its own complete fortress plate. The six clickable
   locations stay fixed over the artwork; only the baked visual evolves. */
.guildFortressScreen[data-fortress-stage="level-01"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.08), rgba(14,7,10,.28)), url('../img/guild_fortress/guild_fortress_scene_l01_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-02"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.08), rgba(14,7,10,.28)), url('../img/guild_fortress/guild_fortress_scene_l02_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-03"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.07), rgba(14,7,10,.26)), url('../img/guild_fortress/guild_fortress_scene_l03_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-04"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.07), rgba(14,7,10,.25)), url('../img/guild_fortress/guild_fortress_scene_l04_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-05"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.06), rgba(14,7,10,.24)), url('../img/guild_fortress/guild_fortress_scene_l05_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-06"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.06), rgba(14,7,10,.23)), url('../img/guild_fortress/guild_fortress_scene_l06_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-07"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.06), rgba(14,7,10,.22)), url('../img/guild_fortress/guild_fortress_scene_l07_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-08"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.05), rgba(14,7,10,.21)), url('../img/guild_fortress/guild_fortress_scene_l08_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-09"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.05), rgba(14,7,10,.2)), url('../img/guild_fortress/guild_fortress_scene_l09_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-10"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.04), rgba(14,7,10,.19)), url('../img/guild_fortress/guild_fortress_scene_l10_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-11"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.04), rgba(14,7,10,.18)), url('../img/guild_fortress/guild_fortress_scene_l11_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-12"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.04), rgba(14,7,10,.17)), url('../img/guild_fortress/guild_fortress_scene_l12_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-13"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.03), rgba(14,7,10,.16)), url('../img/guild_fortress/guild_fortress_scene_l13_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-14"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.03), rgba(14,7,10,.15)), url('../img/guild_fortress/guild_fortress_scene_l14_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-15"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(14,8,13,.03), rgba(14,7,10,.14)), url('../img/guild_fortress/guild_fortress_scene_l15_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-16"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(10,7,12,.03), rgba(9,6,10,.14)), url('../img/guild_fortress/guild_fortress_scene_l16_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-17"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(10,7,12,.03), rgba(9,6,10,.13)), url('../img/guild_fortress/guild_fortress_scene_l17_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-18"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(10,7,12,.02), rgba(9,6,10,.12)), url('../img/guild_fortress/guild_fortress_scene_l18_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-19"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(10,7,12,.02), rgba(9,6,10,.11)), url('../img/guild_fortress/guild_fortress_scene_l19_v1.png'); }
.guildFortressScreen[data-fortress-stage="level-20"] .guildFortressScene{ background-image:linear-gradient(180deg, rgba(8,6,10,.02), rgba(8,5,10,.1)), url('../img/guild_fortress/guild_fortress_scene_l20_v1.png'); }

.guildFortressScene::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 51%, rgba(255,200,102,.08), transparent 45%),
    linear-gradient(180deg, rgba(5,3,7,.24), transparent 22%, transparent 72%, rgba(5,3,7,.38));
}

.guildFortressHeader{
  position:relative;
  left:var(--guildFortressStageLeft);
  width:var(--guildFortressStageWidth);
  box-sizing:border-box;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:78px;
  padding:14px 24px;
  border-bottom:1px solid rgba(226,173,75,.6);
  background:linear-gradient(180deg, rgba(22,11,16,.96), rgba(22,11,16,.7));
  box-shadow:0 8px 22px rgba(0,0,0,.42), inset 0 -1px 0 rgba(255,237,175,.12);
}

.guildFortressTitle{
  display:flex;
  align-items:center;
  min-width:0;
  gap:12px;
}
.guildFortressTitle > div{ min-width:0; }

.guildFortressCrest{
  width:42px;
  height:48px;
  flex:0 0 auto;
  border:1px solid rgba(239,190,89,.76);
  border-radius:8px 8px 14px 14px;
  background:linear-gradient(145deg, #7e202d, #30101a 68%, #0f080e);
  box-shadow:inset 0 0 0 4px rgba(30,10,17,.72), 0 4px 12px rgba(0,0,0,.4);
}

.guildFortressTitle h1,
.guildFortressTitle p{ margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.guildFortressTitle h1{ font-size:clamp(20px,2.1vw,32px); letter-spacing:.04em; text-shadow:0 2px 4px #000; }
.guildFortressTitle p{ margin-top:3px; color:#d7b979; font:700 12px/1.2 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }

.guildFortressTreasury{
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 14px;
  border:1px solid rgba(223,171,75,.55);
  border-radius:8px;
  background:rgba(42,21,21,.82);
  font:800 17px/1 Arial,sans-serif;
  box-shadow:inset 0 1px 0 rgba(255,241,193,.12);
  white-space:nowrap;
}
.guildFortressTreasury > span:last-child{ min-width:0; overflow:hidden; text-overflow:ellipsis; }

.guildFortressGoldIcon{
  width:23px;
  height:23px;
  display:inline-block;
  background:url('../img/ui/gold.png') center / contain no-repeat;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.55));
}

.guildFortressBack,
.guildFortressClose,
.guildFortressAction,
.guildFortressTab{
  border:1px solid rgba(225,172,77,.75);
  color:#ffeac0;
  border-radius:7px;
  background:linear-gradient(180deg, #6d2d24, #2e1117);
  box-shadow:inset 0 1px 0 rgba(255,241,193,.18), 0 5px 12px rgba(0,0,0,.32);
  cursor:pointer;
  font-family:inherit;
  font-weight:800;
}

.guildFortressBack{ padding:10px 14px; white-space:nowrap; }
.guildFortressBack::before{ content:"‹"; margin-right:7px; font:900 21px/0 Arial,sans-serif; vertical-align:-2px; }
.guildFortressBack:hover,
.guildFortressClose:hover,
.guildFortressAction:hover,
.guildFortressTab:hover{ filter:brightness(1.16); transform:translateY(-1px); }

.guildFortressBuildings{
  position:absolute;
  inset:0 auto 0 var(--guildFortressStageLeft);
  width:var(--guildFortressStageWidth);
  z-index:3;
}

.guildFortressBuilding{
  position:absolute;
  padding:0;
  border:0;
  background:transparent;
  color:#ffe7b5;
  cursor:pointer;
  filter:drop-shadow(0 13px 12px rgba(0,0,0,.64));
  transition:filter .16s ease, transform .16s ease;
}

.guildFortressBuilding[data-building="main_hall"],
.guildFortressBuilding[data-building="bank"]{ z-index:6; }
.guildFortressBuilding[data-building="warehouse"],
.guildFortressBuilding[data-building="war_hall"]{ z-index:4; }
.guildFortressBuilding[data-building="boss_hall"],
.guildFortressBuilding[data-building="training_grounds"]{ z-index:5; }

.guildFortressBuilding:hover,
.guildFortressBuilding:focus-visible{ z-index:8; transform:translateY(-3px) scale(1.025); filter:drop-shadow(0 15px 14px rgba(0,0,0,.72)) brightness(1.1); outline:none; }
.guildFortressBuilding.is-locked .guildFortressBuildingLabel{ border-color:rgba(180,143,90,.55); color:#c1b08e; }

.guildFortressBuildingLabel{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:2%;
  min-width:92px;
  transform:translateX(-50%);
  padding:5px 7px 4px;
  border:1px solid rgba(234,185,91,.74);
  border-radius:3px 5px 4px 4px;
  background:linear-gradient(180deg, rgba(86,42,27,.96), rgba(26,12,14,.97));
  box-shadow:0 5px 12px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,241,193,.2);
  font-size:clamp(9px, .62vw, 11px);
  line-height:1.08;
  text-align:center;
  text-shadow:0 2px 3px #000;
  white-space:nowrap;
  clip-path:polygon(2% 0, 97% 3%, 100% 88%, 94% 100%, 5% 97%, 0 87%);
}

.guildFortressLevel{
  display:block;
  margin-top:2px;
  color:#e9c878;
  font:800 8px/1 Arial,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.guildFortressBuilding[data-building="warehouse"] .guildFortressBuildingLabel{ transform:translateX(-50%) rotate(-1.1deg); }
.guildFortressBuilding[data-building="war_hall"] .guildFortressBuildingLabel{ transform:translateX(-50%) rotate(1deg); }
.guildFortressBuilding[data-building="boss_hall"] .guildFortressBuildingLabel{ transform:translateX(-50%) rotate(.8deg); }
.guildFortressBuilding[data-building="training_grounds"] .guildFortressBuildingLabel{ transform:translateX(-50%) rotate(-.9deg); }

.guildFortressBuilding[data-building="main_hall"]{ left:38%; top:15%; width:22%; height:24%; }
.guildFortressBuilding[data-building="warehouse"]{ left:16.5%; top:22%; width:24%; height:24%; }
.guildFortressBuilding[data-building="war_hall"]{ right:18.5%; top:22%; width:24%; height:24%; }
.guildFortressBuilding[data-building="boss_hall"]{ left:16.8%; top:51%; width:24%; height:21%; }
.guildFortressBuilding[data-building="training_grounds"]{ right:18.7%; top:50%; width:24%; height:22%; }
.guildFortressBuilding[data-building="bank"]{ left:37.2%; top:65%; width:24%; height:18%; }

.guildFortressScreen[data-guild-level="20"] .guildFortressHeader{
  border-bottom-color:rgba(246,199,99,.9);
  box-shadow:0 8px 24px rgba(0,0,0,.48), 0 0 28px rgba(245,173,65,.18), inset 0 -1px 0 rgba(255,244,185,.24);
}
.guildFortressScreen[data-guild-level="20"] .guildFortressTitle h1{ text-shadow:0 2px 4px #000, 0 0 18px rgba(255,190,76,.3); }

.guildFortressScreen[data-no-guild="1"] .guildFortressBuildings{
  opacity:.28;
  filter:grayscale(.35);
  pointer-events:none;
}

.guildFortressPanel{
  position:absolute;
  z-index:12;
  box-sizing:border-box;
  top:92px;
  right:22px;
  bottom:24px;
  width:min(450px, calc(100vw - 44px));
  overflow:auto;
  padding:20px;
  border:1px solid rgba(228,178,83,.75);
  border-radius:12px;
  background:linear-gradient(160deg, rgba(38,18,23,.98), rgba(15,9,14,.98));
  box-shadow:0 18px 45px rgba(0,0,0,.67), inset 0 1px 0 rgba(255,241,193,.18);
}

.guildFortressPanel h2{ margin:0 42px 4px 0; font-size:24px; color:#ffe8b4; }
.guildFortressPanel h3{ margin:20px 0 8px; font-size:14px; color:#d9b66f; letter-spacing:.08em; text-transform:uppercase; }
.guildFortressPanel p{ margin:7px 0; color:#d5c8af; font:14px/1.45 Arial,sans-serif; }
.guildFortressClose{ position:absolute; top:13px; right:13px; width:30px; height:30px; font:900 20px/1 Arial,sans-serif; }
.guildFortressPanelHeader{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.guildFortressStatGrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:14px 0; }
.guildFortressStat{ padding:10px; border:1px solid rgba(205,153,71,.28); border-radius:7px; background:rgba(74,35,28,.34); }
.guildFortressStat b{ display:block; color:#ffe5ad; font:800 18px/1.1 Arial,sans-serif; }
.guildFortressStat span{ color:#bba783; font:11px/1.2 Arial,sans-serif; text-transform:uppercase; }
.guildFortressUpgrade{ margin-top:14px; padding:12px; border:1px solid rgba(205,153,71,.4); border-radius:8px; background:rgba(19,10,15,.64); }
.guildFortressUnlock{ border-color:rgba(168,124,67,.48); background:linear-gradient(145deg,rgba(33,19,20,.8),rgba(17,10,14,.76)); }
.guildFortressUpgrade strong{ display:block; margin-bottom:5px; color:#ffe6ad; font-size:16px; }
.guildFortressUpgrade small{ display:block; color:#c8b995; font:12px/1.4 Arial,sans-serif; }
.guildFortressUpgrade .guildFortressAction{ margin-top:10px; padding:9px 12px; }
.guildFortressAction:disabled{ cursor:not-allowed; opacity:.48; filter:grayscale(.65); transform:none; }
.guildFortressMuted{ color:#a99980 !important; }

.guildFortressForm{ display:flex; gap:8px; margin:12px 0; }
.guildFortressForm input{ min-width:0; flex:1; padding:10px; border:1px solid rgba(220,174,84,.52); border-radius:6px; color:#ffeac3; background:#1d1015; font:700 15px Arial,sans-serif; }
.guildFortressForm .guildFortressAction{ padding:9px 12px; }
.guildFortressTabs{ display:flex; gap:6px; margin:12px 0; }
.guildFortressTab{ padding:7px 10px; font-size:12px; }
.guildFortressTab.is-active{ background:linear-gradient(180deg,#a24b2c,#4b1b1e); }
.guildFortressRows{ display:grid; gap:6px; }
.guildFortressRow{ display:flex; align-items:center; gap:9px; padding:9px 10px; border:1px solid rgba(214,164,79,.22); border-radius:7px; background:rgba(49,24,26,.47); font:13px Arial,sans-serif; }
.guildFortressRow b{ flex:1; color:#f3dfb1; }
.guildFortressRow strong{ color:#f1c765; font:800 14px Arial,sans-serif; }
.guildFortressRank{ display:grid; place-items:center; width:24px; height:24px; border:1px solid rgba(237,188,88,.65); border-radius:50%; color:#f6d580; font:800 12px Arial,sans-serif; }
.guildFortressRank[data-rank="1"]{ background:linear-gradient(145deg,#b97d2d,#5f371c); }
.guildFortressRank[data-rank="2"]{ background:linear-gradient(145deg,#89868c,#3b3d45); }
.guildFortressRank[data-rank="3"]{ background:linear-gradient(145deg,#a66b42,#533322); }

.guildFortressStorageGrid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin-top:10px; }
.guildFortressSlot{ position:relative; min-height:67px; padding:4px; border:1px solid rgba(215,171,86,.24); border-radius:6px; background:rgba(8,6,11,.62); color:#ead8b2; cursor:pointer; }
.guildFortressSlot:hover,.guildFortressSlot:focus-visible{ border-color:#efbb5e; background:rgba(89,42,32,.52); outline:none; }
.guildFortressSlot img{ display:block; width:33px; height:33px; margin:0 auto 2px; object-fit:contain; }
.guildFortressSlot span{ display:block; overflow:hidden; font:10px/1.1 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.guildFortressSlot small{ position:absolute; right:4px; top:3px; color:#fff0bb; font:800 10px Arial,sans-serif; }
.guildFortressInventory{ margin-top:14px; }
.guildFortressInventory .guildFortressRow button{ margin-left:auto; padding:5px 7px; }
.guildFortressEmpty{ position:absolute; z-index:11; left:50%; top:45%; width:min(520px,calc(100vw - 40px)); transform:translate(-50%,-50%); padding:22px; text-align:center; border:1px solid rgba(225,171,77,.66); border-radius:10px; background:linear-gradient(160deg,rgba(38,18,23,.97),rgba(15,9,14,.97)); box-shadow:0 15px 35px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,241,193,.1); }
.guildFortressEmpty h2{ margin:0 0 8px; }
.guildFortressEmpty > p{ margin:0 auto 12px; max-width:420px; color:#d5c8af; font:14px/1.45 Arial,sans-serif; }
.guildFortressEmpty #guildGatePanel{
  display:block !important;
  position:static !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  z-index:auto !important;
}
.guildFortressEmpty #guildGatePanel h3{ display:none; }
.guildFortressEmpty #guildGatePanel .guildHint{ margin:0 0 12px; color:#d8c7a3; }
.guildFortressEmpty #guildGatePanel > div[style]{ margin-top:0 !important; }
.guildFortressEmpty #guildGatePanel input#guildNameInput{ box-sizing:border-box; width:100%; }
.guildFortressEmpty #guildGatePanel .guildBtnRow{ display:flex; flex-wrap:wrap; justify-content:center; gap:9px; }
.guildFortressEmpty #guildGatePanel .guildBtn{ flex:1 1 180px; min-width:0; }
.guildFortressEmpty #guildFindPanel{ max-height:min(38vh,310px); overflow:auto; text-align:left; }

/* The no-guild entry is a full guild-creation window, not a small legacy
   prompt. Give it the same deep forest-green atmosphere as the game world
   and enough room for the banner editor to keep its two columns readable. */
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty{
  top:50%;
  width:min(980px, calc(100vw - 390px));
  max-height:calc(100vh - 104px);
  overflow:auto;
  box-sizing:border-box;
  padding:22px 24px 24px;
  border-color:rgba(186,164,91,.76);
  background:
    radial-gradient(circle at 50% 0%, rgba(117,157,89,.2), transparent 52%),
    radial-gradient(circle at 8% 100%, rgba(37,92,62,.2), transparent 44%),
    linear-gradient(160deg, rgba(16,43,31,.98), rgba(7,22,16,.98) 70%, rgba(5,15,12,.99));
  box-shadow:
    0 20px 55px rgba(0,0,0,.74),
    0 0 28px rgba(68,126,77,.16),
    inset 0 1px 0 rgba(225,241,193,.14),
    inset 0 0 34px rgba(2,12,8,.36);
}
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty > p{ color:#c9d9b9; }
.guildFortressScreen[data-no-guild="1"] .guildFortressHeader{ display:none !important; }
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty #guildGatePanel .guildHint{ display:none; }
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty .oaiGuildCreateLayout{ width:100%; }
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty .oaiGuildBannerPreviewPanel,
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty .oaiGuildBannerControls{
  border-color:rgba(129,169,103,.42);
  background:
    radial-gradient(circle at 50% 18%, rgba(91,141,78,.16), transparent 52%),
    linear-gradient(180deg, rgba(18,52,36,.94), rgba(8,27,19,.96));
  box-shadow:inset 0 0 28px rgba(104,164,101,.04), 0 10px 28px rgba(0,0,0,.3);
}
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty .oaiGuildBannerChoice,
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty .oaiGuildBannerColor,
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty .oaiGuildBannerPreset{
  background:linear-gradient(160deg, rgba(31,76,51,.72), rgba(7,25,17,.92));
  border-color:rgba(130,170,103,.3);
}
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty .oaiGuildBannerChoice:hover,
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty .oaiGuildBannerPreset:hover{
  border-color:rgba(220,205,125,.78);
}

@media (max-width:800px){
  .guildFortressScreen{
    --guildFortressStageSidePad:0px;
    --guildFortressStageW:100vw;
    --guildFortressMenuW:0px;
    --guildFortressStageLeft:0px;
    --guildFortressStageWidth:100vw;
  }
  .guildFortressHeader{ padding:10px 12px; min-height:64px; gap:8px; }
  .guildFortressTitle{ flex:1 1 auto; gap:7px; }
  .guildFortressTitle p{ max-width:100%; font-size:9px; letter-spacing:.04em; text-overflow:ellipsis; }
  .guildFortressCrest{ width:32px; height:37px; }
  .guildFortressTitle h1{ font-size:19px; }
  .guildFortressBuildingLabel{ min-width:82px; padding:4px 6px 3px; font-size:9px; }
  .guildFortressLevel{ font-size:7px; }
  .guildFortressTreasury{ flex:0 0 auto; max-width:88px; padding:7px 8px; gap:4px; font-size:12px; }
  .guildFortressTreasury > span:last-child{ max-width:55px; }
  .guildFortressGoldIcon{ width:18px; height:18px; }
  .guildFortressBack{ padding:8px 9px; font-size:0; }
  .guildFortressBack::before{ margin:0; font-size:22px; }
  .guildFortressScene{ min-height:610px; background-size:auto 100%; background-position:center center; background-repeat:no-repeat; background-color:#2e201a; }
  .guildFortressBuildings{ inset:0; }
  .guildFortressBuilding[data-building="main_hall"]{ left:34%; top:13%; width:32%; height:25%; }
  .guildFortressBuilding[data-building="warehouse"]{ left:9%; top:20%; width:28%; height:23%; }
  .guildFortressBuilding[data-building="war_hall"]{ right:9%; top:22%; width:28%; height:23%; }
  .guildFortressBuilding[data-building="boss_hall"]{ left:9%; top:51%; width:28%; height:22%; }
  .guildFortressBuilding[data-building="training_grounds"]{ right:9%; top:49%; width:28%; height:22%; }
  .guildFortressBuilding[data-building="bank"]{ left:36%; top:64%; width:30%; height:19%; }
  .guildFortressPanel{ top:70px; right:10px; bottom:10px; width:calc(100vw - 20px); padding:15px; }
  .guildFortressScreen[data-no-guild="1"] .guildFortressEmpty{
    width:calc(100vw - 20px);
    max-height:calc(100vh - 82px);
    padding:16px;
  }
}

@media (max-width:900px){
  body.guild-fortress-active #oaiMainStageFrameV304{ display:none !important; }
}

/* The main stage frame sits above normal .screen layers on desktop. When the
   fortress is active it must be the only full-screen game surface visible. */
body.guild-fortress-active .guildFortressScreen.active{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:9400 !important;
  pointer-events:auto !important;
}
body.guild-fortress-active #globalLeftMenu,
body.guild-fortress-active #dfMenu{
  display:block !important;
  visibility:visible !important;
  pointer-events:auto !important;
  z-index:200000 !important;
}
body.guild-fortress-active #globalLeftMenu .lhBtn,
body.guild-fortress-active #dfMenu .dfBtn{
  pointer-events:auto !important;
}

/* No-guild entry behaves like a normal full game screen instead of a modal
   card floating over the fortress artwork. The permanent left menu remains
   outside this stage and keeps its own higher layer. */
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty{
  position:absolute;
  inset:0 0 0 var(--guildFortressStageLeft);
  width:auto;
  min-height:100%;
  max-height:none;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:auto;
  transform:none;
  padding:clamp(84px, 10vh, 112px) clamp(20px, 3vw, 48px) 36px;
  border:0;
  border-radius:0;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(113,164,94,.2), transparent 52%),
    radial-gradient(ellipse at 50% 100%, rgba(23,79,50,.26), transparent 62%),
    linear-gradient(180deg, rgba(9,31,21,.96), rgba(5,21,15,.97));
  box-shadow:inset 0 1px 0 rgba(225,241,193,.08), inset 0 0 60px rgba(1,10,7,.42);
}
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty > p,
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty #guildGatePanel{
  width:min(1120px, 100%);
}
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty > p{ flex:0 0 auto; }
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty #guildGatePanel{ flex:0 1 auto; }

/* The banner creator used to retain its modal-sized height limit here. The
   fortress entry has the whole stage available, so let the editor use that
   width and height instead of creating a second scrollbar inside the window. */
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty{
  overflow:hidden;
}
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty #guildGatePanel.oaiGuildBannerGate{
  width:100% !important;
  max-height:none !important;
  overflow:visible !important;
}
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty #guildGatePanel.oaiGuildBannerGate.guildFindOpen{
  width:min(1120px, 100%) !important;
  max-height:calc(100vh - 150px) !important;
  overflow:hidden !important;
  pointer-events:auto !important;
}
.guildFortressScreen[data-no-guild="1"] #guildGatePanel.guildFindOpen > .oaiGuildCreateLayout,
.guildFortressScreen[data-no-guild="1"] #guildGatePanel.guildFindOpen > .guildBtnRow,
.guildFortressScreen[data-no-guild="1"] #guildGatePanel.guildFindOpen #guildNameInput{
  display:none !important;
}
.guildFortressScreen[data-no-guild="1"] #guildGatePanel.guildFindOpen #guildFindPanel{
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  width:100%;
  max-height:calc(100vh - 150px);
  margin:0;
  overflow:hidden;
  pointer-events:auto;
}
.guildFortressScreen[data-no-guild="1"] #guildGatePanel.guildFindOpen .guildFindHeader{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.guildFortressScreen[data-no-guild="1"] #guildGatePanel.guildFindOpen .guildFindTitle{ margin:0; }
.guildFortressScreen[data-no-guild="1"] #guildGatePanel.guildFindOpen .guildFindList{
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:6px;
  pointer-events:auto;
}
.guildFortressScreen[data-no-guild="1"] #guildGatePanel.guildFindOpen [data-request-guild-id]{
  position:relative;
  z-index:1;
  pointer-events:auto;
}
.guildFortressScreen[data-no-guild="1"] .guildFortressEmpty .oaiGuildCreateLayout{
  grid-template-columns:minmax(340px, .9fr) minmax(0, 1.8fr);
  gap:24px;
}
body.guild-fortress-active #oaiMainStageFrameV304,
body.guild-fortress-active #cityScreen,
body.guild-fortress-active #staticCityBG,
body.guild-fortress-active #cityOverlay,
body.guild-fortress-active #cityOverlayFinal{
  display:none !important;
  pointer-events:none !important;
}

/* Reuse the same wooden stage frame as the map around the full-screen
   no-guild entry. Keep it above the scene, but let clicks pass through to the
   entry controls and the permanent left menu. */
body.guild-fortress-active #oaiMainStageFrameV304{
  display:block !important;
  visibility:visible !important;
  pointer-events:none !important;
  z-index:9500 !important;
}

/* The fortress is a navigation surface; its old title/treasury strip must
   never reappear above an individual building window. The shared wooden
   stage frame and the standalone close control remain in place. */
.guildFortressHeader{ display:none !important; }

/* Individual buildings use the complete right-hand game stage. The left
   navigation is outside this surface and remains interactive. */
.guildFortressScreen.guild-fortress-building-open .guildFortressScene,
.guildFortressScreen.guild-fortress-building-open .guildFortressBuildings{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.guildFortressScreen.guild-fortress-building-open .guildFortressPanel{
  position:absolute !important;
  top:var(--stagePad, 4px) !important;
  bottom:var(--stagePad, 4px) !important;
  left:var(--guildFortressStageLeft) !important;
  right:auto !important;
  width:var(--guildFortressStageWidth) !important;
  max-width:none !important;
  box-sizing:border-box;
  overflow:auto;
  padding:clamp(30px, 4vh, 58px) clamp(24px, 4vw, 64px) 34px;
  border:0;
  border-radius:0;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(112,157,92,.22), transparent 48%),
    radial-gradient(ellipse at 50% 100%, rgba(20,76,50,.3), transparent 64%),
    linear-gradient(180deg, rgba(8,29,20,.985), rgba(5,20,14,.99));
  box-shadow:inset 0 0 70px rgba(0,0,0,.58), inset 0 1px 0 rgba(232,213,155,.1);
  scrollbar-color:#9d7130 rgba(2,12,8,.55);
  scrollbar-width:thin;
}
.guildFortressScreen.guild-fortress-building-open .guildFortressPanel::-webkit-scrollbar{ width:10px; }
.guildFortressScreen.guild-fortress-building-open .guildFortressPanel::-webkit-scrollbar-track{ background:rgba(2,12,8,.55); }
.guildFortressScreen.guild-fortress-building-open .guildFortressPanel::-webkit-scrollbar-thumb{ border:2px solid rgba(2,12,8,.55); border-radius:8px; background:linear-gradient(#c18b3e,#704b24); }

.guildFortressScreen.guild-fortress-building-open .guildFortressPanel > *{
  position:relative;
  z-index:1;
  width:min(1320px, 100%);
  margin-right:auto;
  margin-left:auto;
}
.guildFortressScreen.guild-fortress-building-open .guildFortressPanel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:
    linear-gradient(90deg, rgba(255,222,146,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,222,146,.025) 1px, transparent 1px);
  background-size:72px 72px, 72px 72px;
  mask-image:linear-gradient(180deg, #000, transparent 92%);
}

/* Shared building-window heading. Each building gets a distinct emblem
   through the data attribute while keeping one reusable panel component. */
.guildFortressScreen.guild-fortress-building-open .guildFortressPanelHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
  padding:0 0 20px;
  border-bottom:1px solid rgba(188,157,91,.35);
}
.guildFortressPanelNav{ display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.guildFortressPanelHeading{ display:flex; align-items:center; min-width:0; gap:16px; }
.guildFortressPanelIcon{
  position:relative;
  display:grid;
  flex:0 0 56px;
  place-items:center;
  width:56px;
  height:64px;
  border:1px solid rgba(216,178,94,.7);
  border-radius:12px 12px 19px 19px;
  background:linear-gradient(145deg, rgba(128,89,39,.44), rgba(12,41,27,.9));
  box-shadow:inset 0 0 0 4px rgba(7,25,17,.72), 0 7px 18px rgba(0,0,0,.35);
}
.guildFortressPanelIcon::after{
  content:"✦";
  color:#e9be62;
  font:900 30px/1 Georgia,serif;
  text-shadow:0 2px 5px #000;
}
.guildFortressPanel[data-building-panel="main_hall"] .guildFortressPanelIcon::after{ content:"♜"; }
.guildFortressPanel[data-building-panel="warehouse"] .guildFortressPanelIcon::after{ content:"▣"; }
.guildFortressPanel[data-building-panel="war_hall"] .guildFortressPanelIcon::after{ content:"⚔"; }
.guildFortressPanel[data-building-panel="boss_hall"] .guildFortressPanelIcon::after{ content:"☠"; }
.guildFortressPanel[data-building-panel="training_grounds"] .guildFortressPanelIcon::after{ content:"✚"; }
.guildFortressPanel[data-building-panel="bank"] .guildFortressPanelIcon::after{ content:"◈"; }
.guildFortressPanelHeading > div{ min-width:0; }
.guildFortressPanelKicker{
  display:block;
  color:#b89453;
  font:700 11px/1.2 Arial,sans-serif;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.guildFortressScreen.guild-fortress-building-open .guildFortressPanel h2{
  margin:3px 0 5px;
  color:#f4dfad;
  font-size:clamp(26px, 3vw, 46px);
  letter-spacing:.055em;
  line-height:1.04;
  text-shadow:0 3px 7px rgba(0,0,0,.8);
}
.guildFortressScreen.guild-fortress-building-open .guildFortressPanelHeader p{
  margin:0;
  color:#b6c6ad;
  font:14px/1.45 Arial,sans-serif;
}
.guildFortressPanelBack{
  flex:0 0 auto;
  padding:10px 15px;
  border:1px solid rgba(218,178,91,.65);
  border-radius:7px;
  color:#f8e3b1;
  background:linear-gradient(180deg, rgba(84,62,31,.84), rgba(19,37,25,.94));
  box-shadow:inset 0 1px 0 rgba(255,244,199,.15), 0 5px 14px rgba(0,0,0,.3);
  cursor:pointer;
  font:800 12px/1 Arial,sans-serif;
  letter-spacing:.04em;
  white-space:nowrap;
}
.guildFortressPanelBack:hover,.guildFortressPanelBack:focus-visible{ border-color:#eec66d; filter:brightness(1.15); outline:none; transform:translateY(-1px); }
.guildFortressPanelClose{ display:grid; width:42px; height:42px; place-items:center; padding:0; cursor:pointer; border:1px solid rgba(218,178,91,.72); border-radius:7px; color:#ffe6a4; background:linear-gradient(145deg,rgba(104,28,24,.95),rgba(47,18,18,.96)); box-shadow:inset 0 1px 0 rgba(255,245,199,.16),0 5px 14px rgba(0,0,0,.34); font:700 31px/1 Georgia,serif; text-shadow:0 2px 4px #000; }
.guildFortressPanelClose:hover,.guildFortressPanelClose:focus-visible{ border-color:#f4cf72; filter:brightness(1.18); outline:none; transform:translateY(-1px); }

/* Each window has its own illustrated interior. The HTML remains on top of
   the artwork so text, lists and buttons stay crisp and accessible. */
.guildFortressPanel[data-building-panel="main_hall"]{
  background-image:linear-gradient(180deg, rgba(4,16,14,.3), rgba(4,18,13,.82)), url('../img/guild_fortress/guild_window_main_hall_bg_v1.png');
  background-position:center;
  background-size:cover;
}
.guildFortressPanel[data-building-panel="warehouse"]{
  background-image:linear-gradient(180deg, rgba(3,18,14,.3), rgba(3,19,13,.88)), url('../img/guild_fortress/guild_window_warehouse_bg_v1.png');
  background-position:center;
  background-size:cover;
}
.guildFortressPanel[data-building-panel="war_hall"]{
  background-image:linear-gradient(180deg, rgba(3,14,21,.32), rgba(4,17,16,.86)), url('../img/guild_fortress/guild_window_war_bg_v1.png');
  background-position:center;
  background-size:cover;
}
.guildFortressPanel[data-building-panel="boss_hall"]{
  background-image:linear-gradient(180deg, rgba(13,8,8,.26), rgba(10,12,10,.86)), url('../img/guild_fortress/guild_window_boss_bg_v1.png');
  background-position:center;
  background-size:cover;
}
.guildFortressPanel[data-building-panel="training_grounds"]{
  background-image:linear-gradient(180deg, rgba(7,17,16,.28), rgba(6,22,14,.84)), url('../img/guild_fortress/guild_window_training_bg_v1.png');
  background-position:center;
  background-size:cover;
}
.guildFortressPanel[data-building-panel="bank"]{
  background-image:linear-gradient(180deg, rgba(5,11,10,.3), rgba(4,16,13,.86)), url('../img/guild_fortress/guild_window_bank_bg_v1.png');
  background-position:center;
  background-size:cover;
}

/* Reuse the game's finished icon assets where they exist and reserve the
   heraldic CSS mark for buildings without a matching menu icon. */
.guildFortressPanel[data-building-panel="main_hall"] .guildFortressPanelIcon,
.guildFortressPanel[data-building-panel="bank"] .guildFortressPanelIcon{
  background-image:url('../img/ui/menu_icons/guild_v519.png');
  background-position:center;
  background-repeat:no-repeat;
  background-size:42px;
}
.guildFortressPanel[data-building-panel="warehouse"] .guildFortressPanelIcon{
  background-image:url('../img/ui/menu_icons/warehouse_v519.png');
  background-position:center;
  background-repeat:no-repeat;
  background-size:42px;
}
.guildFortressPanel[data-building-panel="training_grounds"] .guildFortressPanelIcon{
  background-image:url('../img/ui/menu_icons/trainer_v519.png');
  background-position:center;
  background-repeat:no-repeat;
  background-size:40px;
}
.guildFortressPanel[data-building-panel="main_hall"] .guildFortressPanelIcon::after,
.guildFortressPanel[data-building-panel="bank"] .guildFortressPanelIcon::after,
.guildFortressPanel[data-building-panel="warehouse"] .guildFortressPanelIcon::after,
.guildFortressPanel[data-building-panel="training_grounds"] .guildFortressPanelIcon::after{ display:none; }

/* Content cards used by every building window. */
.guildFortressScreen.guild-fortress-building-open .guildFortressPanel > p{
  box-sizing:border-box;
  margin:0 0 18px;
  padding:17px 19px;
  border:1px solid rgba(154,181,124,.27);
  border-radius:10px;
  background:rgba(3,20,14,.64);
  box-shadow:inset 0 1px 0 rgba(225,239,196,.05), 0 8px 20px rgba(0,0,0,.18);
  color:#c6d1bf;
  font:15px/1.65 Arial,sans-serif;
}
.guildFortressScreen.guild-fortress-building-open .guildFortressPanel > h3{
  margin:26px 0 12px;
  padding:0 0 9px;
  border-bottom:1px solid rgba(193,163,93,.35);
  color:#efcf88;
  font-size:18px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.guildFortressScreen.guild-fortress-building-open .guildFortressStatGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 22px;
}
.guildFortressScreen.guild-fortress-building-open .guildFortressStat{
  min-height:88px;
  box-sizing:border-box;
  padding:16px 13px;
  border:1px solid rgba(145,178,121,.32);
  border-radius:10px;
  background:linear-gradient(145deg, rgba(24,69,45,.7), rgba(5,28,19,.86));
  box-shadow:inset 0 1px 0 rgba(208,233,181,.08), 0 9px 22px rgba(0,0,0,.2);
  text-align:center;
}
.guildFortressScreen.guild-fortress-building-open .guildFortressStat b{ display:block; color:#edc66e; font:800 clamp(20px,2.3vw,31px)/1.05 Arial,sans-serif; }
.guildFortressScreen.guild-fortress-building-open .guildFortressStat span{ display:block; margin-top:8px; color:#b4c8af; font:700 11px/1.2 Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.guildFortressScreen.guild-fortress-building-open .guildFortressUpgrade{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr) auto;
  align-items:center;
  gap:18px;
  margin:24px 0;
  padding:18px 20px;
  border:1px solid rgba(197,166,96,.45);
  border-radius:11px;
  background:linear-gradient(120deg, rgba(47,63,37,.75), rgba(7,29,19,.92));
  box-shadow:inset 0 1px 0 rgba(235,221,174,.08), 0 12px 25px rgba(0,0,0,.22);
}
.guildFortressScreen.guild-fortress-building-open .guildFortressUpgradeCopy{ min-width:0; }
.guildFortressScreen.guild-fortress-building-open .guildFortressUpgrade strong{ color:#f0d38c; font:800 16px/1.25 Arial,sans-serif; }
.guildFortressScreen.guild-fortress-building-open .guildFortressUpgrade small{ color:#b6c6ad; font:13px/1.45 Arial,sans-serif; }
.guildFortressScreen.guild-fortress-building-open .guildFortressUpgradeBenefit{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
  padding:9px 13px;
  border-left:1px solid rgba(205,171,91,.3);
  background:rgba(37,58,31,.36);
}
.guildFortressScreen.guild-fortress-building-open .guildFortressUpgradeBenefit span{
  color:#c7a45c;
  font:800 9px/1.2 Arial,sans-serif;
  letter-spacing:.13em;
}
.guildFortressScreen.guild-fortress-building-open .guildFortressUpgradeBenefit b{
  color:#e8d39b;
  font:700 13px/1.35 Arial,sans-serif;
}
.guildFortressScreen.guild-fortress-building-open .guildFortressAction{
  min-height:42px;
  padding:10px 17px;
  border-color:rgba(196,172,99,.68);
  background:linear-gradient(180deg, #6e4324, #263921);
}
.guildFortressScreen.guild-fortress-building-open .guildFortressAction:disabled{ cursor:not-allowed; filter:grayscale(.6); opacity:.6; }

.guildFortressScreen.guild-fortress-building-open .guildFortressForm{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  margin:0 0 22px;
  padding:14px;
  border:1px solid rgba(165,179,125,.3);
  border-radius:10px;
  background:rgba(4,24,16,.7);
}
.guildFortressScreen.guild-fortress-building-open .guildFortressForm input{
  min-width:0;
  border-color:rgba(191,162,91,.45);
  border-radius:7px;
  color:#f7e2ad;
  background:rgba(3,13,10,.76);
}
.guildFortressScreen.guild-fortress-building-open .guildFortressRows{ gap:7px; }
.guildFortressScreen.guild-fortress-building-open .guildFortressRow{
  min-height:44px;
  box-sizing:border-box;
  padding:9px 13px;
  border-color:rgba(158,177,125,.25);
  border-radius:7px;
  background:rgba(4,22,15,.68);
}
.guildFortressScreen.guild-fortress-building-open .guildFortressRow b{ color:#e3d3a7; }
.guildFortressScreen.guild-fortress-building-open .guildFortressRow strong{ color:#eac268; }
.guildFortressScreen.guild-fortress-building-open .guildFortressTabs{ padding:4px; border:1px solid rgba(160,178,124,.25); border-radius:8px; background:rgba(4,22,15,.58); }
.guildFortressScreen.guild-fortress-building-open .guildFortressTab{ flex:1; background:rgba(15,48,31,.72); border-color:rgba(163,181,126,.28); }
.guildFortressScreen.guild-fortress-building-open .guildFortressTab.is-active{ background:linear-gradient(180deg, #6d4925, #29452b); border-color:#cfa45e; }

/* Guild warehouse: one shared grid plus the current player's 36-slot bag.
   The slot background is the same heraldic slot treatment used by the normal
   warehouse, but the two panes make the shared nature obvious. */
.guildFortressWarehouseSummary{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
  padding:14px 18px;
  border:1px solid rgba(194,164,93,.46);
  border-radius:11px;
  background:linear-gradient(110deg, rgba(48,75,43,.78), rgba(8,33,22,.9));
  box-shadow:inset 0 1px 0 rgba(231,220,170,.1), 0 10px 24px rgba(0,0,0,.2);
}
.guildFortressWarehouseSummaryIcon{ display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(224,183,96,.7); border-radius:10px; color:#eac26b; background:rgba(9,34,22,.78); font-size:25px; box-shadow:inset 0 0 0 3px rgba(5,19,13,.7); }
.guildFortressWarehouseSummary strong{ display:block; color:#f1d58f; font:800 16px/1.2 Arial,sans-serif; }
.guildFortressWarehouseSummary small{ display:block; margin-top:4px; color:#b7c9b1; font:13px/1.3 Arial,sans-serif; }
.guildFortressWarehouseSummary > b{ color:#e7bf69; font:800 17px/1.2 Arial,sans-serif; white-space:nowrap; }
.guildFortressWarehouseLayout{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.guildFortressWarehousePane{
  min-width:0;
  padding:18px;
  border:1px solid rgba(139,179,119,.36);
  border-radius:12px;
  background:linear-gradient(150deg, rgba(22,62,41,.78), rgba(5,26,18,.92));
  box-shadow:inset 0 1px 0 rgba(211,236,185,.07), 0 12px 28px rgba(0,0,0,.24);
}
.guildFortressWarehousePane--shared{ border-color:rgba(210,174,91,.5); background:linear-gradient(150deg, rgba(54,64,34,.78), rgba(19,34,20,.94)); }
.guildFortressWarehousePaneHead{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:13px; padding-bottom:11px; border-bottom:1px solid rgba(186,161,99,.25); }
.guildFortressWarehousePaneHead h3{ margin:0; color:#f0d496; font-size:20px; letter-spacing:.05em; }
.guildFortressWarehousePaneHead span{ color:#b5c6aa; font:700 11px/1.2 Arial,sans-serif; letter-spacing:.05em; white-space:nowrap; }
.guildFortressWarehouseGrid{ display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:8px; }
.guildFortressWarehouseSlot{
  position:relative;
  display:block;
  min-width:0;
  aspect-ratio:1;
  padding:6px;
  border:1px solid rgba(183,157,91,.4);
  border-radius:8px;
  color:#e9d5a4;
  background-color:rgba(4,15,11,.82);
  background-image:url('../img/ui/item_slot_heraldic_bg_v517.png');
  background-position:center;
  background-size:cover;
  box-shadow:inset 0 1px 0 rgba(255,240,184,.06), 0 4px 9px rgba(0,0,0,.25);
  cursor:pointer;
}
.guildFortressWarehouseSlot.is-empty{ background-color:rgba(5,22,15,.66); opacity:.82; }
.guildFortressWarehouseSlot.is-empty::after{ content:"+"; position:absolute; inset:0; display:grid; place-items:center; color:rgba(216,196,137,.35); font:26px/1 Arial,sans-serif; }
.guildFortressWarehouseSlot:hover,.guildFortressWarehouseSlot:focus-visible{ border-color:#e9bf63; background-color:rgba(89,87,40,.56); filter:brightness(1.14); outline:none; transform:translateY(-1px); }
.guildFortressWarehouseSlot img{ display:block; width:calc(100% - 8px); height:calc(100% - 13px); margin:0 auto; object-fit:contain; filter:drop-shadow(0 2px 3px rgba(0,0,0,.7)); }
.guildFortressWarehouseItemName{ display:block; overflow:hidden; color:#e7d6ad; font:9px/1 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.guildFortressWarehouseSlot small{ position:absolute; right:6px; bottom:4px; color:#fff2b9; font:800 11px/1 Arial,sans-serif; text-shadow:0 1px 3px #000; }
.guildFortressWarehouseFallbackIcon{ display:grid; height:calc(100% - 13px); place-items:center; color:#d2aa5b; font-size:26px; }
.guildFortressWarehouseHint{ margin:13px 0 0; color:#aebfa7; font:12px/1.4 Arial,sans-serif; }
.guildFortressWarehouseUpgrade{ margin-top:18px; }

@media (max-width:1100px){
  .guildFortressWarehouseLayout{ grid-template-columns:1fr; }
  .guildFortressWarehouseGrid{ grid-template-columns:repeat(8,minmax(0,1fr)); }
}
@media (max-width:800px){
  .guildFortressScreen.guild-fortress-building-open .guildFortressPanel{
    left:0 !important;
    width:100% !important;
    padding:24px 18px 28px;
  }
  .guildFortressScreen.guild-fortress-building-open .guildFortressPanelHeader{ align-items:flex-start; gap:12px; }
  .guildFortressPanelHeading{ gap:10px; }
  .guildFortressPanelIcon{ flex-basis:44px; width:44px; height:50px; }
  .guildFortressPanelIcon::after{ font-size:23px; }
  .guildFortressScreen.guild-fortress-building-open .guildFortressPanel h2{ font-size:26px; }
  .guildFortressPanelBack{ padding:8px 10px; font-size:0; }
  .guildFortressPanelBack::before{ content:"‹"; font:900 22px/1 Arial,sans-serif; }
  .guildFortressScreen.guild-fortress-building-open .guildFortressStatGrid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .guildFortressScreen.guild-fortress-building-open .guildFortressUpgrade{ grid-template-columns:1fr; gap:9px; }
  .guildFortressScreen.guild-fortress-building-open .guildFortressUpgradeBenefit{ border-top:1px solid rgba(205,171,91,.26); border-left:0; padding:9px 0 0; }
  .guildFortressWarehouseGrid{ grid-template-columns:repeat(6,minmax(0,1fr)); }
  .guildFortressWarehouseSummary{ grid-template-columns:auto minmax(0,1fr); }
  .guildFortressWarehouseSummary > b{ grid-column:2; }
}
@media (max-width:480px){
  .guildFortressWarehouseGrid{ grid-template-columns:repeat(5,minmax(0,1fr)); }
  .guildFortressWarehousePane{ padding:12px; }
  .guildFortressWarehouseItemName{ display:none; }
}

/* -------------------------------------------------------------------------
   Complete guild building windows.
   The panels deliberately use the same dark forest / old-gold language as
   the rest of the game, but each card has its own inset frame so the scene
   remains visible behind a finished interface rather than a stack of plain
   CSS boxes.
------------------------------------------------------------------------- */
.guildFortressScreen.guild-fortress-building-open .guildWindowBoard{
  display:grid;
  gap:16px;
  align-items:stretch;
  margin:0 auto;
}
.guildWindowBoard--main{ grid-template-columns:minmax(188px,.72fr) minmax(360px,1.42fr) minmax(190px,.78fr); }
.guildWindowBoard--warehouse{ grid-template-columns:minmax(190px,.7fr) minmax(270px,1fr) minmax(270px,1fr); }
.guildWindowBoard--war,.guildWindowBoard--boss{ grid-template-columns:minmax(190px,.72fr) minmax(380px,1.48fr) minmax(205px,.8fr); }
.guildWindowBoard--training{ grid-template-columns:minmax(340px,1.15fr) minmax(360px,1fr); }
.guildWindowBoard--bank{ grid-template-columns:minmax(310px,.84fr) minmax(420px,1.4fr); }
.guildWindowBoard--members{ grid-template-columns:minmax(420px,1.5fr) minmax(240px,.72fr); }
.guildWindowColumn{ display:flex; min-width:0; flex-direction:column; gap:16px; }
.guildWindowColumn > .guildWindowCard{ flex:0 0 auto; }
.guildWindowColumn--wide > .guildWindowCard:first-child{ flex:0 0 auto; }
.guildWindowCard{
  position:relative;
  min-width:0;
  box-sizing:border-box;
  padding:18px;
  overflow:hidden;
  border:1px solid rgba(187,151,77,.56);
  border-radius:9px;
  background:
    linear-gradient(135deg, rgba(8,35,25,.91), rgba(5,19,15,.86)),
    repeating-linear-gradient(135deg, rgba(232,203,132,.025) 0 1px, transparent 1px 9px);
  box-shadow:
    inset 0 0 0 1px rgba(12,11,6,.82),
    inset 0 1px 0 rgba(255,237,179,.12),
    inset 0 -18px 30px rgba(0,0,0,.19),
    0 12px 30px rgba(0,0,0,.35);
}
.guildWindowCard::before{
  content:"";
  position:absolute;
  inset:7px;
  pointer-events:none;
  border:1px solid rgba(210,174,92,.24);
  border-radius:5px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.42);
}
.guildWindowCard::after{
  content:"◆";
  position:absolute;
  top:0;
  left:50%;
  z-index:0;
  padding:0 7px;
  transform:translate(-50%,-50%);
  color:#c49b51;
  background:#071d15;
  font:11px/1 Georgia,serif;
  text-shadow:0 1px 2px #000;
}
.guildWindowCard > *{ position:relative; z-index:1; }
.guildWindowSectionHeading{ display:flex; align-items:center; min-width:0; gap:10px; margin:0 0 15px; }
.guildWindowSectionHeading > div{ min-width:0; }
.guildWindowSectionHeading > div > span,.guildWindowEyebrow{
  display:block;
  color:#ae8a4c;
  font:800 10px/1.2 Arial,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.guildWindowSectionHeading h3{ margin:3px 0 0; color:#f0d397; font:800 18px/1.15 Georgia,serif; letter-spacing:.045em; text-transform:uppercase; }
.guildWindowSectionHeading p{ margin:5px 0 0; color:#afc2ad; font:12px/1.35 Arial,sans-serif; }
.guildWindowSectionIcon,.guildWindowMetricIcon,.guildWindowInfoIcon,.guildWindowEventIcon,.guildWindowFooterIcon{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  box-sizing:border-box;
  color:#edc76c;
  border:1px solid rgba(215,174,85,.58);
  background:linear-gradient(145deg, rgba(106,73,30,.7), rgba(5,31,21,.92));
  box-shadow:inset 0 0 0 3px rgba(7,24,16,.72), 0 3px 9px rgba(0,0,0,.3);
  text-shadow:0 2px 3px #000;
}
.guildWindowSectionIcon{ width:38px; height:38px; border-radius:8px 8px 13px 13px; font-size:18px; }
.guildWindowMetricGrid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:4px 0 17px; }
.guildWindowMetric{ min-width:0; padding:12px 8px 11px; text-align:center; border:1px solid rgba(124,167,107,.36); border-radius:7px; background:rgba(3,26,18,.7); box-shadow:inset 0 1px 0 rgba(215,242,195,.06); }
.guildWindowMetric--gold{ border-color:rgba(200,157,73,.6); background:rgba(61,50,24,.5); }
.guildWindowMetric--purple{ border-color:rgba(144,104,185,.46); }
.guildWindowMetricIcon{ width:27px; height:27px; margin:0 auto 7px; border-radius:50%; border-color:rgba(218,173,83,.35); font-size:13px; }
.guildWindowMetric strong{ display:block; overflow:hidden; color:#f0c66c; font:800 clamp(17px,2vw,26px)/1.05 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.guildWindowMetric small{ display:block; margin-top:6px; color:#b4c8ae; font:800 9px/1.15 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.guildWindowMeter{ margin:13px 0 2px; }
.guildWindowMeterLabel{ display:flex; justify-content:space-between; gap:10px; color:#b7c8ad; font:700 11px/1.25 Arial,sans-serif; letter-spacing:.03em; }
.guildWindowMeterLabel b{ color:#e8c06a; font-weight:800; white-space:nowrap; }
.guildWindowMeterTrack{ height:9px; margin-top:7px; overflow:hidden; border:1px solid rgba(210,174,92,.4); border-radius:7px; background:rgba(1,10,7,.88); box-shadow:inset 0 2px 5px rgba(0,0,0,.6); }
.guildWindowMeterTrack i{ display:block; height:100%; min-width:2px; border-radius:5px; background:linear-gradient(90deg,#8c5c27,#ebca6d,#fff0b7); box-shadow:0 0 9px rgba(233,184,82,.5); }
.guildWindowMeter--green .guildWindowMeterTrack i{ background:linear-gradient(90deg,#1c633f,#7fbd67,#d6e69d); box-shadow:0 0 9px rgba(91,196,114,.38); }
.guildWindowInfoList{ margin:14px 0 0; border-top:1px solid rgba(191,157,85,.22); }
.guildWindowInfoRow{ display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:7px; min-height:38px; border-bottom:1px solid rgba(191,157,85,.15); color:#b9c7ad; font:12px/1.2 Arial,sans-serif; }
.guildWindowInfoRow b{ color:#f0cc77; font-weight:800; text-align:right; }
.guildWindowInfoIcon{ width:22px; height:22px; border-radius:5px; font-size:12px; }
.guildWindowInfoIcon--red{ color:#e57f69; }
.guildWindowAction{ display:flex; min-height:39px; align-items:center; justify-content:center; box-sizing:border-box; width:100%; margin-top:15px; padding:9px 13px; cursor:pointer; border:1px solid rgba(205,168,83,.74); border-radius:6px; color:#f6dfaa; background:linear-gradient(180deg, rgba(108,67,28,.95), rgba(48,38,21,.96)); box-shadow:inset 0 1px 0 rgba(255,245,199,.16), 0 5px 12px rgba(0,0,0,.3); font:800 11px/1 Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.guildWindowAction:hover,.guildWindowAction:focus-visible{ border-color:#f2ce76; filter:brightness(1.16); outline:none; transform:translateY(-1px); }
.guildWindowAction--primary{ border-color:rgba(128,183,74,.78); color:#ebedbf; background:linear-gradient(180deg, #4b722b, #172c1c); box-shadow:inset 0 1px 0 rgba(218,244,174,.22), 0 0 18px rgba(74,155,57,.16); }
.guildWindowAction--secondary{ background:linear-gradient(180deg, rgba(44,79,47,.95), rgba(15,39,27,.98)); }
.guildWindowMembersBack{ display:flex; justify-content:flex-end; margin:0 0 12px; }
.guildWindowMembersBack .guildWindowAction{ width:auto; min-width:210px; margin:0; }
.guildWindowMembersCard{ min-height:430px; }
.guildWindowMembersList{ display:grid; gap:7px; max-height:610px; overflow:auto; padding-right:3px; scrollbar-width:thin; scrollbar-color:#9d7130 rgba(2,12,8,.5); }
.guildWindowMemberRow{ display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px; border:1px solid rgba(190,158,87,.24); border-radius:6px; background:rgba(3,20,14,.57); }
.guildWindowMemberRow.is-self{ border-color:rgba(128,183,74,.62); background:linear-gradient(90deg,rgba(48,86,40,.42),rgba(3,24,16,.64)); }
.guildWindowMemberIdentity{ display:flex; min-width:0; align-items:center; gap:10px; }
.guildWindowMemberIdentity > div{ min-width:0; }
.guildWindowMemberIdentity b{ display:block; overflow:hidden; color:#e3d09e; font:800 13px/1.2 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.guildWindowMemberIdentity b em{ color:#9dcc78; font-size:10px; font-style:normal; }
.guildWindowMemberIdentity small{ display:block; margin-top:4px; color:#94a791; font:10px/1.2 Arial,sans-serif; }
.guildWindowMemberIcon{ width:30px; height:30px; flex:0 0 30px; border:1px solid rgba(215,174,85,.48); border-radius:6px; }
.guildWindowMemberActions{ display:flex; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.guildWindowMemberAction{ min-height:29px; padding:6px 9px; cursor:pointer; color:#e9d39d; border:1px solid rgba(206,167,78,.55); border-radius:5px; background:rgba(71,52,25,.72); font:800 9px/1 Arial,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.guildWindowMemberAction:hover,.guildWindowMemberAction:focus-visible{ border-color:#eec96e; outline:none; filter:brightness(1.2); }
.guildWindowMemberAction--danger{ color:#f0ad8d; border-color:rgba(190,92,67,.62); background:rgba(72,35,29,.72); }
.guildWindowDivider{ height:1px; margin:15px 0; background:linear-gradient(90deg, transparent, rgba(204,164,83,.52), transparent); }
.guildWindowIdentityCard,.guildWindowWarIdentity,.guildWindowBossInfo{ text-align:center; }
.guildWindowIdentityCard .guildWindowSectionHeading,.guildWindowWarIdentity .guildWindowSectionHeading,.guildWindowBossInfo .guildWindowSectionHeading{ justify-content:center; text-align:left; }
.guildWindowCrest{ display:grid; place-items:center; box-sizing:border-box; margin:0 auto 12px; color:#e6b958; border:2px solid rgba(224,178,73,.86); background:linear-gradient(145deg,#5c2c28,#130f18 70%); clip-path:polygon(50% 0,88% 13%,86% 67%,50% 100%,14% 67%,12% 13%); box-shadow:inset 0 0 0 6px rgba(25,20,13,.7), 0 6px 15px rgba(0,0,0,.45); text-shadow:0 2px 5px #000; }
.guildWindowCrest--large{ width:88px; height:104px; font-size:37px; }
.guildWindowCrest--medium{ width:70px; height:84px; margin-top:8px; font-size:30px; }
.guildWindowCrest--war{ width:78px; height:94px; background:linear-gradient(145deg,#304e4c,#0a201c 70%); }
.guildWindowCrest--actual{ border:0; background:transparent; clip-path:none; box-shadow:none; overflow:visible; text-shadow:none; }
.guildWindowCrest--actual.guildWindowCrest--large{ width:104px; height:120px; }
.guildWindowCrest--actual.guildWindowCrest--medium{ width:84px; height:98px; }
.guildWindowCrest--actual.guildWindowCrest--war{ width:88px; height:104px; }
.guildWindowGuildBanner{ display:grid; width:100%; height:100%; place-items:center; }
.guildWindowGuildBanner .oaiGuildBanner{ --gb-size:100px; }
.guildWindowCrest--medium .guildWindowGuildBanner .oaiGuildBanner{ --gb-size:82px; }
.guildWindowCrest--war .guildWindowGuildBanner .oaiGuildBanner{ --gb-size:88px; }
.guildWindowGuildBanner--missing{ width:54%; height:65%; border:1px dashed rgba(211,169,77,.4); border-radius:10px; background:rgba(4,25,17,.5); }
.guildWindowGuildEmblemKey{ display:grid; width:64%; height:68%; place-items:center; box-sizing:border-box; border:1px solid rgba(215,174,85,.58); border-radius:10px 10px 16px 16px; color:#f0cb6d; background:linear-gradient(145deg,#4a2931,#111b18); clip-path:polygon(50% 0,88% 14%,86% 72%,50% 100%,14% 72%,12% 14%); font:800 20px/1 Arial,sans-serif; letter-spacing:.08em; text-shadow:0 2px 4px #000; }
.guildWindowIdentityCard h3,.guildWindowEmblemCard h3,.guildWindowWarIdentity h3{ margin:0; color:#f2d89b; font:800 22px/1.1 Georgia,serif; letter-spacing:.045em; }
.guildWindowLead{ margin:9px 0 0; color:#adbea7; font:12px/1.5 Arial,sans-serif; }
.guildWindowLevelSeal{ display:flex; width:74px; height:74px; flex-direction:column; align-items:center; justify-content:center; box-sizing:border-box; margin:14px auto 4px; clip-path:polygon(50% 0,92% 18%,86% 76%,50% 100%,14% 76%,8% 18%); color:#f0cb6e; background:linear-gradient(145deg,#67431e,#15180e); box-shadow:inset 0 0 0 3px #0b140d; }
.guildWindowLevelSeal b{ font:800 27px/1 Arial,sans-serif; }
.guildWindowLevelSeal span{ margin-top:4px; color:#d1bd88; font:800 7px/1 Arial,sans-serif; letter-spacing:.07em; }
.guildWindowIdentityCard .guildWindowInfoList,.guildWindowWarIdentity .guildWindowInfoList{ text-align:left; }
.guildWindowOverviewCard{ background:linear-gradient(135deg, rgba(11,44,31,.92), rgba(8,27,20,.91)); }
.guildWindowOverviewCard .guildWindowSectionHeading{ margin-bottom:12px; }
.guildWindowBenefitsCard,.guildWindowEventsCard,.guildWindowRequestsCard,.guildWindowEmblemCard{ background:linear-gradient(145deg, rgba(8,37,27,.9), rgba(5,22,17,.94)); }
.guildWindowBonusGrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.guildWindowBonusTile{ display:grid; min-width:0; place-items:center; padding:10px 5px; border:1px solid rgba(144,177,116,.31); border-radius:7px; background:rgba(3,24,16,.6); text-align:center; }
.guildWindowBonusIcon{ display:grid; place-items:center; width:35px; height:35px; color:#f0bc57; font-size:25px; text-shadow:0 2px 5px #000; }
.guildWindowBonusTile b{ color:#9ccc6c; font:800 21px/1.05 Arial,sans-serif; }
.guildWindowBonusTile small{ margin-top:4px; color:#aec3a9; font:800 9px/1.2 Arial,sans-serif; letter-spacing:.08em; }
.guildWindowEmpty{ display:flex; min-height:100px; flex-direction:column; align-items:center; justify-content:center; padding:13px; border:1px dashed rgba(188,157,92,.3); border-radius:6px; background:rgba(3,19,13,.42); color:#aebfa9; text-align:center; }
.guildWindowEmpty > span{ color:#c59c52; font-size:23px; }
.guildWindowEmpty strong{ margin-top:8px; color:#e7d09a; font:800 12px/1.2 Arial,sans-serif; }
.guildWindowEmpty p{ margin:6px 0 0; color:#8ea28f; font:11px/1.4 Arial,sans-serif; }
.guildWindowEventRow{ display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:9px; min-height:38px; border-bottom:1px solid rgba(190,158,87,.16); }
.guildWindowEventRow:last-child{ border-bottom:0; }
.guildWindowEventIcon{ width:25px; height:25px; border-radius:50%; font-size:12px; }
.guildWindowEventRow b,.guildWindowEventRow span{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.guildWindowEventRow b{ color:#dcc68f; font:800 11px/1.2 Arial,sans-serif; }
.guildWindowEventRow div span{ margin-top:3px; color:#8fa591; font:10px/1.2 Arial,sans-serif; text-transform:capitalize; }
.guildWindowEventRow time{ color:#9c9c79; font:10px/1 Arial,sans-serif; }
.guildWindowFooter{ display:flex; align-items:center; gap:10px; min-height:42px; box-sizing:border-box; margin-top:16px; padding:10px 14px; border-top:1px solid rgba(191,157,84,.34); border-bottom:1px solid rgba(191,157,84,.2); color:#b9c5ad; background:rgba(3,19,13,.57); font:12px/1.4 Arial,sans-serif; }
.guildWindowFooter b{ margin-left:auto; color:#e2bf6f; white-space:nowrap; }
.guildWindowFooterIcon{ width:22px; height:22px; border-radius:50%; font:800 13px/1 Georgia,serif; }
.guildWindowUpgradeWrap{ margin-top:15px; }
.guildWindowUpgradeWrap .guildFortressUpgrade{ margin:0; border-color:rgba(202,169,89,.56); background:linear-gradient(135deg, rgba(47,67,35,.9), rgba(8,31,20,.95)); }
.guildWindowEmblemCard{ text-align:center; }
.guildWindowEmblemCard p{ margin:8px 0 12px; color:#a8bca7; font:12px/1.45 Arial,sans-serif; }
.guildWindowEmblemMiniRow{ display:flex; justify-content:center; gap:8px; }
.guildWindowEmblemMiniRow i{ display:grid; width:30px; height:34px; place-items:center; box-sizing:border-box; color:#dcb968; border:1px solid rgba(210,167,80,.52); background:rgba(3,18,13,.7); clip-path:polygon(50% 0,91% 15%,84% 74%,50% 100%,16% 74%,9% 15%); font-style:normal; }

/* Training Grounds ------------------------------------------------------ */
.guildWindowTrainingHero{ display:flex; min-height:100%; flex-direction:column; padding:12px; background:rgba(5,22,16,.76); }
.guildWindowFeatureArt{ position:relative; min-height:340px; overflow:hidden; border:1px solid rgba(209,170,87,.57); border-radius:6px; background-position:center; background-size:cover; box-shadow:inset 0 0 50px rgba(0,0,0,.58), 0 6px 18px rgba(0,0,0,.34); }
.guildWindowFeatureArt--training{ background-image:linear-gradient(180deg, rgba(3,16,15,.05), rgba(3,18,12,.55)), url('../img/guild_fortress/guild_window_training_bg_v1.png'); }
.guildWindowFeatureArt::after{ content:""; position:absolute; inset:10px; pointer-events:none; border:1px solid rgba(237,209,142,.27); }
.guildWindowFeatureBadge{ position:absolute; top:20px; left:22px; z-index:1; color:#f0d396; font:800 10px/1 Arial,sans-serif; letter-spacing:.2em; text-shadow:0 2px 4px #000; }
.guildWindowTrainingArena{ position:absolute; top:45%; left:50%; display:grid; width:90px; height:90px; place-items:center; transform:translate(-50%,-50%); color:#f0c86b; border:1px solid rgba(218,175,86,.65); border-radius:50%; background:radial-gradient(circle,rgba(115,91,39,.55),rgba(4,21,14,.75) 70%); box-shadow:0 0 0 8px rgba(4,17,12,.45),0 0 25px rgba(225,174,77,.26); font-size:44px; text-shadow:0 3px 8px #000; }
.guildWindowFeatureCaption{ position:absolute; right:20px; bottom:18px; left:20px; z-index:1; padding:11px 13px; border-left:3px solid #c69b4d; background:rgba(3,16,12,.75); }
.guildWindowFeatureCaption b,.guildWindowFeatureCaption small{ display:block; }
.guildWindowFeatureCaption b{ color:#f0d397; font:800 17px/1.2 Georgia,serif; }
.guildWindowFeatureCaption small{ margin-top:4px; color:#b9c7ad; font:11px/1.35 Arial,sans-serif; }
.guildWindowTrainingHeroText{ padding:13px 5px 3px; text-align:center; }
.guildWindowBigLevel{ margin-top:3px; color:#f0c66c; font:800 42px/1 Arial,sans-serif; text-shadow:0 2px 5px #000; }
.guildWindowBigLevelLabel{ display:block; margin-top:5px; color:#b4c3ab; font:800 10px/1.2 Arial,sans-serif; letter-spacing:.11em; }
.guildWindowTrainingHeroText .guildWindowMeter{ margin-top:17px; }
.guildWindowBigBonusGrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.guildWindowBigBonusGrid > div{ display:grid; place-items:center; min-height:123px; padding:11px; border:1px solid rgba(107,164,100,.44); border-radius:8px; background:linear-gradient(145deg,rgba(18,67,43,.82),rgba(4,28,19,.82)); text-align:center; }
.guildWindowBigBonusGrid b{ color:#a3d274; font:800 29px/1 Arial,sans-serif; text-shadow:0 2px 4px #000; }
.guildWindowBigBonusGrid small{ margin-top:5px; color:#b3c5ad; font:800 10px/1.2 Arial,sans-serif; letter-spacing:.1em; }
.guildWindowBonusIcon--sword{ color:#e5c36f; }
.guildWindowBonusIcon--heart{ color:#d86d62; }
.guildWindowDescription{ margin:15px 0 0; padding:11px 12px; color:#b7c5b1; border-left:2px solid rgba(201,164,88,.6); background:rgba(2,18,12,.45); font:12px/1.5 Arial,sans-serif; }
.guildWindowBonusLine{ display:grid; grid-template-columns:37px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:54px; border-bottom:1px solid rgba(190,158,87,.18); }
.guildWindowBonusLine:last-child{ border-bottom:0; }
.guildWindowLineIcon{ display:grid; width:33px; height:33px; place-items:center; color:#eac269; border:1px solid rgba(214,167,77,.44); border-radius:50%; background:rgba(4,22,15,.68); font-size:21px; }
.guildWindowLineIcon--red{ color:#d97969; }
.guildWindowBonusLine b,.guildWindowBonusLine small{ display:block; }
.guildWindowBonusLine b{ color:#e2d19e; font:800 12px/1.2 Arial,sans-serif; }
.guildWindowBonusLine small{ margin-top:4px; color:#94a995; font:11px/1.25 Arial,sans-serif; }
.guildWindowBonusLine > strong{ color:#9fd16d; font:800 18px/1 Arial,sans-serif; white-space:nowrap; }
.guildWindowUpgradePanel .guildFortressUpgrade{ display:block; padding:0; border:0; background:transparent; box-shadow:none; }
.guildWindowUpgradePanel .guildFortressUpgradeCopy{ display:none; }
.guildWindowUpgradePanel .guildFortressUpgrade strong,.guildWindowUpgradePanel .guildFortressUpgrade small{ display:none; }
.guildWindowUpgradePanel .guildFortressUpgradeBenefit{ margin-bottom:10px; border-left:0; background:rgba(37,58,31,.24); }
.guildWindowUpgradePanel .guildFortressAction{ margin-top:4px; }

/* Warehouse ------------------------------------------------------------- */
.guildWindowWarehouseIntro{ background:linear-gradient(145deg, rgba(10,42,29,.92), rgba(5,21,15,.95)); }
.guildWindowWarehouseChest{ display:grid; width:76px; height:68px; place-items:center; box-sizing:border-box; margin:0 auto 15px; color:#e9bd5f; border:2px solid rgba(219,175,81,.76); border-radius:12px 12px 19px 19px; background:linear-gradient(145deg,#754c20,#241c11 68%); box-shadow:inset 0 0 0 5px rgba(20,19,12,.68),0 6px 15px rgba(0,0,0,.42); font-size:35px; }
.guildWindowWarehouseIntro .guildWindowSectionHeading{ justify-content:center; text-align:center; }
.guildWindowWarehouseCapacity{ display:flex; align-items:baseline; justify-content:center; gap:7px; margin:10px 0; }
.guildWindowWarehouseCapacity b{ color:#f0ca70; font:800 29px/1 Arial,sans-serif; }
.guildWindowWarehouseCapacity span{ color:#acbea8; font:11px/1 Arial,sans-serif; }
.guildWindowWarehouseRules{ margin-top:16px; padding-top:12px; border-top:1px solid rgba(195,160,87,.26); }
.guildWindowWarehouseRules p{ margin:8px 0; color:#a9bda9; font:11px/1.35 Arial,sans-serif; }
.guildWindowWarehouseRules i{ display:inline-block; margin-right:6px; color:#d0a55a; font-style:normal; }
.guildWindowWarehousePane{ padding:15px; }
.guildWindowWarehousePane--shared{ border-color:rgba(201,167,88,.7); background:linear-gradient(145deg,rgba(51,58,29,.86),rgba(13,29,19,.95)); }
.guildWindowWarehousePaneHead{ display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:45px; margin-bottom:9px; padding-bottom:9px; border-bottom:1px solid rgba(195,160,87,.27); }
.guildWindowWarehousePaneHead .guildWindowSectionHeading{ margin:0; }
.guildWindowWarehousePaneHead .guildWindowSectionIcon{ width:31px; height:31px; font-size:14px; }
.guildWindowWarehousePaneHead .guildWindowSectionHeading h3{ font-size:14px; }
.guildWindowWarehousePaneHead .guildWindowSectionHeading > div > span{ font-size:8px; }
.guildWindowWarehousePaneHead > span{ color:#d6b66b; font:800 10px/1 Arial,sans-serif; white-space:nowrap; }
.guildWindowWarehousePane .guildFortressWarehouseGrid{ grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; }
.guildWindowWarehousePane .guildFortressWarehouseSlot{ border-color:rgba(191,158,90,.45); border-radius:6px; }
.guildWindowWarehousePane--shared .guildFortressWarehouseSlot{ border-color:rgba(212,174,88,.58); background-color:rgba(37,46,22,.78); }
.guildWindowWarehousePane .guildFortressWarehouseHint{ min-height:30px; margin:10px 0 0; }

/* War Hall -------------------------------------------------------------- */
.guildWindowWarIdentity{ background:linear-gradient(145deg,rgba(13,51,43,.9),rgba(4,22,18,.95)); }
.guildWindowCompactBonus{ display:grid; grid-template-columns:31px auto minmax(0,1fr); align-items:center; gap:7px; margin:8px 0; text-align:left; }
.guildWindowCompactBonus > span{ display:grid; width:29px; height:29px; place-items:center; color:#e1ba65; border:1px solid rgba(212,168,80,.45); border-radius:50%; background:rgba(3,20,14,.7); font-size:16px; }
.guildWindowCompactBonus b{ color:#98cf6a; font:800 16px/1 Arial,sans-serif; }
.guildWindowCompactBonus small{ overflow:hidden; color:#9caf9e; font:10px/1.2 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.guildWindowListHeader{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.guildWindowListHeader .guildWindowSectionHeading{ margin-bottom:12px; }
.guildWindowStatusPill{ flex:0 0 auto; margin-top:5px; padding:6px 8px; color:#9dce75; border:1px solid rgba(117,176,86,.54); border-radius:15px; background:rgba(29,72,39,.58); font:800 9px/1 Arial,sans-serif; letter-spacing:.08em; }
.guildWindowTargetList{ border-top:1px solid rgba(195,160,87,.28); }
.guildWindowTargetRow{ display:grid; grid-template-columns:23px 43px minmax(0,1fr) auto auto; align-items:center; gap:8px; min-height:70px; border-bottom:1px solid rgba(190,158,87,.18); }
.guildWindowRank{ color:#d2b66f; font:800 14px/1 Georgia,serif; text-align:center; }
.guildWindowTargetCrest{ display:grid; width:38px; height:45px; place-items:center; box-sizing:border-box; color:#ded095; border:1px solid rgba(208,167,78,.65); background:linear-gradient(145deg,#5b2829,#18131a); clip-path:polygon(50% 0,90% 15%,84% 74%,50% 100%,16% 74%,10% 15%); font-size:19px; text-shadow:0 2px 3px #000; }
.guildWindowTargetCrest--1{ background:linear-gradient(145deg,#234d62,#111d2a); }
.guildWindowTargetCrest--2{ background:linear-gradient(145deg,#355c36,#111d18); }
.guildWindowTargetCrest--3{ background:linear-gradient(145deg,#4b4a4f,#161b1c); }
.guildWindowTargetCrest--danger{ width:58px; height:70px; background:linear-gradient(145deg,#702528,#1e1016); font-size:28px; }
.guildWindowTargetCrest--actual{ border:0; background:transparent; clip-path:none; overflow:visible; }
.guildWindowTargetCrest--actual .guildWindowTargetBanner .oaiGuildBanner{ --gb-size:52px; }
.guildWindowTargetCrest--danger.guildWindowTargetCrest--actual{ width:72px; height:82px; }
.guildWindowTargetCrest--danger.guildWindowTargetCrest--actual .guildWindowTargetBanner .oaiGuildBanner{ --gb-size:78px; }
.guildWindowTargetRow b,.guildWindowTargetRow small{ display:block; }
.guildWindowTargetRow b{ overflow:hidden; color:#e3d09e; font:800 12px/1.2 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.guildWindowTargetRow small{ margin-top:4px; color:#94a791; font:10px/1.2 Arial,sans-serif; }
.guildWindowTargetRow > strong{ color:#e4bc68; font:800 11px/1.1 Arial,sans-serif; white-space:nowrap; }
.guildWindowTargetRow > strong small{ display:block; color:#9fb09a; font-size:8px; text-transform:uppercase; }
.guildWindowTargetRow button{ min-height:31px; padding:6px 8px; cursor:pointer; color:#e9d39d; border:1px solid rgba(206,167,78,.55); border-radius:5px; background:rgba(71,52,25,.72); font:800 9px/1 Arial,sans-serif; }
.guildWindowTargetRow button:hover,.guildWindowTargetRow button:focus-visible{ border-color:#eec96e; outline:none; filter:brightness(1.2); }
.guildWindowListFooter{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:13px; color:#a5b5a1; font:11px/1.35 Arial,sans-serif; }
.guildWindowListFooter .guildWindowAction{ width:auto; min-width:143px; margin:0; }
.guildWindowSelectedTarget{ background:linear-gradient(145deg,rgba(48,34,24,.9),rgba(8,22,17,.95)); }
.guildWindowTargetHero{ display:flex; align-items:center; gap:11px; margin:13px 0 5px; }
.guildWindowTargetHero h3{ margin:0; color:#e77461; font:800 19px/1.15 Georgia,serif; }
.guildWindowTargetHero p{ margin:4px 0 0; color:#c0b39a; font:11px/1.2 Arial,sans-serif; }
.guildWindowTargetHero p b{ color:#ebc46c; }
.guildWindowRewardGrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:10px; }
.guildWindowRewardGrid > div{ display:grid; min-height:67px; place-items:center; padding:6px 3px; border:1px solid rgba(195,160,86,.35); background:rgba(3,18,14,.58); text-align:center; }
.guildWindowRewardGrid span{ color:#ebc36a; font-size:21px; }
.guildWindowRewardGrid b{ color:#d7c18b; font:800 10px/1.1 Arial,sans-serif; }
.guildWindowRewardGrid small{ margin-top:3px; color:#90a18e; font:9px/1.1 Arial,sans-serif; }

/* Guild Boss ------------------------------------------------------------ */
.guildWindowBossInfo{ background:linear-gradient(145deg,rgba(55,31,25,.86),rgba(9,20,17,.96)); }
.guildWindowBossMedal{ display:grid; width:68px; height:68px; place-items:center; box-sizing:border-box; margin:0 auto 11px; color:#e5b75c; border:1px solid rgba(221,165,68,.66); border-radius:50%; background:radial-gradient(circle,rgba(127,44,32,.8),rgba(20,12,13,.9)); box-shadow:inset 0 0 0 5px rgba(31,16,12,.8),0 0 18px rgba(209,82,45,.2); font-size:34px; }
.guildWindowBossInfo h4{ margin:16px 0 10px; color:#d3a75d; font:800 11px/1.2 Arial,sans-serif; letter-spacing:.12em; }
.guildWindowInstruction{ display:flex; align-items:flex-start; gap:8px; margin:9px 0; color:#adbaa8; font:11px/1.4 Arial,sans-serif; text-align:left; }
.guildWindowInstruction i{ flex:0 0 auto; color:#d7ae5c; font-style:normal; }
.guildWindowBossCenter{ display:flex; flex-direction:column; padding:11px; background:rgba(17,19,15,.79); }
.guildWindowBossScene{ position:relative; display:flex; min-height:360px; flex:1; flex-direction:column; align-items:center; justify-content:flex-end; overflow:hidden; padding:20px 16px 17px; border:1px solid rgba(209,167,79,.56); background:radial-gradient(ellipse at 50% 48%,rgba(102,57,31,.32),transparent 50%),linear-gradient(180deg,rgba(9,8,7,.13),rgba(6,12,9,.83)); text-align:center; }
.guildWindowBossScene::before{ content:""; position:absolute; inset:9px; border:1px solid rgba(225,192,116,.23); pointer-events:none; }
.guildWindowBossGlow{ position:absolute; top:10%; left:50%; width:220px; height:220px; transform:translateX(-50%); border-radius:50%; background:radial-gradient(circle,rgba(205,67,36,.28),transparent 68%); filter:blur(9px); }
.guildWindowBossIcon{ position:absolute; top:5%; left:50%; z-index:1; width:min(78%,330px); height:230px; transform:translateX(-50%); object-fit:contain; filter:drop-shadow(0 9px 12px rgba(0,0,0,.9)); }
.guildWindowBossScene .guildWindowEyebrow{ position:relative; z-index:2; margin-top:auto; color:#c09a58; }
.guildWindowBossScene h3{ position:relative; z-index:2; margin:6px 0 2px; color:#e86e55; font:800 clamp(22px,3vw,33px)/1.05 Georgia,serif; letter-spacing:.06em; text-shadow:0 3px 6px #000; }
.guildWindowBossScene > p{ position:relative; z-index:2; margin:0; color:#e5c16d; font:800 13px/1.2 Arial,sans-serif; }
.guildWindowBossHp{ position:relative; z-index:2; width:100%; margin-top:16px; }
.guildWindowBossHp .guildWindowMeterTrack{ height:12px; border-color:rgba(175,89,64,.64); }
.guildWindowBossHp .guildWindowMeterTrack i{ background:linear-gradient(90deg,#7e1d16,#e5482d,#edb26a); box-shadow:0 0 9px rgba(231,65,37,.5); }
.guildWindowBossHpText{ position:relative; z-index:2; margin-top:7px; color:#d7c39a; font:11px/1.2 Arial,sans-serif; }
.guildWindowBossAttackMeta{ display:flex; align-items:center; gap:12px; padding:12px 2px 0; color:#aebdac; font:11px/1.25 Arial,sans-serif; }
.guildWindowBossAttackMeta span{ flex:1; }
.guildWindowBossAttackMeta b{ color:#a2d16d; }
.guildWindowBossAttackMeta .guildWindowAction{ width:auto; min-width:136px; margin:0; }
.guildWindowRewardGrid--boss{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.guildWindowRewardGrid--boss > div{ min-height:82px; }
.guildWindowRewardGrid--boss span{ font-size:24px; }
.guildWindowRewardGrid--war{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.guildWindowRewardGrid--war > div{ min-height:82px; }
.guildWindowRecentList > div{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 8px; padding:7px 0; border-bottom:1px solid rgba(190,158,87,.16); }
.guildWindowRecentList > div:last-child{ border-bottom:0; }
.guildWindowRecentList b{ grid-column:1; color:#dfca94; font:800 11px/1.15 Arial,sans-serif; }
.guildWindowRecentList span{ grid-column:1; color:#91a690; font:10px/1.15 Arial,sans-serif; }
.guildWindowRecentList time{ grid-column:2; grid-row:1 / span 2; align-self:center; color:#9f9b78; font:10px/1 Arial,sans-serif; }
.guildWindowEmpty--compact{ min-height:78px; }
.guildWindowWarHistory{ margin-top:14px; background:linear-gradient(145deg,rgba(8,34,26,.9),rgba(5,20,15,.95)); }
.guildWindowWarHistoryList{ border-top:1px solid rgba(195,160,87,.22); }
.guildWindowWarHistoryRow{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; min-height:51px; border-bottom:1px solid rgba(190,158,87,.16); }
.guildWindowWarHistoryRow:last-child{ border-bottom:0; }
.guildWindowWarHistoryRow b,.guildWindowWarHistoryRow span,.guildWindowWarHistoryRow small{ display:block; }
.guildWindowWarHistoryRow b{ color:#e1cb95; font:800 11px/1.2 Arial,sans-serif; }
.guildWindowWarHistoryRow span{ margin-top:3px; color:#9db09c; font:10px/1.2 Arial,sans-serif; }
.guildWindowWarHistoryRow small{ margin-top:3px; color:#c2a55f; font:9px/1.2 Arial,sans-serif; }
.guildWindowWarHistoryActions{ display:flex; flex-direction:column; align-items:flex-end; gap:7px; }
.guildWindowWarHistoryRow time{ color:#9b9a78; font:10px/1 Arial,sans-serif; white-space:nowrap; }
.guildWindowWarHistoryActions .guildWindowAction{ width:auto; min-width:108px; min-height:31px; margin:0; padding:7px 9px; font-size:9px; letter-spacing:.04em; }

/* Bank ------------------------------------------------------------------ */
.guildWindowTreasuryCard{ background:linear-gradient(145deg,rgba(11,38,28,.91),rgba(6,19,15,.95)); }
.guildWindowTreasuryAmount{ display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:7px; margin:6px 0 10px; padding:14px 12px; border:1px solid rgba(206,169,86,.6); background:rgba(4,16,12,.78); text-align:left; }
.guildWindowTreasuryAmount > span{ color:#e9bd5c; font-size:30px; text-align:center; text-shadow:0 2px 4px #000; }
.guildWindowTreasuryAmount b{ color:#f0cb6d; font:800 clamp(22px,3vw,31px)/1 Arial,sans-serif; }
.guildWindowTreasuryAmount small{ grid-column:2; color:#baa776; font:800 9px/1.15 Arial,sans-serif; letter-spacing:.13em; }
.guildWindowBankArtwork{ position:relative; display:grid; min-height:123px; place-items:center; margin:0 0 13px; overflow:hidden; border:1px solid rgba(188,147,69,.42); background:radial-gradient(circle at 50% 55%,rgba(205,142,44,.22),transparent 48%),rgba(4,14,11,.5); }
.guildWindowBankArtwork::before{ content:""; position:absolute; inset:21px 22%; border:2px solid rgba(180,132,48,.5); border-radius:9px; box-shadow:inset 0 0 0 5px rgba(62,39,16,.5),0 0 18px rgba(199,138,45,.12); }
.guildWindowBankArtwork > span{ position:relative; color:#e8b94e; font-size:48px; text-shadow:0 3px 6px #000; }
.guildWindowBankArtwork > i{ position:absolute; bottom:12px; color:#c68d3c; font-style:normal; font-size:16px; }
.guildWindowDepositForm{ display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:7px; align-items:center; margin:0 0 10px; padding:0; border:0; background:transparent; }
.guildWindowDepositForm label{ grid-column:1; color:#d4b773; font:800 10px/1.2 Arial,sans-serif; letter-spacing:.08em; }
.guildWindowDepositForm input{ grid-column:1; min-width:0; height:38px; box-sizing:border-box; padding:0 10px; border-color:rgba(198,161,82,.54) !important; border-radius:5px !important; color:#f0d58f !important; background:rgba(3,12,9,.85) !important; font:800 13px/1 Arial,sans-serif; }
.guildWindowDepositForm .guildFortressAction{ grid-column:2; grid-row:1 / span 2; min-height:65px; margin:0; }
.guildWindowDepositPresets{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
.guildWindowDepositPresets button{ min-height:31px; padding:4px; cursor:pointer; color:#d8bd7d; border:1px solid rgba(190,151,73,.45); border-radius:4px; background:rgba(48,43,26,.7); font:800 9px/1 Arial,sans-serif; }
.guildWindowDepositPresets button:hover,.guildWindowDepositPresets button:focus-visible{ border-color:#e8bf62; color:#fff0bb; outline:none; }
.guildWindowFineprint{ margin:11px 0 0; color:#8da08d; font:10px/1.35 Arial,sans-serif; }
.guildWindowPeriodTabs{ display:flex; gap:4px; margin:0 0 10px; padding:4px; border:1px solid rgba(191,157,85,.28); border-radius:5px; background:rgba(2,17,12,.55); }
.guildWindowPeriodTabs .guildFortressTab{ flex:1; min-height:29px; padding:5px; color:#b8c6a9; border-color:rgba(179,150,84,.32); border-radius:4px; background:rgba(14,42,27,.72); font-size:9px; }
.guildWindowPeriodTabs .guildFortressTab.is-active{ color:#f2d48d; border-color:#ce9f4e; background:linear-gradient(180deg,#6a4423,#29452c); }
.guildWindowTableHead{ display:grid; grid-template-columns:minmax(0,1fr) auto; padding:0 13px 7px; color:#a88c58; border-bottom:1px solid rgba(197,159,86,.35); font:800 9px/1 Arial,sans-serif; letter-spacing:.1em; }
.guildWindowContributorRows .guildFortressRow,.guildWindowTransactionRows .guildFortressRow{ display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:8px; align-items:center; min-height:42px; padding:6px 10px; border-bottom:1px solid rgba(190,158,87,.16); border-radius:0; background:rgba(3,20,14,.4); }
.guildWindowContributorRows .guildFortressRow:last-child,.guildWindowTransactionRows .guildFortressRow:last-child{ border-bottom:0; }
.guildWindowContributorRows .guildFortressRow .guildFortressRank{ display:grid; width:23px; height:25px; place-items:center; color:#e2bf69; border:1px solid rgba(203,159,74,.43); background:rgba(42,33,18,.7); font-size:12px; }
.guildWindowContributorRows .guildFortressRow b,.guildWindowTransactionRows .guildFortressRow b{ color:#dcc992; font:800 11px/1.15 Arial,sans-serif; }
.guildWindowContributorRows .guildFortressRow strong,.guildWindowTransactionRows .guildFortressRow strong{ color:#ebc366; font:800 11px/1.1 Arial,sans-serif; white-space:nowrap; }
.guildWindowContributorRows .guildFortressRow .guildFortressRank + b{ grid-column:2; }
.guildWindowTransactionRows{ margin-top:7px; max-height:190px; overflow:auto; scrollbar-width:thin; scrollbar-color:#9d7130 rgba(2,12,8,.5); }
.guildWindowTransactionRows .guildFortressRow{ grid-template-columns:minmax(0,1fr) auto; }
.guildWindowTransactionRows .guildFortressRow b small{ display:block; margin-top:3px; color:#8da18e; font:9px/1.1 Arial,sans-serif; }
.guildWindowTransactionRows .guildFortressRow strong{ color:#9ec772; }
.guildWindowTransactionRows .guildFortressMuted{ margin:8px 0; }
.guildWindowContributorsCard{ background:linear-gradient(145deg,rgba(9,36,27,.91),rgba(5,19,15,.95)); }

/* The two generated emblems replace the temporary text glyphs in the
   shared building header, while the glyph remains an accessible fallback. */
.guildFortressPanel[data-building-panel="war_hall"] .guildFortressPanelIcon,
.guildFortressPanel[data-building-panel="boss_hall"] .guildFortressPanelIcon{ background-position:center; background-repeat:no-repeat; background-size:48px; }
.guildFortressPanel[data-building-panel="war_hall"] .guildFortressPanelIcon{ background-image:url('../img/guild_fortress/guild_window_war_icon_v1.png'); }
.guildFortressPanel[data-building-panel="boss_hall"] .guildFortressPanelIcon{ background-image:url('../img/guild_fortress/guild_window_boss_icon_v1.png'); background-size:51px; }
.guildFortressPanel[data-building-panel="war_hall"] .guildFortressPanelIcon::after,
.guildFortressPanel[data-building-panel="boss_hall"] .guildFortressPanelIcon::after{ display:none; }

@media (max-width:1250px){
  .guildWindowBoard--main,.guildWindowBoard--war,.guildWindowBoard--boss{ grid-template-columns:minmax(180px,.7fr) minmax(340px,1.45fr); }
  .guildWindowBoard--main > .guildWindowColumn--side,.guildWindowBoard--war > .guildWindowColumn:last-child,.guildWindowBoard--boss > .guildWindowColumn:last-child{ grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .guildWindowBoard--warehouse{ grid-template-columns:1fr 1fr; }
  .guildWindowBoard--warehouse > .guildWindowWarehouseIntro{ grid-column:1 / -1; }
  .guildWindowTargetRow{ grid-template-columns:23px 43px minmax(0,1fr) auto; }
  .guildWindowTargetRow button{ grid-column:4; grid-row:1; }
  .guildWindowTargetRow > strong{ display:none; }
}
@media (max-width:900px){
  .guildFortressScreen.guild-fortress-building-open .guildFortressPanel{ padding-right:22px; padding-left:22px; }
  .guildWindowBoard--training,.guildWindowBoard--bank,.guildWindowBoard--main,.guildWindowBoard--war,.guildWindowBoard--boss,.guildWindowBoard--warehouse,.guildWindowBoard--members{ grid-template-columns:1fr; }
  .guildWindowBoard--main > .guildWindowColumn--side,.guildWindowBoard--war > .guildWindowColumn:last-child,.guildWindowBoard--boss > .guildWindowColumn:last-child{ grid-column:auto; display:flex; }
  .guildWindowBoard--warehouse > .guildWindowWarehouseIntro{ grid-column:auto; }
  .guildWindowMetricGrid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .guildWindowFeatureArt{ min-height:280px; }
  .guildWindowBossScene{ min-height:330px; }
}
@media (max-width:560px){
  .guildWindowCard{ padding:14px; }
  .guildWindowMetricGrid,.guildWindowBonusGrid,.guildWindowBigBonusGrid{ gap:6px; }
  .guildWindowTargetRow{ grid-template-columns:20px 37px minmax(0,1fr) auto; gap:5px; }
  .guildWindowTargetCrest{ width:34px; height:40px; }
  .guildWindowTargetRow button{ min-height:28px; padding:5px; font-size:8px; }
  .guildWindowListFooter,.guildWindowBossAttackMeta{ align-items:stretch; flex-direction:column; }
  .guildWindowListFooter .guildWindowAction,.guildWindowBossAttackMeta .guildWindowAction{ width:100%; }
  .guildWindowFooter{ align-items:flex-start; }
  .guildWindowFooter b{ display:none; }
  .guildWindowWarehousePane .guildFortressWarehouseGrid{ grid-template-columns:repeat(6,minmax(0,1fr)); }
  .guildWindowSectionHeading h3{ font-size:16px; }
}

/* Generated ornamental UI kit. The centre of the frame is transparent so
   the existing forest artwork remains visible between the card contents;
   the buttons keep their text in HTML for accessibility and localisation. */
.guildFortressScreen.guild-fortress-building-open .guildWindowCard::before{
  inset:0;
  border:0;
  border-radius:0;
  background:url('../img/guild_fortress/guild_ui_large_panel_frame_v1.png') center/100% 100% no-repeat;
  box-shadow:none;
  opacity:.82;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowCard::after{ display:none; }
.guildFortressScreen.guild-fortress-building-open .guildWindowCard{
  border-color:rgba(206,166,82,.36);
  box-shadow:inset 0 0 0 1px rgba(3,10,7,.76), inset 0 0 34px rgba(0,0,0,.23), 0 12px 30px rgba(0,0,0,.4);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowCard:hover{
  border-color:rgba(235,196,105,.58);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowAction,
.guildFortressScreen.guild-fortress-building-open .guildFortressAction,
.guildFortressScreen.guild-fortress-building-open .guildFortressPanelBack{
  position:relative;
  border:0;
  border-radius:0;
  background-color:transparent;
  background-image:url('../img/guild_fortress/guild_ui_button_secondary_v1.png');
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
  box-shadow:0 5px 13px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,241,183,.08);
  filter:drop-shadow(0 0 1px rgba(232,185,81,.28));
}
.guildFortressScreen.guild-fortress-building-open .guildWindowAction--primary,
.guildFortressScreen.guild-fortress-building-open .guildWindowUpgradeWrap .guildFortressAction{
  background-image:url('../img/guild_fortress/guild_ui_button_primary_v1.png');
}
.guildFortressScreen.guild-fortress-building-open .guildWindowAction:hover,
.guildFortressScreen.guild-fortress-building-open .guildFortressAction:hover,
.guildFortressScreen.guild-fortress-building-open .guildFortressPanelBack:hover,
.guildFortressScreen.guild-fortress-building-open .guildWindowAction:focus-visible,
.guildFortressScreen.guild-fortress-building-open .guildFortressAction:focus-visible,
.guildFortressScreen.guild-fortress-building-open .guildFortressPanelBack:focus-visible{
  border:0;
  filter:brightness(1.18) drop-shadow(0 0 7px rgba(239,194,91,.25));
  outline:1px solid rgba(241,202,112,.72);
  outline-offset:-4px;
  transform:translateY(-1px);
}
.guildFortressScreen.guild-fortress-building-open .guildFortressPanelBack{
  min-width:118px;
  min-height:45px;
  padding:10px 20px;
  color:#f6dfaa;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowAction,
.guildFortressScreen.guild-fortress-building-open .guildFortressAction{
  min-height:46px;
  padding:12px 18px;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowWarHistoryActions .guildWindowAction{
  min-height:31px;
  width:auto;
  margin:0;
  padding:7px 9px;
  font-size:9px;
  letter-spacing:.04em;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowUpgradeWrap .guildFortressAction{
  min-height:54px;
  font-size:12px;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowDepositPresets button,
.guildFortressScreen.guild-fortress-building-open .guildWindowPeriodTabs .guildFortressTab,
.guildFortressScreen.guild-fortress-building-open .guildWindowTargetRow button{
  border-color:rgba(194,157,77,.58);
  background:linear-gradient(180deg,rgba(71,45,23,.9),rgba(14,28,20,.95));
  box-shadow:inset 0 1px 0 rgba(255,231,163,.1), 0 3px 8px rgba(0,0,0,.3);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowDepositPresets button:hover,
.guildFortressScreen.guild-fortress-building-open .guildWindowPeriodTabs .guildFortressTab:hover,
.guildFortressScreen.guild-fortress-building-open .guildWindowTargetRow button:hover,
.guildFortressScreen.guild-fortress-building-open .guildWindowDepositPresets button:focus-visible,
.guildFortressScreen.guild-fortress-building-open .guildWindowPeriodTabs .guildFortressTab:focus-visible,
.guildFortressScreen.guild-fortress-building-open .guildWindowTargetRow button:focus-visible{
  border-color:#e8c469;
  background:linear-gradient(180deg,rgba(118,76,34,.96),rgba(33,64,35,.96));
  outline:none;
  box-shadow:0 0 10px rgba(207,160,65,.18), inset 0 1px 0 rgba(255,241,189,.18);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowPeriodTabs .guildFortressTab.is-active{
  border-color:#d7af59;
  background:linear-gradient(180deg,rgba(101,68,28,.95),rgba(35,75,39,.96));
}
.guildFortressScreen.guild-fortress-building-open .guildWindowFooter,
.guildFortressScreen.guild-fortress-building-open .guildFortressForm,
.guildFortressScreen.guild-fortress-building-open .guildWindowTreasuryAmount{
  border-image:url('../img/guild_fortress/guild_ui_panel_frame_v1.png') 120 fill / 8px / 0 stretch;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowFooter{
  background:rgba(3,19,13,.64);
  box-shadow:inset 0 0 20px rgba(0,0,0,.25);
}
.guildFortressScreen.guild-fortress-building-open .guildFortressUpgrade{
  border-image:url('../img/guild_fortress/guild_ui_panel_frame_v1.png') 120 fill / 8px / 0 stretch;
  border-radius:0;
  background:rgba(8,28,19,.78);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowSectionIcon,
.guildFortressScreen.guild-fortress-building-open .guildWindowMetricIcon,
.guildFortressScreen.guild-fortress-building-open .guildWindowInfoIcon,
.guildFortressScreen.guild-fortress-building-open .guildWindowEventIcon,
.guildFortressScreen.guild-fortress-building-open .guildWindowFooterIcon{
  border-color:rgba(211,170,82,.7);
  background:linear-gradient(145deg,rgba(120,78,29,.76),rgba(4,26,18,.95));
  box-shadow:inset 0 0 0 2px rgba(7,21,14,.82), 0 3px 9px rgba(0,0,0,.38);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowSectionHeading{
  padding-bottom:9px;
  border-bottom:1px solid rgba(203,163,81,.25);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowSectionHeading::after{
  content:"";
  position:absolute;
  right:0;
  bottom:-2px;
  left:48px;
  height:2px;
  background:linear-gradient(90deg,rgba(221,181,94,.4),transparent 72%);
  pointer-events:none;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMetric,
.guildFortressScreen.guild-fortress-building-open .guildWindowBigBonusGrid > div,
.guildFortressScreen.guild-fortress-building-open .guildWindowBonusTile{
  border-image:url('../img/guild_fortress/guild_ui_panel_frame_v1.png') 120 fill / 5px / 0 stretch;
  border-radius:0;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowCrest,
.guildFortressScreen.guild-fortress-building-open .guildWindowLevelSeal,
.guildFortressScreen.guild-fortress-building-open .guildWindowTargetCrest{
  filter:drop-shadow(0 4px 6px rgba(0,0,0,.46));
}
.guildFortressScreen.guild-fortress-building-open .guildWindowBossScene{
  border-image:url('../img/guild_fortress/guild_ui_panel_frame_v1.png') 120 fill / 9px / 0 stretch;
  border-radius:0;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowBossScene::before{ display:none; }
.guildFortressScreen.guild-fortress-building-open .guildWindowWarehousePane .guildFortressWarehouseSlot{
  border-color:rgba(203,163,80,.52);
  box-shadow:inset 0 0 0 1px rgba(6,15,10,.78), inset 0 1px 0 rgba(255,236,170,.1), 0 4px 9px rgba(0,0,0,.3);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowWarehousePane .guildFortressWarehouseSlot:hover,
.guildFortressScreen.guild-fortress-building-open .guildWindowWarehousePane .guildFortressWarehouseSlot:focus-visible{
  border-color:#efc66d;
  box-shadow:0 0 11px rgba(230,181,75,.22), inset 0 1px 0 rgba(255,246,197,.2);
}

/* Small tiles use their own restrained bevel. The large illustrated frame is
   reserved for the actual window cards so its corner ornaments never collide
   with compact numbers, tabs or inline controls. */
.guildFortressScreen.guild-fortress-building-open .guildWindowMetric,
.guildFortressScreen.guild-fortress-building-open .guildWindowBigBonusGrid > div,
.guildFortressScreen.guild-fortress-building-open .guildWindowBonusTile{
  border:1px solid rgba(144,177,116,.38);
  border-image:none;
  border-radius:7px;
  background:linear-gradient(145deg,rgba(15,58,39,.78),rgba(3,25,17,.84));
}
.guildFortressScreen.guild-fortress-building-open .guildWindowFooter,
.guildFortressScreen.guild-fortress-building-open .guildFortressForm,
.guildFortressScreen.guild-fortress-building-open .guildWindowTreasuryAmount{
  border:1px solid rgba(191,157,85,.3);
  border-image:none;
}
.guildFortressScreen.guild-fortress-building-open .guildFortressUpgrade,
.guildFortressScreen.guild-fortress-building-open .guildWindowBossScene{
  border-image:url('../img/guild_fortress/guild_ui_large_panel_frame_v1.png') 120 fill / 8px / 0 stretch;
}

/* The large frame is a real nine-slice border. It is intentionally applied
   only to window cards; metric tiles below keep their compact original
   rounded frame and never inherit the large corner artwork. */
.guildFortressScreen.guild-fortress-building-open .guildWindowCard{
  border:18px solid transparent;
  border-image-source:url('../img/guild_fortress/guild_ui_large_panel_frame_v1.png');
  border-image-slice:120 fill;
  border-image-width:18px;
  border-image-outset:0;
  border-image-repeat:stretch;
  padding:10px;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowCard::before{
  inset:9px;
  border:1px solid rgba(210,174,92,.18);
  border-radius:3px;
  background:none;
  box-shadow:inset 0 0 14px rgba(0,0,0,.22);
  opacity:1;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMetric,
.guildFortressScreen.guild-fortress-building-open .guildWindowBigBonusGrid > div,
.guildFortressScreen.guild-fortress-building-open .guildWindowBonusTile{
  border:1px solid rgba(144,177,116,.38);
  border-image:none;
  border-radius:7px;
  padding:10px 8px 11px;
  background:linear-gradient(145deg,rgba(15,58,39,.78),rgba(3,25,17,.84));
}

/* Real guild iconography. The sprite atlas is only used for guild-specific
   symbols; currencies and combat rewards keep the game's finished assets. */
.guildFortressScreen.guild-fortress-building-open .guildUiIcon{
  display:inline-block;
  flex:0 0 auto;
  box-sizing:border-box;
  width:26px;
  height:26px;
  overflow:hidden;
  background-image:url('../img/guild_fortress/guild_ui_icon_atlas_v1.png');
  background-repeat:no-repeat;
  background-size:400% 400%;
  font-size:0 !important;
  line-height:0;
  text-shadow:none;
}
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--guild{ background-position:0 0; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--members{ background-position:33.3333% 0; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--fame{ background-position:100% 0; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--attack{ background-position:0 33.3333%; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--defense{ background-position:33.3333% 33.3333%; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--request{ background-position:100% 33.3333%; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--warehouse{ background-position:0 66.6667%; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--bag{ background-position:33.3333% 66.6667%; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--training{ background-position:66.6667% 66.6667%; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--upgrade{ background-position:100% 66.6667%; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--history{ background-position:66.6667% 100%; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--reward{ background-position:100% 100%; }
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--gold{
  background-image:url('../img/ui/combat_result/reward_gold_v1.png');
  background-position:center;
  background-size:contain;
}
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--crystal{
  background-image:url('../img/ui/currency/crystal_v1.png');
  background-position:center;
  background-size:contain;
}
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--experience{
  background-image:url('../img/ui/combat_result/reward_xp_v1.png');
  background-position:center;
  background-size:contain;
}
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--rank{
  background-image:url('../img/ui/guild_banners/symbol_crown.png');
  background-position:center;
  background-size:contain;
}
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--boss{
  background-image:url('../img/ui/guild_banners/symbol_skull.png');
  background-position:center;
  background-size:contain;
}
.guildFortressScreen.guild-fortress-building-open .guildUiIcon--health{
  background-image:url('../img/items/gems/gem_health_v1.png');
  background-position:center;
  background-size:contain;
}

.guildFortressScreen.guild-fortress-building-open .guildWindowSectionIcon.guildUiIcon{ width:38px; height:38px; padding:5px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowMetricIcon.guildUiIcon{ width:27px; height:27px; padding:3px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowInfoIcon.guildUiIcon{ width:22px; height:22px; padding:3px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowEventIcon.guildUiIcon{ width:25px; height:25px; padding:3px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowFooterIcon.guildUiIcon{ width:22px; height:22px; padding:3px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowCrestIcon{ width:68%; height:72%; padding:0; border:0; border-radius:0; background-color:transparent; box-shadow:none; clip-path:none; }
.guildFortressScreen.guild-fortress-building-open .guildWindowBonusIcon.guildUiIcon{ width:35px; height:35px; padding:2px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowEmptyIcon{ width:34px; height:34px; padding:3px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowEmblemMiniIcon{ width:30px; height:34px; padding:5px; border:1px solid rgba(210,167,80,.52); background-color:rgba(3,18,13,.7); clip-path:polygon(50% 0,91% 15%,84% 74%,50% 100%,16% 74%,9% 15%); }
.guildFortressScreen.guild-fortress-building-open .guildWindowWarehouseChestIcon{ width:52px; height:52px; padding:0; border:0; border-radius:0; background-color:transparent; box-shadow:none; }
.guildFortressScreen.guild-fortress-building-open .guildWindowRuleIcon{ width:18px; height:18px; margin-right:6px; vertical-align:-5px; padding:1px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowCompactBonusIcon{ width:29px; height:29px; padding:2px; border:1px solid rgba(212,168,80,.45); border-radius:50%; background-color:rgba(3,20,14,.7); }
.guildFortressScreen.guild-fortress-building-open .guildWindowTargetCrest.guildUiIcon{ padding:5px; background-color:rgba(18,21,19,.7); }
.guildFortressScreen.guild-fortress-building-open .guildWindowRewardIcon{ width:30px; height:30px; padding:2px; background-color:transparent; }
.guildFortressScreen.guild-fortress-building-open .guildWindowBossMedal.guildUiIcon{ width:68px; height:68px; padding:9px; background-color:rgba(20,12,13,.9); }
.guildFortressScreen.guild-fortress-building-open .guildWindowInstructionIcon{ width:20px; height:20px; padding:2px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowInlineIcon{ width:20px; height:20px; margin-right:5px; vertical-align:-5px; padding:2px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowTrainingArenaIcon{ width:60px; height:60px; padding:3px; border:0; background-color:transparent; box-shadow:none; }
.guildFortressScreen.guild-fortress-building-open .guildWindowLineIcon.guildUiIcon{ width:33px; height:33px; padding:3px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowTreasuryIcon{ width:32px; height:32px; padding:1px; }
.guildFortressScreen.guild-fortress-building-open .guildWindowBankGoldIcon{ position:relative; width:82px; height:82px; padding:0; background-color:transparent; }
.guildFortressScreen.guild-fortress-building-open .guildWindowBankSparkIcon{ position:absolute; right:24%; bottom:10px; width:25px; height:25px; padding:1px; background-color:transparent; }
.guildFortressScreen.guild-fortress-building-open .guildWindowFineprintIcon{ width:16px; height:16px; margin-right:4px; padding:1px; vertical-align:-4px; }
.guildFortressScreen.guild-fortress-building-open .guildFortressWarehouseFallbackIcon{ width:30px; height:30px; padding:0; }
.guildFortressScreen.guild-fortress-building-open .guildWindowRecentList .guildUiIcon{ display:none; }

/* The yellow close control in the fortress corner is the only navigation
   control needed inside a building window. Keep legacy controls hidden if an
   older panel is still present in the DOM. */
body.guild-fortress-active .guildFortressPanelBack,
body.guild-fortress-active .guildFortressPanelClose,
body.guild-fortress-active #guildWarModal .guildWarClose{ display:none !important; }

/* Legacy guild panels must never sit above the current fortress building
   window. The fortress is the only active guild UI in this mode. */
body.guild-fortress-active #guildBossPanel,
body.guild-fortress-active #guildWarModal,
body.guild-fortress-active #guildWarBattleOverlay,
body.guild-fortress-active #guildUiModalOverlay:not(.guildFortressManagementModal),
body.guild-fortress-active #guildBossRaidOverlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
body.guild-fortress-active #guildUiModalOverlay.guildFortressManagementModal{
  display:flex !important;
  visibility:visible !important;
  pointer-events:auto !important;
  z-index:400000 !important;
}

/* Guild warehouse interaction follows the normal inventory feedback. */
.guildFortressWarehouseItem--common{ border-color:rgba(190,158,91,.68) !important; }
.guildFortressWarehouseItem--epic{ border-color:rgba(173,91,218,.86) !important; box-shadow:0 0 8px rgba(164,77,224,.16), inset 0 0 0 1px rgba(220,171,255,.14); }
.guildFortressWarehouseItem--legendary{ border-color:rgba(237,166,55,.92) !important; box-shadow:0 0 9px rgba(235,164,47,.18), inset 0 0 0 1px rgba(255,222,133,.17); }
.guildFortressWarehouseSlot.guildWarehouseDragging{ opacity:.3; }
.guildFortressWarehouseSlot.guildWarehouseDragOver{ border-color:#ffe08a !important; box-shadow:0 0 15px rgba(245,195,79,.42), inset 0 0 0 2px rgba(255,235,155,.3); transform:translateY(-1px); }
.guildFortressScreen.guild-fortress-building-open .guildWindowWarehousePane .guildFortressWarehouseItemName{ display:none; }

/* Read-only guild courtyard visit. The visitor sees the scene and roster,
   while the building registry stays empty and therefore has no level labels
   or interactive hit areas. */
.guildFortressScreen.guildFortressVisitorMode .guildFortressBuildings{
  pointer-events:none !important;
  opacity:.2;
  filter:grayscale(.45);
}
.guildFortressVisitorPanel{
  position:absolute;
  z-index:12;
  inset:0;
  pointer-events:none;
  overflow:visible;
  --guildFortressVisitorTreasuryW:clamp(156px, 13vw, 220px);
}
.guildFortressVisitorWindow{
  position:absolute;
  box-sizing:border-box;
  color:#f8e8c0;
  border:1px solid rgba(228,178,83,.78);
  border-radius:12px;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(112,157,92,.2), transparent 48%),
    radial-gradient(ellipse at 50% 100%, rgba(20,76,50,.32), transparent 64%),
    linear-gradient(160deg, rgba(8,29,20,.97), rgba(5,20,14,.985));
  box-shadow:0 18px 45px rgba(0,0,0,.68), inset 0 1px 0 rgba(255,241,193,.18), inset 0 0 70px rgba(0,0,0,.42);
  pointer-events:auto;
}
.guildFortressVisitorMembersWindow{
  top:clamp(72px, 9vh, 110px);
  right:calc(50% - (var(--guildFortressStageW) / 2) + var(--stagePad, 4px) + 24px);
  width:min(520px, calc(var(--guildFortressStageWidth) - var(--guildFortressVisitorTreasuryW) - 42px));
  height:auto;
  max-height:calc(100% - clamp(84px, 10vh, 124px));
  overflow:auto;
  padding:clamp(20px, 3vw, 34px);
  scrollbar-color:#9d7130 rgba(2,12,8,.55);
  scrollbar-width:thin;
  z-index:3;
}
.guildFortressVisitorMembersWindow::-webkit-scrollbar{ width:10px; }
.guildFortressVisitorMembersWindow::-webkit-scrollbar-track{ background:rgba(2,12,8,.55); }
.guildFortressVisitorMembersWindow::-webkit-scrollbar-thumb{ border:2px solid rgba(2,12,8,.55); border-radius:8px; background:linear-gradient(#c18b3e,#704b24); }
.guildFortressVisitorTreasuryWindow{
  top:clamp(86px, 17vh, 170px);
  left:calc(var(--guildFortressStageLeft) + clamp(14px, 2vw, 30px));
  width:var(--guildFortressVisitorTreasuryW);
  max-width:calc(var(--guildFortressStageWidth) - 28px);
  padding:17px 18px 16px;
  text-align:center;
  z-index:2;
}
.guildFortressVisitorTreasuryWindow .guildFortressPanelKicker{ display:block; color:#cdb47d; font:700 10px/1.2 Arial,sans-serif; letter-spacing:.1em; }
.guildFortressVisitorTreasuryWindow strong{ display:flex; align-items:center; justify-content:center; gap:7px; margin-top:9px; color:#ffe4a4; font:800 clamp(22px, 2.3vw, 30px)/1 Arial,sans-serif; white-space:nowrap; }
.guildFortressVisitorTreasuryWindow small{ display:block; margin-top:6px; color:#a99980; font:700 11px/1.2 Arial,sans-serif; letter-spacing:.04em; }
.guildFortressVisitorTop{ display:flex; align-items:flex-start; gap:16px; padding-bottom:20px; border-bottom:1px solid rgba(188,157,91,.35); }
.guildFortressVisitorHeading{ display:flex; align-items:center; gap:14px; min-width:0; flex:1 1 auto; }
.guildFortressVisitorHeading > div{ min-width:0; }
.guildFortressVisitorHeading h2{ margin:3px 0 5px; color:#f4dfad; font-size:clamp(24px, 3vw, 38px); line-height:1.05; text-shadow:0 3px 7px rgba(0,0,0,.8); }
.guildFortressVisitorHeading p{ margin:0; color:#b6c6ad; font:13px/1.4 Arial,sans-serif; }
.guildFortressVisitorCrest{ flex:0 0 58px; width:58px; height:68px; }
.guildFortressVisitorCrest .guildWindowGuildBanner,
.guildFortressVisitorCrest .guildWindowGuildEmblemKey{ width:100%; height:100%; }
.guildFortressVisitorGoldIcon{ width:21px; height:21px; display:inline-block; background:url('../img/ui/gold.png') center / contain no-repeat; filter:drop-shadow(0 2px 2px rgba(0,0,0,.55)); }
.guildFortressVisitorMeta{ display:flex; gap:10px; margin:20px 0; }
.guildFortressVisitorMeta > span{ min-width:120px; padding:10px 13px; border:1px solid rgba(205,153,71,.28); border-radius:7px; background:rgba(74,35,28,.3); }
.guildFortressVisitorMeta b{ display:block; color:#ffe5ad; font:800 19px/1.1 Arial,sans-serif; }
.guildFortressVisitorMeta small{ display:block; margin-top:4px; color:#bba783; font:10px/1.2 Arial,sans-serif; letter-spacing:.08em; }
.guildFortressVisitorRoster{ width:calc(100% - 14px); max-width:calc(100% - 14px); min-width:0; margin-right:14px; box-sizing:border-box; padding:18px; border:1px solid rgba(188,157,91,.3); border-radius:9px; background:rgba(3,16,12,.46); }
.guildFortressVisitorRosterHeader{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:12px; border-bottom:1px solid rgba(188,157,91,.25); }
.guildFortressVisitorRosterHeader h3{ margin:4px 0 0; color:#f0d99e; font-size:19px; letter-spacing:.04em; text-transform:none; }
.guildFortressVisitorRosterHeader > b{ display:grid; min-width:34px; height:34px; place-items:center; border:1px solid rgba(218,178,91,.55); border-radius:50%; color:#ffe5ad; background:rgba(73,42,24,.62); font:800 15px/1 Arial,sans-serif; }
.guildFortressVisitorMembers{ display:grid; gap:7px; width:100%; max-width:100%; min-width:0; margin-top:13px; }
.guildFortressVisitorMember{ display:flex; align-items:center; gap:10px; width:100%; min-width:0; min-height:52px; box-sizing:border-box; padding:8px 10px; border:1px solid rgba(153,133,91,.22); border-radius:7px; background:linear-gradient(90deg, rgba(26,47,29,.6), rgba(35,25,22,.45)); }
.guildFortressVisitorMemberCrest{ display:grid; flex:0 0 34px; width:34px; height:34px; place-items:center; border:1px solid rgba(208,169,88,.5); border-radius:50%; background:rgba(78,47,24,.62); }
.guildFortressVisitorMemberIcon{ transform:scale(.72); }
.guildFortressVisitorMemberIdentity{ min-width:0; flex:1 1 auto; }
.guildFortressVisitorMemberIdentity b{ display:block; overflow:hidden; color:#f5e1ad; font:700 14px/1.2 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.guildFortressVisitorMemberIdentity small{ display:block; margin-top:3px; overflow:hidden; color:#b6c6ad; font:11px/1.2 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.guildFortressVisitorMemberLevel{ flex:0 0 auto; min-width:52px; color:#f4c96a; font:800 15px/1 Arial,sans-serif; text-align:right; }
.guildFortressVisitorStatus{ padding:24px 10px; color:#c9d9b9; font:13px/1.45 Arial,sans-serif; text-align:center; }
.guildFortressVisitorStatus.is-error{ color:#f1af9c; }
@media (max-width:900px) and (min-width:701px){
  .guildFortressVisitorMembersWindow{ top:104px; left:10px; right:10px; bottom:10px; width:auto; max-height:none; }
  .guildFortressVisitorTreasuryWindow{ top:10px; left:10px; }
}
@media (max-width:700px){
  .guildFortressVisitorMembersWindow{ top:92px; left:10px; right:10px; bottom:10px; width:auto; padding:18px; }
  .guildFortressVisitorTreasuryWindow{ top:10px; left:10px; width:190px; padding:12px 14px; }
  .guildFortressVisitorTop{ flex-wrap:wrap; }
  .guildFortressVisitorHeading{ flex-basis:calc(100% - 74px); }
  .guildFortressVisitorCrest{ flex-basis:48px; width:48px; height:58px; }
}

/* Members roster: readable SFGame-style hierarchy with real class and rank
   badges instead of a repeated generic guild icon. */
.guildFortressScreen.guild-fortress-building-open .guildWindowMembersCard{
  padding:22px;
  background:
    radial-gradient(ellipse at 18% 0%, rgba(108,150,76,.13), transparent 44%),
    linear-gradient(145deg, rgba(8,39,27,.96), rgba(3,21,15,.97));
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMembersList{
  gap:9px;
  max-height:620px;
  padding:3px 5px 4px 1px;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  min-height:78px;
  align-items:center;
  gap:14px;
  padding:10px 12px 10px 10px;
  border:1px solid rgba(200,168,91,.34);
  border-radius:10px;
  background:
    linear-gradient(105deg, rgba(26,65,40,.68), rgba(5,26,18,.82) 56%, rgba(42,29,21,.44)),
    repeating-linear-gradient(135deg, rgba(240,210,143,.022) 0 1px, transparent 1px 8px);
  box-shadow:inset 0 1px 0 rgba(255,239,180,.09), 0 5px 13px rgba(0,0,0,.22);
  transition:border-color .16s ease, transform .16s ease, filter .16s ease;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRow:hover{
  border-color:rgba(235,195,103,.68);
  filter:brightness(1.08);
  transform:translateY(-1px);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRow.is-self{
  border-color:rgba(135,201,104,.82);
  background:
    linear-gradient(105deg, rgba(51,105,54,.78), rgba(7,38,22,.88) 62%, rgba(40,32,19,.5)),
    repeating-linear-gradient(135deg, rgba(240,238,164,.025) 0 1px, transparent 1px 8px);
  box-shadow:inset 0 1px 0 rgba(222,255,180,.18), 0 0 16px rgba(92,173,75,.12);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberIdentity{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberBadges{
  display:flex;
  align-items:center;
  gap:5px;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRoleBadge,
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberClassBadge{
  position:relative;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  overflow:hidden;
  flex:0 0 auto;
  border:1px solid rgba(222,181,91,.7);
  background:linear-gradient(145deg, rgba(82,56,25,.82), rgba(5,24,16,.94));
  box-shadow:inset 0 0 0 2px rgba(6,20,13,.72), 0 3px 9px rgba(0,0,0,.35);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRoleBadge{
  width:49px;
  height:49px;
  border-radius:10px;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberClassBadge{
  width:38px;
  height:38px;
  border-radius:50%;
  border-color:rgba(173,193,139,.64);
  background:radial-gradient(circle, rgba(58,90,49,.88), rgba(4,23,16,.96));
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRoleBadge--leader{ border-color:rgba(244,203,91,.92); background:linear-gradient(145deg,rgba(116,64,24,.94),rgba(31,24,14,.96)); }
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRoleBadge--admin{ border-color:rgba(119,174,222,.86); background:linear-gradient(145deg,rgba(43,78,106,.92),rgba(10,24,27,.96)); }
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRoleBadge--member{ border-color:rgba(128,187,111,.74); background:linear-gradient(145deg,rgba(44,86,49,.9),rgba(8,27,18,.96)); }
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRoleBadge img,
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberClassBadge img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.7));
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberClassBadge img{
  width:126%;
  height:126%;
  max-width:none;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberCopy{ min-width:0; }
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberNameLine{
  display:flex;
  min-width:0;
  align-items:baseline;
  gap:6px;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberIdentity b{
  overflow:hidden;
  color:#f2d89f;
  font:800 clamp(16px, 1.45vw, 20px)/1.1 Georgia,serif;
  letter-spacing:.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberIdentity b em{
  flex:0 0 auto;
  color:#a7d77c;
  font:800 11px/1 Arial,sans-serif;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberLevel{
  flex:0 0 auto;
  color:#e7bd64;
  font:800 14px/1 Arial,sans-serif;
  white-space:nowrap;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberMeta{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:18px;
  margin-top:6px;
  color:#9eb69d;
  font:700 11px/1.2 Arial,sans-serif;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberClassLabel{ color:#b8cca6; }
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberMetaDot{ color:#d0a85a; }
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberActivity{ color:#94d477; }
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRelics{
  display:flex;
  min-width:74px;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRelic{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  box-sizing:border-box;
  overflow:hidden;
  border:1px solid rgba(206,170,85,.56);
  border-radius:8px;
  background:rgba(5,26,17,.76);
  box-shadow:inset 0 0 0 2px rgba(3,17,11,.7), 0 3px 8px rgba(0,0,0,.28);
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRelic img{
  display:block;
  width:27px;
  height:27px;
  object-fit:contain;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.75));
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRelic i{
  color:#d5ae61;
  font:800 18px/1 Georgia,serif;
  font-style:normal;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberRelicsEmpty{
  color:rgba(175,193,157,.54);
  font:800 16px/1 Arial,sans-serif;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberActions{
  min-width:76px;
  gap:6px;
}
.guildFortressScreen.guild-fortress-building-open .guildWindowMemberAction{
  min-height:32px;
  padding:7px 10px;
  border-radius:6px;
  font-size:10px;
}
@media (max-width:820px){
  .guildFortressScreen.guild-fortress-building-open .guildWindowBoard--members{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .guildFortressScreen.guild-fortress-building-open .guildWindowMemberRow{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px 10px;
  }
  .guildFortressScreen.guild-fortress-building-open .guildWindowMemberRelics{
    grid-column:1;
    justify-content:flex-start;
    margin-left:2px;
  }
  .guildFortressScreen.guild-fortress-building-open .guildWindowMemberActions{
    grid-column:2;
    grid-row:1 / span 2;
  }
}
