/* R28 — client-sized Retro HUD. The whole game + HUD scales as one 742px-wide client. */
:root{--retro-client-scale:1;--retro-game-h:432px;--retro-hud-h:124px}
html,body{background:#1a1a1a}
body{display:flex;align-items:center;justify-content:center}
#game-shell{
  position:relative;flex:none;display:grid;
  grid-template-rows:var(--retro-game-h) var(--retro-hud-h);
  width:742px;height:556px;overflow:visible;background:#1a1a1a;
}
#game-shell.game-shell--hud-hidden{grid-template-rows:var(--retro-game-h) 0}
#game-viewport{position:relative;width:100%;height:var(--retro-game-h);min-width:0;min-height:0;overflow:hidden;background:#1a1a1a}
#game-viewport #pixi-container{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;background:#1a1a1a!important}
#game-viewport #game-container{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}

#game-hud-container{
  position:relative;z-index:1200;width:100%;height:var(--retro-hud-h);overflow:visible;background:transparent;
  font-family:Verdana,Tahoma,Arial,sans-serif;color:#514a3c;
}
#game-hud-container.game-hud-container--hidden{display:none}
#game-hud-container *{box-sizing:border-box}
#game-hud-container button{font:inherit}
#game-hud-container .game-hud{
  position:absolute;left:0;top:0;width:742px;height:124px;
  transform:scale(var(--retro-client-scale));transform-origin:top left;
  user-select:none;overflow:visible;
}
#game-hud-container .game-hud[hidden]{display:none!important}

/* Base banner */
.game-hud__base{position:absolute;inset:0;background:#d5cfaa;border-top:1px solid #fff;box-shadow:inset 0 2px 0 #8c8568}
.game-hud__base::after{content:"";position:absolute;left:415px;top:0;width:327px;height:40px;background:#fff;border-bottom:1px solid #b4ae8d}

/* Chat — 415 × 124, matching the Retro banner proportions. */
.game-hud__chat{position:absolute;left:0;top:0;width:415px;height:124px;overflow:hidden}
.game-hud__chat-top{position:absolute;left:0;top:0;width:415px;height:16px;background:#8c8568;border-bottom:1px solid rgba(255,255,255,.65)}
.game-hud__chat-tools{position:absolute;left:0;top:1px;display:flex;gap:2px}
.game-hud__chat-tool{all:unset!important;width:17px!important;height:13px!important;display:grid!important;place-items:center!important;background:#fff!important;color:#514a3c!important;border-radius:2px!important;font:700 9px Arial,sans-serif!important;box-shadow:inset 0 -1px 0 #9b9274!important}
.game-hud__filters{position:absolute;right:50px;top:2px;display:flex;gap:2px}
.game-hud__filter{all:unset!important;width:11px!important;height:11px!important;display:grid!important;place-items:center!important;cursor:pointer!important;background:var(--filter)!important;border:1px solid #d5cfaa!important;box-shadow:0 0 0 1px rgba(81,74,60,.3)!important}
.game-hud__filter span{font:700 8px Arial,sans-serif;color:#fff;text-shadow:0 1px 0 #111}
.game-hud__chat-scroll{position:absolute;left:3px;top:20px;width:8px;height:79px;background:#beb998;border:1px solid #a59e7f}
.game-hud__chat-scroll::after{content:"";position:absolute;left:1px;top:6px;width:4px;height:42px;border-radius:2px;background:#514a3c}
.game-hud__chat-log{position:absolute;left:18px;right:8px;top:20px;height:79px;overflow:hidden;font-size:9px;line-height:1.35;color:#514a3c}
.game-hud__welcome{opacity:.6}
.game-hud__chat-input{position:absolute;left:0;bottom:0;width:415px;height:20px;display:flex;align-items:center;background:#fff;border-top:1px solid #b6b097;color:#8c8568}
.game-hud__chat-input>span{padding:0 5px 0 20px;font:700 11px Arial,sans-serif}
.game-hud__chat-input input{width:100%;height:100%;border:0;outline:0;background:transparent;padding:0 8px 0 0;color:#514a3c;font:10px Verdana,Tahoma,sans-serif}
.game-hud__chat-input input::placeholder{color:#aaa}

/* Centre minimap orb. It intentionally overlaps the left and right panels like Retro. */
.game-hud__map-orb{position:absolute;z-index:8;left:358px;top:3px;width:119px;height:119px;border-radius:50%;pointer-events:none}
.game-hud__map-shadow{position:absolute;inset:0;border-radius:50%;box-shadow:-5px 0 0 rgba(0,0,0,.16),5px 0 0 rgba(0,0,0,.16)}
.game-hud__map-outer{position:absolute;inset:0;border-radius:50%;background:#514a3c;border:4px solid #fff;box-shadow:0 0 0 1px #8c8568}
.game-hud__map-ring{position:absolute;left:9px;top:9px;width:101px;height:101px;border-radius:50%;border:15px solid #514a3c;background:#202f3e}
.game-hud__map-ring::before{content:"";position:absolute;inset:-15px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#fff 0 1deg,transparent 1deg 44deg);-webkit-mask:radial-gradient(circle,transparent 0 38px,#000 39px 54px,transparent 55px);mask:radial-gradient(circle,transparent 0 38px,#000 39px 54px,transparent 55px);opacity:.95}
.game-hud__map-core{position:absolute;left:22px;top:22px;width:75px;height:75px;border:3px solid #fff;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 45% 40%,#9aa87c,#5b745d 52%,#31434a)}
.game-hud__minimap-canvas{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;opacity:0;filter:saturate(.88) contrast(.98);transition:opacity .18s ease}
.game-hud__minimap-canvas.is-ready{opacity:.98}
.game-hud__map-fallback{position:absolute;inset:0;background:linear-gradient(135deg,transparent 46%,rgba(255,255,255,.22) 47% 49%,transparent 50%),linear-gradient(45deg,transparent 46%,rgba(255,255,255,.15) 47% 49%,transparent 50%);background-size:18px 18px}
.game-hud__level{position:absolute;z-index:10;left:50%;top:-7px;transform:translateX(-50%);min-width:45px;padding:1px 7px 2px;border-radius:13px;background:#fff66b;border:2px solid #514a3c;color:#172038;text-align:center;font:900 18px Arial,sans-serif;line-height:20px;box-shadow:0 1px 1px rgba(0,0,0,.2)}
.game-hud__hp-badge{position:absolute;z-index:10;left:-5px;top:20px;min-width:23px;height:22px;border-radius:12px;background:#fff;border:2px solid #514a3c;color:#c51010;display:flex;align-items:center;justify-content:center;gap:1px;font:700 8px Arial,sans-serif;box-shadow:0 1px 1px rgba(0,0,0,.2)}
.game-hud__hp-badge b{color:#172038;font-size:8px}
.game-hud__resource-stack{position:absolute;z-index:10;right:-4px;top:20px;display:flex;flex-direction:column;gap:2px}
.game-hud__resource{height:20px;min-width:26px;padding:1px 3px;border-radius:3px;background:#fff;border:1px solid #8c8568;display:grid;grid-template-columns:5px 1fr;grid-template-rows:10px 7px;column-gap:2px;align-items:center}
.game-hud__resource i{grid-row:1/3;width:5px;height:5px;border-radius:50%;background:currentColor}
.game-hud__resource b{font-size:8px;line-height:1;color:#514a3c}.game-hud__resource small{font-size:5px;color:#8c8568}
.game-hud__resource--ap{color:#356fd0}.game-hud__resource--mp{color:#3a9b45}

/* Right side */
.game-hud__right{position:absolute;left:415px;top:0;width:327px;height:124px}
.game-hud__menu-row{position:absolute;left:61px;top:7px;width:260px;height:27px;display:flex;gap:4px;align-items:center}
.game-hud__menu-button{all:unset!important;width:25px!important;height:25px!important;flex:0 0 25px!important;display:grid!important;place-items:center!important;cursor:pointer!important;border-radius:50%!important;background:radial-gradient(circle at 35% 28%,#ffd65a 0 18%,#ff8b25 45%,#e85f12 72%,#b8450b 100%)!important;border:1px solid #7e3e14!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 1px 1px rgba(0,0,0,.2)!important;color:#493822!important;font:900 10px Arial,sans-serif!important}
.game-hud__menu-button:hover,.game-hud__menu-button.is-active{filter:brightness(1.08);box-shadow:inset 0 0 0 2px #fff,0 1px 1px rgba(0,0,0,.2)!important}
.game-hud__menu-button:active{transform:translateY(1px)}
.game-hud__menu-button[disabled]{cursor:default!important;opacity:.78!important}

.game-hud__content{position:absolute;left:49px;top:48px;width:252px;height:65px;background:#b8b18f;border-top:1px solid #a59e7e;border-left:1px solid #a59e7e;box-shadow:inset 1px 1px 0 rgba(255,255,255,.45)}
.game-hud__panel{position:absolute;inset:0}.game-hud__panel[hidden]{display:none!important}
.game-hud__grid{position:absolute;left:53px;top:7px;display:grid;grid-template-columns:repeat(7,25px);grid-template-rows:repeat(2,25px);gap:4px 3px}
.game-hud__slot{all:unset!important;width:25px!important;height:25px!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#beb998!important;border:1px solid #877b63!important;box-shadow:inset -1px -1px 0 #d1ccb6,inset 1px 1px 0 #877b63!important;color:#756e59!important;font:700 9px Arial,sans-serif!important}
.game-hud__slot::after{content:"";position:absolute;inset:1px;border:1px solid rgba(255,255,255,.15);pointer-events:none}
.game-hud__slot--spell{color:#655c45!important;background:radial-gradient(circle at 50% 45%,#d4cfad,#b5ae8c)!important}
.game-hud__slot--spell span{opacity:.5;font-size:13px}
.game-hud__bag-mark{position:absolute;left:10px;top:11px;width:34px;height:39px;border-radius:8px 8px 13px 13px;background:#8f7f55;border:2px solid #fff;box-shadow:0 0 0 1px #645c49,inset 0 -8px 0 rgba(81,74,60,.18)}
.game-hud__bag-mark::before{content:"";position:absolute;left:8px;top:-8px;width:14px;height:11px;border:3px solid #645c49;border-bottom:0;border-radius:8px 8px 0 0}
.game-hud__bag-mark::after{content:"I";position:absolute;inset:0;display:grid;place-items:center;color:#f4ecd0;font:900 15px Georgia,serif}
.game-hud__spell-mark{position:absolute;left:10px;top:11px;width:34px;height:39px;display:grid;place-items:center;color:#fff;background:#8e3f35;border:2px solid #fff;box-shadow:0 0 0 1px #645c49;border-radius:50% 8px 50% 8px;transform:rotate(8deg);font:900 18px Georgia,serif}
.game-hud__spell-mark span{transform:rotate(-8deg)}

.game-hud__tabs{position:absolute;left:301px;top:56px;width:26px;display:flex;flex-direction:column;gap:2px}
.game-hud__tab{all:unset!important;width:26px!important;height:29px!important;display:grid!important;place-items:center!important;cursor:pointer!important;background:#514a3c!important;color:#fff!important;border-radius:0 3px 3px 0!important;font:700 8px Verdana,Tahoma,sans-serif!important;writing-mode:vertical-rl!important;text-orientation:mixed!important}
.game-hud__tab.is-active{width:27px!important;margin-left:-1px!important;background:linear-gradient(90deg,#b8b18f 78%,#9e9779)!important;color:#514a3c!important;box-shadow:inset 1px 0 0 rgba(255,255,255,.55)!important}

/* Fight prep reuses the exact same right panel; nothing grows over the map. */
.game-hud__fight{position:absolute;inset:0;display:grid;grid-template-columns:58px 1fr 58px 56px;align-items:center;padding:5px 5px 5px 7px;gap:4px;font-size:7px}
.game-hud__fight[hidden]{display:none!important}
.game-hud__fight-team{height:52px;border-radius:4px;padding:5px;display:flex;flex-direction:column;justify-content:center;color:#514a3c;background:rgba(255,255,255,.24)}
.game-hud__fight-team--red{border-left:4px solid #e54b43}.game-hud__fight-team--blue{border-left:4px solid #4a82df}
.game-hud__fight-team span{font-size:6px;letter-spacing:.06em}.game-hud__fight-team strong{font-size:9px;line-height:1.2}.game-hud__fight-team small{font-size:6px}
.game-hud__fight-summary{text-align:center}.game-hud__fight-summary span{display:block;color:#8f6a13;font-size:6px;font-weight:700;letter-spacing:.1em}.game-hud__fight-summary strong{display:block;font-size:10px;margin:2px 0}.game-hud__fight-summary small{display:block;font-size:6px;line-height:1.2}
.game-hud__fight-actions{width:56px;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.game-hud__fight-action{all:unset!important;box-sizing:border-box!important;width:54px!important;height:27px!important;display:grid!important;place-items:center!important;cursor:pointer!important;border-radius:4px!important;background:linear-gradient(#f9c94d,#e98a16)!important;border:1px solid #8d5a14!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 1px 1px rgba(0,0,0,.25)!important;color:#4d3517!important;text-shadow:0 1px rgba(255,255,255,.45)!important;font:800 8px Verdana,Tahoma,sans-serif!important}
.game-hud__fight-action:hover:not([disabled]){filter:brightness(1.08)}
.game-hud__fight-action:active:not([disabled]){transform:translateY(1px)}
.game-hud__fight-action[disabled]{cursor:default!important;opacity:.58!important;filter:saturate(.55)!important}
.game-hud__cancel{all:unset!important;width:18px!important;height:18px!important;display:grid!important;place-items:center!important;cursor:pointer!important;border-radius:50%!important;background:#b8483d!important;border:1px solid #fff!important;box-shadow:0 0 0 1px #7e342d!important;color:#fff!important;font:900 12px Arial,sans-serif!important}
.game-hud__cancel:hover{filter:brightness(1.12)}
.game-hud--cell-pulse [data-hud-player-cell]{animation:hudCellPulse .25s ease-out}@keyframes hudCellPulse{50%{color:#e54b43;transform:scale(1.15)}}
.game-hud__tabs[hidden]{display:none!important}

/* R29 — vector icon pass. Retro-like SVG artwork replaces letter placeholders. */
.hud-svg-icon{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.game-hud__menu-button{padding:0!important;overflow:visible!important}
.game-hud__menu-svg{width:29px;height:29px;filter:drop-shadow(0 1px 0 rgba(255,255,255,.28));transform:scale(.88)}
.game-hud__menu-button:hover .game-hud__menu-svg,.game-hud__menu-button.is-active .game-hud__menu-svg{transform:scale(.93)}
.game-hud__menu-button:active .game-hud__menu-svg{transform:translate(1px,1px) scale(.9)}
.game-hud__menu-button[disabled] .game-hud__menu-svg{opacity:1}

.game-hud__chat-tools{height:14px;align-items:center}
.game-hud__chat-tool{padding:0!important;overflow:hidden!important;cursor:pointer!important}
.game-hud__chat-svg{width:15px;height:15px;transform:scale(.78);transform-origin:center}
.game-hud__chat-tool:hover .game-hud__chat-svg{transform:scale(.84)}
.game-hud__chat-tool:active .game-hud__chat-svg{transform:translateY(1px) scale(.76)}

.game-hud__feature-mark{position:absolute;left:7px;top:7px;width:42px;height:48px;display:grid;place-items:center;overflow:visible}
.game-hud__feature-svg{width:40px;height:40px;filter:drop-shadow(0 1px 0 rgba(255,255,255,.55)) drop-shadow(0 1px 1px rgba(81,74,60,.35))}
.game-hud__feature-mark--inventory .game-hud__feature-svg{transform:scale(1.05)}
.game-hud__feature-mark--spells .game-hud__feature-svg{transform:scale(1.08)}

/* Neutralise the rough R28 CSS-drawn marks now that the actual vector marks exist. */
.game-hud__bag-mark,.game-hud__spell-mark{display:none!important}

/* Give the right grid a little more room around the large feature icon. */
.game-hud__grid{left:54px}
.game-hud__content{overflow:visible}

/* R30 — exact banner SVG assets supplied by the user. */
.game-hud__menu-row{
  left:61px;top:8px;width:261px;height:24px;gap:5.25px;align-items:flex-start;
}
.game-hud__menu-button{
  width:24px!important;height:24px!important;flex:0 0 24px!important;
  position:relative!important;display:block!important;overflow:visible!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;filter:none!important;color:inherit!important;
}
.game-hud__menu-button:hover,.game-hud__menu-button.is-active{
  filter:none!important;box-shadow:none!important;
}
.game-hud__button-bg{position:absolute;inset:0;width:24px;height:24px;display:block;pointer-events:none}
.game-hud__button-bg svg{display:block;width:24px;height:24px;overflow:visible}
.game-hud__button-bg--down{display:none}
.game-hud__menu-button:active .game-hud__button-bg--up{display:none}
.game-hud__menu-button:active .game-hud__button-bg--down{display:block}
.game-hud__menu-button.is-active::after{
  content:"";position:absolute;inset:-1px;border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 1px rgba(255,255,255,.9),0 0 3px rgba(255,102,0,.8);
}
.game-hud__menu-svg{
  position:absolute;left:50%;top:50%;width:32px!important;height:32px!important;
  max-width:32px;max-height:33px;transform:translate(-50%,-50%) scale(.72)!important;
  transform-origin:center;filter:none!important;pointer-events:none;overflow:visible;
  --ns-stroke:1;
}
.game-hud__menu-button:hover .game-hud__menu-svg,
.game-hud__menu-button.is-active .game-hud__menu-svg{transform:translate(-50%,-50%) scale(.76)!important}
.game-hud__menu-button:active .game-hud__menu-svg{transform:translate(calc(-50% + 1px),calc(-50% + 1px)) scale(.72)!important}

/* Exact chat header buttons from chat-header-buttons.tsx. */
.game-hud__chat-tools{left:0;top:0;height:14px;display:flex;gap:2px;align-items:flex-start;overflow:visible}
.game-hud__chat-tool{
  all:unset!important;position:relative!important;height:14px!important;display:block!important;
  flex:none!important;cursor:pointer!important;overflow:visible!important;background:transparent!important;
}
.game-hud__chat-tool--chat{width:17px!important}
.game-hud__chat-tool--emote,.game-hud__chat-tool--sit{width:20px!important}
.game-hud__chat-state{position:absolute;inset:0;display:block;pointer-events:none}
.game-hud__chat-state--down{display:none}
.game-hud__chat-tool:active .game-hud__chat-state--up{display:none}
.game-hud__chat-tool:active .game-hud__chat-state--down{display:block}
.game-hud__chat-svg{display:block;width:100%!important;height:14px!important;transform:none!important;filter:none!important;overflow:visible;--ns-stroke:1}
.game-hud__chat-tool:hover .game-hud__chat-svg,.game-hud__chat-tool:active .game-hud__chat-svg{transform:none!important}
.game-hud__filters{right:50px;top:2px}

/* Keep the original narrow Dofus vertical Obj./Sorts tabs beside the grid. */
.game-hud__tabs{left:301px;top:49px;width:16px;gap:0}
.game-hud__tab{
  width:15px!important;height:32px!important;border-radius:0!important;
  font:400 8px Verdana,Tahoma,sans-serif!important;background:#514a3c!important;
  box-shadow:none!important;
}
.game-hud__tab.is-active{
  width:16px!important;margin-left:-1px!important;padding-right:1px!important;
  background:linear-gradient(90deg,#b4ac8d 70%,#9a9378)!important;
  font-weight:700!important;color:#514a3c!important;
}

/* The actual inventory/spells artwork occupies the small area left of the 7x2 grid. */
.game-hud__feature-mark{left:7px;top:8px;width:40px;height:46px}
.game-hud__feature-svg{display:block;width:40px!important;height:40px!important;max-width:40px;max-height:40px;filter:none!important;overflow:visible;--ns-stroke:1}
.game-hud__feature-mark--inventory .game-hud__feature-svg,.game-hud__feature-mark--spells .game-hud__feature-svg{transform:none!important}

/* R45 — brief Retro-style HP feedback when a monster attack lands. */
.game-hud--damage-pulse .game-hud__hp-badge{animation:game-hud-damage-pulse .34s ease-out}
@keyframes game-hud-damage-pulse{
  0%{transform:scale(1);filter:none}
  35%{transform:scale(1.16);filter:brightness(1.45)}
  100%{transform:scale(1);filter:none}
}


/* R50 — bundled fight result UI. No separate stylesheet request. */
.fight-result{position:absolute;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;pointer-events:auto}
.fight-result[hidden]{display:none!important}
.fight-result__backdrop{position:absolute;inset:0;background:rgba(13,10,7,.34);backdrop-filter:blur(1.5px)}
.fight-result__window{position:relative;width:min(92%,860px);max-height:min(88%,680px);display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#d9d0ac 0%,#ccc29e 100%);border:3px solid rgba(255,255,255,.88);box-shadow:0 22px 40px rgba(0,0,0,.28),0 4px 0 rgba(85,69,45,.4);font-family:Tahoma,Arial,sans-serif;color:#4f4738}
.fight-result__window::before{content:"";position:absolute;inset:8px;border-radius:12px;border:1px solid rgba(102,82,51,.16);pointer-events:none}
.fight-result__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px 12px;background:linear-gradient(180deg,#685c48,#554938);color:#fff3d9;border-bottom:1px solid rgba(255,255,255,.18)}
.fight-result__header h2{margin:0;font-size:17px;line-height:1.15;font-weight:800;letter-spacing:.01em}
.fight-result__subtitle{margin:5px 0 0;font-size:12px;color:#e8dcc0}
.fight-result__close{all:unset;box-sizing:border-box;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;border-radius:8px;background:linear-gradient(180deg,#fe932e,#df640c);border:2px solid #fff;color:#fff;font:900 20px/1 Arial,sans-serif;box-shadow:0 0 0 1px rgba(104,66,21,.6)}
.fight-result__close:hover,.fight-result__button:hover{filter:brightness(1.05)}
.fight-result__hero{display:grid;grid-template-columns:1fr 176px;gap:14px;padding:16px 18px 8px}
.fight-result__hero-main{display:flex;flex-direction:column;gap:5px;background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.14));border:1px solid rgba(98,80,55,.18);border-radius:14px;padding:14px 16px}
.fight-result__badge{display:inline-flex;align-self:flex-start;padding:4px 10px;border-radius:999px;background:#b94b43;color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.fight-result[data-outcome="victory"] .fight-result__badge{background:#5d8f3e}
.fight-result__hero-main strong{font-size:24px;line-height:1.1;color:#433a2d}
.fight-result__hero-main small{font-size:12px;color:#746954}
.fight-result__reward-card{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:14px 16px;border-radius:14px;background:linear-gradient(180deg,rgba(95,79,55,.97),rgba(70,57,40,.97));color:#f7efd7;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.fight-result__reward-card span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#dbc591}
.fight-result__reward-card strong{font-size:26px;line-height:1;color:#fff8ea}
.fight-result__reward-card small{font-size:13px;color:#ebdfc2}
.fight-result__columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:8px 18px 18px;min-height:0}
.fight-result__panel{display:flex;flex-direction:column;min-height:280px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,.18));border:1px solid rgba(98,80,55,.14);overflow:hidden}
.fight-result__panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;background:rgba(85,73,56,.92);color:#fff0ce}
.fight-result__panel-head h3{margin:0;font-size:15px;line-height:1.1}
.fight-result__panel-head span{min-width:24px;height:24px;padding:0 8px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:800}
.fight-result__list{display:flex;flex-direction:column;gap:8px;padding:12px;overflow:auto}
.fight-result__row{display:grid;grid-template-columns:44px 1fr 132px;align-items:center;gap:10px;padding:10px;border-radius:12px;background:rgba(255,255,255,.42);border:1px solid rgba(112,93,64,.12)}
.fight-result__portrait{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;font-size:18px;font-weight:900;border:2px solid rgba(255,255,255,.75);box-shadow:0 0 0 1px rgba(100,83,57,.36)}
.fight-result__portrait--winner{background:linear-gradient(180deg,#66a442,#44792e)}
.fight-result__portrait--loser{background:linear-gradient(180deg,#bd554b,#943b35)}
.fight-result__identity{display:flex;flex-direction:column;gap:2px;min-width:0}
.fight-result__identity strong{font-size:15px;color:#453b2f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fight-result__identity span{font-size:12px;color:#776a54}
.fight-result__life{display:flex;flex-direction:column;gap:5px;align-items:flex-end}
.fight-result__life-bar{width:132px;height:12px;border-radius:999px;overflow:hidden;background:#5d5343;box-shadow:inset 0 1px 1px rgba(0,0,0,.26)}
.fight-result__life-bar i{display:block;height:100%;background:linear-gradient(90deg,#ff790d,#f35d01)}
.fight-result__row--winner .fight-result__life-bar i{background:linear-gradient(90deg,#75ba42,#5a9c31)}
.fight-result__life small{font-size:11px;color:#6d614d}
.fight-result__empty{margin:0;padding:20px 12px;color:#7f735d;text-align:center}
.fight-result__footer{display:flex;justify-content:flex-end;padding:0 18px 18px}
.fight-result__button{all:unset;box-sizing:border-box;min-width:152px;height:42px;padding:0 18px;display:grid;place-items:center;cursor:pointer;border-radius:0 0 16px 16px;background:linear-gradient(180deg,#ff9831,#ef7009);border:2px solid #fff;color:#fff;font:800 18px/1 Tahoma,Arial,sans-serif;box-shadow:0 0 0 1px rgba(120,76,22,.5)}
@media (max-width: 760px){.fight-result__window{width:min(96%,640px)}.fight-result__hero,.fight-result__columns{grid-template-columns:1fr}.fight-result__panel{min-height:220px}.fight-result__row{grid-template-columns:40px 1fr}.fight-result__life{grid-column:1/-1;align-items:flex-start}.fight-result__life-bar{width:100%}}


/* R51 — Perso1 progression + real level-6 combat spells. */
.game-hud__xp{position:absolute;z-index:11;left:25px;bottom:-2px;width:70px;height:10px;border-radius:6px;overflow:hidden;background:#514a3c;border:1px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(81,74,60,.5);font:700 5px/9px Tahoma,Arial,sans-serif;color:#fff;text-align:center}
.game-hud__xp i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#ef8614,#ffb331);transition:width .2s ease}
.game-hud__xp span{position:relative;z-index:1;display:block;padding:0 2px;white-space:nowrap;text-shadow:0 1px 0 rgba(0,0,0,.65)}
.game-hud__slot--spell:not([disabled]){cursor:pointer!important;position:relative!important;background:linear-gradient(180deg,#6c5b43,#4c4031)!important;color:#fff2cf!important;border-color:#fff!important;box-shadow:0 0 0 1px #6b5b43,inset 0 1px 0 rgba(255,255,255,.15)!important}
.game-hud__slot--spell:not([disabled]) strong{display:block;font:900 8px/1 Arial,sans-serif;letter-spacing:-.03em;text-shadow:0 1px 0 #2e281f}
.game-hud__slot--spell:not([disabled]) small{position:absolute;right:1px;bottom:0;font:800 5px/1 Arial,sans-serif;color:#ffd35a}
.game-hud__slot--spell.is-selected{box-shadow:0 0 0 2px #ff9a18,inset 0 0 5px rgba(255,174,41,.6)!important;filter:brightness(1.12)}
.game-hud__slot--spell.is-unavailable{opacity:.48;filter:saturate(.3)}

.game-hud__fight{grid-template-columns:48px 65px 48px 88px 54px!important;padding:4px 3px!important;gap:2px!important}
.game-hud__fight-team{height:50px!important;padding:4px!important}
.game-hud__fight-team strong{font-size:8px!important}.game-hud__fight-summary strong{font-size:9px!important}.game-hud__fight-summary small{font-size:5.5px!important}
.game-hud__fight-spells{height:50px;display:grid;grid-template-columns:repeat(3,27px);grid-auto-rows:23px;gap:2px;align-content:center;justify-content:center}
.game-hud__fight-spell{all:unset!important;box-sizing:border-box!important;width:27px!important;height:23px!important;position:relative!important;display:grid!important;place-items:center!important;cursor:pointer!important;border-radius:4px!important;background:linear-gradient(180deg,#6c5b43,#4c4031)!important;border:1px solid #fff!important;box-shadow:0 0 0 1px #6b5b43,inset 0 1px 0 rgba(255,255,255,.16)!important;color:#fff2cf!important}
.game-hud__fight-spell strong{font:900 8px/1 Arial,sans-serif;text-shadow:0 1px 0 #2d271e}.game-hud__fight-spell small{position:absolute;right:2px;bottom:1px;font:800 5px/1 Arial,sans-serif;color:#ffd15a}
.game-hud__fight-spell:hover{filter:brightness(1.1)}
.game-hud__fight-spell.is-selected{background:linear-gradient(180deg,#e99925,#b75d0d)!important;box-shadow:0 0 0 1px #ffbd48,inset 0 1px 0 rgba(255,255,255,.5)!important}
.game-hud__fight-spell.is-unavailable{opacity:.42!important;filter:saturate(.25)!important}
.game-hud__fight-spell[disabled]{cursor:default!important;opacity:.35!important;filter:saturate(.2)!important}

/* R51 — combat loot + persistent inventory. */
.game-hud__kamas{position:absolute;left:4px;bottom:2px;width:46px;text-align:center;color:#6d5527;font:800 6px Verdana,Tahoma,sans-serif;text-shadow:0 1px rgba(255,255,255,.45)}
.game-hud__slot--item.is-filled{background:linear-gradient(180deg,#d5cda5,#b8ae82)!important;color:#51452e!important}
.game-hud__slot--item.is-filled strong{font:900 8px/1 Arial,sans-serif;text-shadow:0 1px rgba(255,255,255,.45)}
.game-hud__slot--item.is-filled small{position:absolute;right:1px;bottom:1px;padding:0 1px;background:rgba(70,58,38,.82);color:#fff7d6;font:800 6px/1 Arial,sans-serif;border-radius:2px}
.fight-result__loot{margin:-6px 18px 14px;border-radius:12px;background:rgba(255,255,255,.28);border:1px solid rgba(98,80,55,.14);overflow:hidden}
.fight-result__loot[hidden]{display:none!important}
.fight-result__loot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:rgba(85,73,56,.86);color:#fff0ce}
.fight-result__loot-head h3{margin:0;font-size:13px}.fight-result__loot-head span{font-size:11px;color:#ead7ae}
.fight-result__loot-list{display:flex;flex-wrap:wrap;gap:7px;padding:9px 10px;max-height:112px;overflow:auto}
.fight-result__loot-item{min-width:155px;max-width:250px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:7px;padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.48);border:1px solid rgba(105,85,55,.16)}
.fight-result__loot-item span{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:linear-gradient(180deg,#a58d53,#78643b);color:#fff9df;font:900 9px Arial,sans-serif;border:1px solid rgba(255,255,255,.72)}
.fight-result__loot-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#493f31}.fight-result__loot-item b{font-size:11px;color:#755d27}

/* R52 — modernized full inventory window with pods, equipment and item details. */
.game-hud__pods-preview{position:absolute;left:53px;bottom:2px;right:4px;height:8px;display:flex;align-items:center;justify-content:center;color:#6a604e;font:700 6px Verdana,Tahoma,sans-serif;text-shadow:0 1px rgba(255,255,255,.45)}
.game-hud__slot--item{cursor:pointer!important}
.game-hud__slot--item.is-selected{box-shadow:0 0 0 2px #ff9c1b,inset 0 0 6px rgba(255,196,112,.65)!important}

.inventory-modal{position:absolute;left:22px;top:-404px;width:698px;height:500px;z-index:55;overflow:visible}
.inventory-modal[hidden]{display:none!important}
.inventory-modal__backdrop{position:absolute;inset:-28px -22px -28px -22px;background:linear-gradient(180deg,rgba(16,13,10,.2),rgba(16,13,10,.56));backdrop-filter:blur(2px)}
.inventory-modal__window{position:absolute;inset:0;display:flex;flex-direction:column;border-radius:18px;background:linear-gradient(180deg,#d6d1b3,#c8c09d);border:1px solid rgba(255,255,255,.74);box-shadow:0 24px 48px rgba(0,0,0,.34),0 0 0 1px rgba(95,76,49,.45),inset 0 1px 0 rgba(255,255,255,.55);overflow:hidden;color:#4f4538}
.inventory-modal__window::after{content:"";position:absolute;inset:12px;border-radius:14px;border:1px solid rgba(107,89,61,.16);pointer-events:none}
.inventory-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 18px 12px;background:linear-gradient(180deg,#5d5345,#4e4438);color:#fff2d1;border-bottom:1px solid rgba(255,255,255,.18)}
.inventory-modal__header h2{margin:0;font:800 28px/1.05 Tahoma,Arial,sans-serif;letter-spacing:-.02em}
.inventory-modal__header p{margin:5px 0 0;font:500 12px/1.3 Verdana,Tahoma,sans-serif;color:#e2d5b7}
.inventory-modal__close{all:unset;box-sizing:border-box;width:28px;height:28px;display:grid;place-items:center;cursor:pointer;border-radius:8px;background:linear-gradient(180deg,#ff9c34,#df680d);border:2px solid #fff;color:#fff;font:900 18px/1 Arial,sans-serif;box-shadow:0 0 0 1px rgba(117,72,15,.55)}
.inventory-modal__body{display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px;min-height:0;flex:1}
.inventory-modal__top{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;min-height:0}
.inventory-modal__paperdoll,.inventory-modal__bag,.inventory-modal__details{border-radius:16px;background:linear-gradient(180deg,rgba(96,81,61,.95),rgba(79,67,52,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 1px 2px rgba(0,0,0,.08);color:#f1ead8}
.inventory-modal__paperdoll{display:flex;flex-direction:column;padding:14px;gap:12px;min-height:292px}
.inventory-modal__paperdoll-head,.inventory-modal__bag-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.inventory-modal__paperdoll-head strong,.inventory-modal__bag-head strong{font:800 18px/1.1 Tahoma,Arial,sans-serif;color:#fff1d0}
.inventory-modal__paperdoll-head small,.inventory-modal__bag-head small{font:600 11px/1.2 Verdana,Tahoma,sans-serif;color:#dacdad}
.inventory-modal__paperdoll-grid{display:grid;grid-template-columns:170px 1fr;gap:14px;align-items:start;min-height:0;flex:1}
.inventory-modal__avatar-card{height:226px;border-radius:18px;background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.18),transparent 25%),linear-gradient(180deg,#8b816f,#675a4a);border:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.inventory-modal__avatar-name{font:800 18px/1.1 Tahoma,Arial,sans-serif;color:#fff4d7}
.inventory-modal__avatar-body{width:92px;height:116px;border-radius:28px 28px 22px 22px;background:linear-gradient(180deg,rgba(238,232,214,.34),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;color:#fff5dd;font:800 22px/1 Tahoma,Arial,sans-serif;letter-spacing:.02em}
.inventory-modal__avatar-level{padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.12);font:700 11px/1 Verdana,Tahoma,sans-serif;color:#f5e5c0}
.inventory-modal__equipment-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
.inventory-modal__equipment-slot{all:unset;box-sizing:border-box;position:relative;min-height:48px;padding:8px 10px 8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#f0ead8;transition:transform .06s ease,filter .12s ease}
.inventory-modal__equipment-slot:hover,.inventory-modal__item:hover{filter:brightness(1.05)}
.inventory-modal__equipment-slot:active,.inventory-modal__item:active{transform:translateY(1px)}
.inventory-modal__equipment-slot.is-filled{background:linear-gradient(180deg,rgba(220,187,117,.16),rgba(255,255,255,.1));border-color:rgba(255,230,177,.34)}
.inventory-modal__equipment-slot.is-selected,.inventory-modal__item.is-selected{box-shadow:0 0 0 2px #ff9b1d,inset 0 0 10px rgba(255,176,63,.15)}
.inventory-modal__equipment-label{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.1);color:#fff4cf;font:800 11px/1 Tahoma,Arial,sans-serif;text-transform:uppercase;flex:none}
.inventory-modal__equipment-slot strong{font:800 13px/1 Tahoma,Arial,sans-serif;color:#fff4d8}
.inventory-modal__equipment-slot small{font:600 10px/1.2 Verdana,Tahoma,sans-serif;color:#d2c3a4;text-align:right}
.inventory-modal__summary-row{display:grid;grid-template-columns:150px 1fr;gap:12px}
.inventory-modal__wallet,.inventory-modal__pods-card{border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);padding:12px}
.inventory-modal__wallet span,.inventory-modal__pods-head span{display:block;font:700 11px/1 Verdana,Tahoma,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#dccaa4}
.inventory-modal__wallet strong{display:block;margin-top:8px;font:800 23px/1 Tahoma,Arial,sans-serif;color:#fff3d3}
.inventory-modal__pods-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.inventory-modal__pods-head b{font:800 13px/1 Tahoma,Arial,sans-serif;color:#fff4d8}
.inventory-modal__pods-bar{height:12px;margin-top:12px;border-radius:999px;overflow:hidden;background:rgba(37,27,18,.48);box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}
.inventory-modal__pods-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff9e1f,#ffd66e);transition:width .18s ease}
.inventory-modal__bag{display:flex;flex-direction:column;padding:14px;min-height:292px;overflow:hidden}
.inventory-modal__controls{display:flex;justify-content:flex-end;padding-top:10px}
.inventory-modal__filter{min-width:160px;height:36px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#f6f0dd;color:#4f4538;font:700 13px Tahoma,Arial,sans-serif;outline:none}
.inventory-modal__items{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-content:start;overflow:auto;padding-right:4px;min-height:0;flex:1}
.inventory-modal__item{position:relative;min-height:78px;padding:9px 8px 8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;border-radius:12px;background:linear-gradient(180deg,#d4ceb4,#bbb391);border:1px solid rgba(118,98,69,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.45);color:#52473a;cursor:pointer}
.inventory-modal__item--empty{background:rgba(255,255,255,.08);border:1px dashed rgba(255,255,255,.08);box-shadow:none}
.inventory-modal__item-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(180deg,#7e715d,#594f42);color:#fff2cf;font:800 11px/1 Tahoma,Arial,sans-serif;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.inventory-modal__item-name{margin-top:8px;display:block;width:100%;font:800 11px/1.15 Tahoma,Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inventory-modal__item-meta{margin-top:4px;font:600 10px/1 Verdana,Tahoma,sans-serif;color:#6f6250}
.inventory-modal__item-qty{position:absolute;right:6px;top:6px;min-width:22px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#c0482d;color:#fff;font:800 10px/1 Arial,sans-serif;box-shadow:0 1px 1px rgba(0,0,0,.18)}
.inventory-modal__details{padding:14px 16px;background:linear-gradient(180deg,rgba(241,235,220,.95),rgba(231,224,204,.96));color:#4f4538}
.inventory-modal__details-empty{min-height:110px;display:grid;place-items:center;color:#8b7f69;font:600 16px/1.3 Verdana,Tahoma,sans-serif}
.inventory-modal__details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.inventory-modal__details-head h3{margin:0;font:800 22px/1.1 Tahoma,Arial,sans-serif;color:#40362b}
.inventory-modal__details-head p{margin:6px 0 0;font:600 12px/1.25 Verdana,Tahoma,sans-serif;color:#857865}
.inventory-modal__action{all:unset;box-sizing:border-box;min-width:122px;height:38px;padding:0 14px;display:grid;place-items:center;cursor:pointer;border-radius:11px;background:linear-gradient(180deg,#ff9a32,#eb720e);border:2px solid #fff;color:#fff;font:800 14px/1 Tahoma,Arial,sans-serif;box-shadow:0 0 0 1px rgba(115,70,14,.4)}
.inventory-modal__action.is-disabled{cursor:default;opacity:.5}
.inventory-modal__detail-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.inventory-modal__detail-chip{padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.58);border:1px solid rgba(103,84,58,.14);display:flex;align-items:center;gap:8px}
.inventory-modal__detail-chip span{font:700 10px/1 Verdana,Tahoma,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#8a7b63}
.inventory-modal__detail-chip b{font:800 12px/1 Tahoma,Arial,sans-serif;color:#463c31}
.inventory-modal__stats-wrap{margin-top:14px}
.inventory-modal__stats-wrap>strong{display:block;margin-bottom:8px;font:800 13px/1 Tahoma,Arial,sans-serif;color:#4d4235;text-transform:uppercase;letter-spacing:.03em}
.inventory-modal__stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.inventory-modal__stats li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.56);border:1px solid rgba(103,84,58,.12)}
.inventory-modal__stats li span{font:700 12px/1.1 Verdana,Tahoma,sans-serif;color:#685c4a}
.inventory-modal__stats li b{font:800 12px/1.1 Tahoma,Arial,sans-serif;color:#40362b;text-align:right}
.inventory-modal__muted{margin:0;color:#837763;font:600 12px/1.35 Verdana,Tahoma,sans-serif}

/* R53 — Retro inventory layout: compact, close to the original 1.29 window. */
.inventory-modal{left:58px;top:-413px;width:610px;height:405px;z-index:60}
.inventory-modal__backdrop{display:none}
.inventory-modal__window{inset:0;border-radius:12px;background:#c9c5a3;border:1px solid #fff;box-shadow:0 0 0 1px #696250,0 4px 14px rgba(0,0,0,.28);overflow:hidden;color:#514b3d}
.inventory-modal__window::after{display:none}
.inventory-modal__header{height:31px;min-height:31px;padding:0 8px;display:flex;align-items:center;justify-content:space-between;background:#514b3d;border-bottom:1px solid #3f3a30;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.inventory-modal__header strong{font:800 15px/31px Verdana,Tahoma,sans-serif;color:#fff;letter-spacing:0}
.inventory-modal__header h2,.inventory-modal__header p{display:none}
.inventory-modal__close{all:unset;box-sizing:border-box;width:16px;height:16px;display:grid;place-items:center;cursor:pointer;border-radius:2px;background:#e87916;border:1px solid #fff;color:#fff;font:900 13px/14px Arial,sans-serif;box-shadow:0 0 0 1px #a45c16}
.inventory-modal__close:hover{filter:brightness(1.08)}
.inventory-modal__body{height:374px;min-height:0;display:grid;grid-template-columns:391px 175px;gap:12px;padding:10px;background:#c9c5a3}
.inventory-modal__left{display:grid;grid-template-rows:210px 1fr;gap:10px;min-height:0}

/* Left/top equipment board */
.inventory-modal__paperdoll{position:relative;display:block;min-height:0;height:210px;padding:0;border-radius:12px;background:#565042;color:#eee5ca;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.inventory-modal__paperdoll-head{display:none}
.inventory-modal__paperdoll-grid{position:absolute;left:0;top:0;width:100%;height:188px;display:block}
.inventory-modal__equipment-slots,.inventory-modal__avatar-card{display:none!important}
.inventory-modal__equipment-slot{all:unset;box-sizing:border-box;position:absolute;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;background:#8b887c;border:1px solid #d6d2c2;box-shadow:inset 0 0 0 1px #716d63;color:#efe8c9;font:800 8px/1 Verdana,Tahoma,sans-serif;text-align:center;overflow:hidden}
.inventory-modal__equipment-slot::after{content:"";position:absolute;inset:1px;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.inventory-modal__equipment-slot:hover{filter:brightness(1.08)}
.inventory-modal__equipment-slot.is-filled{background:linear-gradient(180deg,#9d987d,#746e58);color:#fff6d4}
.inventory-modal__equipment-slot.is-selected{box-shadow:0 0 0 2px #f29a22,inset 0 0 0 1px #716d63}
.inventory-modal__equipment-slot strong{font:900 9px/1 Verdana,Tahoma,sans-serif;color:#fff6d4;text-shadow:0 1px rgba(0,0,0,.35)}
.inventory-modal__equipment-slot span{font:800 7px/1 Verdana,Tahoma,sans-serif;color:#d8d1b5;opacity:.8}
/* Six dedicated Retro Dofus slots down the left edge. */
.inventory-modal__equipment-slot--dofus1{left:14px;top:7px}
.inventory-modal__equipment-slot--dofus2{left:14px;top:40px}
.inventory-modal__equipment-slot--dofus3{left:14px;top:73px}
.inventory-modal__equipment-slot--dofus4{left:14px;top:106px}
.inventory-modal__equipment-slot--dofus5{left:14px;top:139px}
.inventory-modal__equipment-slot--dofus6{left:14px;top:172px}

/* Normal equipment remains arranged around the paper doll. */
.inventory-modal__equipment-slot--amulet{left:78px;top:55px}
.inventory-modal__equipment-slot--ring1{left:78px;top:93px}
.inventory-modal__equipment-slot--ring2{left:78px;top:131px}
.inventory-modal__equipment-slot--hat{left:171px;top:8px}
.inventory-modal__equipment-slot--weapon{left:258px;top:13px}
.inventory-modal__equipment-slot--shield{left:258px;top:53px}
.inventory-modal__equipment-slot--cloak{left:258px;top:93px}
.inventory-modal__equipment-slot--pet{left:258px;top:133px}
.inventory-modal__equipment-slot--belt{left:155px;top:149px}
.inventory-modal__equipment-slot--boots{left:197px;top:149px}

.inventory-modal__silhouette{position:absolute;left:143px;top:24px;width:112px;height:158px;pointer-events:none;opacity:.62}
.inventory-modal__silhouette-head{position:absolute;left:43px;top:0;width:27px;height:32px;border-radius:48% 48% 45% 45%;background:rgba(228,226,210,.18);border:1px solid rgba(236,233,214,.55)}
.inventory-modal__silhouette-body{position:absolute;left:30px;top:33px;width:54px;height:75px;border-radius:19px 19px 13px 13px;background:rgba(228,226,210,.13);border:1px solid rgba(236,233,214,.5)}
.inventory-modal__silhouette-arm{position:absolute;top:45px;width:17px;height:65px;border-radius:9px;background:rgba(228,226,210,.12);border:1px solid rgba(236,233,214,.45);transform-origin:top center}
.inventory-modal__silhouette-arm--left{left:21px;transform:rotate(24deg)}
.inventory-modal__silhouette-arm--right{right:20px;transform:rotate(-24deg)}
.inventory-modal__silhouette-leg{position:absolute;top:103px;width:19px;height:52px;border-radius:7px;background:rgba(228,226,210,.12);border:1px solid rgba(236,233,214,.45);transform-origin:top center}
.inventory-modal__silhouette-leg--left{left:35px;transform:rotate(8deg)}
.inventory-modal__silhouette-leg--right{right:35px;transform:rotate(-8deg)}

.inventory-modal__wallet{position:absolute;left:58px;bottom:7px;width:135px;height:20px;padding:0;display:flex;align-items:center;gap:7px;background:transparent;border:0;border-radius:0;color:#f1ead6}
.inventory-modal__wallet::before{content:"K";width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#d7d8cf;color:#515749;font:900 8px/1 Arial,sans-serif;box-shadow:inset 0 0 0 1px #aaa99e}
.inventory-modal__wallet span.inventory-modal__kama-dot{display:none}
.inventory-modal__wallet strong{margin:0;font:700 10px/1 Verdana,Tahoma,sans-serif;color:#f0ead8}
.inventory-modal__pods-card{position:absolute;right:12px;bottom:8px;width:135px;height:28px;padding:0;background:transparent;border:0;border-radius:0}
.inventory-modal__pods-head{height:12px;display:flex;align-items:center;justify-content:space-between;color:#efe8d3}
.inventory-modal__pods-head span{display:block;color:#efe8d3;font:400 9px/1 Verdana,Tahoma,sans-serif;text-transform:none;letter-spacing:0}
.inventory-modal__pods-head b{color:#efe8d3;font:600 8px/1 Verdana,Tahoma,sans-serif}
.inventory-modal__pods-bar{height:11px;margin-top:3px;border-radius:7px;background:#d8d4b7;border:1px solid #454036;box-shadow:inset 0 1px 1px rgba(0,0,0,.28);overflow:hidden}
.inventory-modal__pods-bar i{height:100%;background:linear-gradient(90deg,#f77909,#ffa425)}

/* Left/bottom item information board */
.inventory-modal__details{position:relative;min-height:0;height:100%;padding:0;border-radius:11px;background:#c9c5a3;border:0;box-shadow:inset 0 0 0 1px rgba(116,108,82,.12);color:#595244;overflow:hidden}
.inventory-modal__details-titlebar{height:31px;background:#565042;border-radius:11px 11px 0 0}
.inventory-modal__details-empty{height:calc(100% - 31px);min-height:0;display:grid;place-items:center;color:#756e5e;font:400 11px/1 Verdana,Tahoma,sans-serif}
.inventory-modal__details-content{height:calc(100% - 31px);padding:12px 15px;overflow:auto}
.inventory-modal__details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.inventory-modal__details-head h3{margin:0;color:#514b3d;font:800 15px/1.15 Verdana,Tahoma,sans-serif}
.inventory-modal__details-head p{margin:4px 0 0;color:#7a725f;font:400 9px/1.2 Verdana,Tahoma,sans-serif}
.inventory-modal__action{all:unset;box-sizing:border-box;min-width:66px;height:24px;padding:0 8px;display:grid;place-items:center;cursor:pointer;border-radius:3px;background:#e57a16;border:1px solid #fff;box-shadow:0 0 0 1px #9d5a19;color:#fff;font:700 9px/1 Verdana,Tahoma,sans-serif}
.inventory-modal__details-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.inventory-modal__details-meta span{padding:4px 6px;background:#e8e4ca;border:1px solid #bcb695;border-radius:4px;color:#675f50;font:400 8px/1 Verdana,Tahoma,sans-serif}
.inventory-modal__details-meta b{font-weight:700;color:#514a3c}
.inventory-modal__stats-wrap{margin-top:9px}
.inventory-modal__stats-wrap>strong{display:block;margin-bottom:5px;color:#5b5344;font:700 9px/1 Verdana,Tahoma,sans-serif;text-transform:uppercase;letter-spacing:0}
.inventory-modal__stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}
.inventory-modal__stats li{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:5px 6px;background:#ddd9bd;border:1px solid #bcb694;border-radius:4px}
.inventory-modal__stats li span{color:#675f4f;font:400 8px/1 Verdana,Tahoma,sans-serif}
.inventory-modal__stats li b{color:#514a3c;font:700 8px/1 Verdana,Tahoma,sans-serif;text-align:right}
.inventory-modal__muted{margin:0;color:#786f5d;font:400 9px/1.25 Verdana,Tahoma,sans-serif}

/* Right inventory column */
.inventory-modal__bag{height:100%;min-height:0;padding:8px 6px 7px;border-radius:12px;background:#565042;color:#f4ecd5;display:flex;flex-direction:column;overflow:hidden}
.inventory-modal__bag-head,.inventory-modal__controls{display:none!important}
.inventory-modal__bag-title{text-align:center;color:#f1ead7;font:400 12px/16px Verdana,Tahoma,sans-serif}
.inventory-modal__type-icons{display:grid;grid-template-columns:repeat(4,23px);grid-auto-rows:20px;justify-content:center;gap:3px 6px;margin:2px 0 7px}
.inventory-modal__type-icons span{display:grid;place-items:center;border-radius:4px;background:linear-gradient(180deg,#ff971f,#e96e09);border:1px solid #643a16;box-shadow:inset 0 1px 0 rgba(255,255,255,.65);color:#fff;font:700 10px/1 Arial,sans-serif;text-shadow:0 1px rgba(0,0,0,.2)}
.inventory-modal__filter{width:163px;height:26px;min-width:0;margin:0 auto;padding:0 8px;border-radius:5px;border:1px solid #bfb89b;background:#fffdf4;color:#514b3d;font:700 10px Verdana,Tahoma,sans-serif;outline:none}
.inventory-modal__bag-meta{height:18px;display:flex;align-items:center;justify-content:space-between;padding:0 5px;color:#d8cfb2;font:400 7px/1 Verdana,Tahoma,sans-serif}
.inventory-modal__items-wrap{position:relative;min-height:0;flex:1;overflow:auto;background:#bdb99a;border:1px solid #4d493c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.26)}
.inventory-modal__items{margin:0;padding:2px;display:grid;grid-template-columns:repeat(4,38px);grid-auto-rows:38px;gap:1px;align-content:start;overflow:visible;min-height:100%}
.inventory-modal__item{all:unset;box-sizing:border-box;position:relative;width:38px;height:38px;display:grid;place-items:center;cursor:pointer;background:#bbb797;border:1px solid #a49f82;box-shadow:inset 1px 1px 0 rgba(255,255,255,.42),inset -1px -1px 0 rgba(96,89,69,.22);color:#514a3c}
.inventory-modal__item:hover{filter:brightness(1.06)}
.inventory-modal__item.is-selected{box-shadow:inset 0 0 0 2px #f18b18,0 0 0 1px #fff0b8}
.inventory-modal__item--empty{background:#bdb99a;border-color:#aaa688;cursor:default;filter:none!important}
.inventory-modal__item-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:4px;background:linear-gradient(180deg,#7b7158,#554b39);border:1px solid rgba(255,255,255,.35);color:#fff0c9;font:900 8px/1 Verdana,Tahoma,sans-serif;text-shadow:0 1px rgba(0,0,0,.45)}
.inventory-modal__item-name,.inventory-modal__item-meta{display:none!important}
.inventory-modal__item-qty{position:absolute;left:1px;top:0;min-width:0;height:auto;padding:0;background:transparent;color:#514a3c;font:700 8px/1 Verdana,Tahoma,sans-serif;text-shadow:0 1px rgba(255,255,255,.7);box-shadow:none}

@media (max-width:760px){
  .inventory-modal{left:58px;top:-430px;width:610px;height:500px}
  .inventory-modal__body{grid-template-columns:391px 175px}
}

/* R54 — use the extracted Retro item SVGs from cache/resources/items/<type>/<id>.svg. */
.game-hud__item-art-wrap{position:absolute;inset:2px;display:grid;place-items:center;overflow:hidden;pointer-events:none}
.game-hud__item-art{display:block;width:100%;height:100%;object-fit:contain}
.game-hud__item-art-fallback{display:grid;width:100%;height:100%;place-items:center;color:#51452e;font:900 8px/1 Arial,sans-serif;text-shadow:0 1px rgba(255,255,255,.45)}
.game-hud__slot--item.is-filled{padding:0!important}
.game-hud__slot--item.is-filled small{z-index:3}

.inventory-modal__item-icon{overflow:hidden;background:transparent;border:0;box-shadow:none;text-shadow:none}
.inventory-modal__item-art{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.inventory-modal__item-fallback{display:grid;width:100%;height:100%;place-items:center;border-radius:4px;background:linear-gradient(180deg,#7b7158,#554b39);border:1px solid rgba(255,255,255,.35);color:#fff0c9;font:900 8px/1 Verdana,Tahoma,sans-serif;text-shadow:0 1px rgba(0,0,0,.45)}

.inventory-modal__equipment-art-wrap{position:absolute;inset:2px;display:grid;place-items:center;overflow:hidden;pointer-events:none}
.inventory-modal__equipment-art{display:block;width:100%;height:100%;object-fit:contain}
.inventory-modal__equipment-fallback{display:grid;width:100%;height:100%;place-items:center;color:#fff6d4;font:900 9px/1 Verdana,Tahoma,sans-serif;text-shadow:0 1px rgba(0,0,0,.35)}
.inventory-modal__equipment-slot.is-filled{padding:0!important}

.inventory-modal__details-identity{display:flex;align-items:center;gap:9px;min-width:0}
.inventory-modal__details-identity>div{min-width:0}
.inventory-modal__details-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid #a8a184;background:#bbb797;box-shadow:inset 1px 1px 0 rgba(255,255,255,.45);overflow:hidden}
.inventory-modal__details-art{display:block;width:34px;height:34px;object-fit:contain}
.inventory-modal__details-fallback{display:grid;width:34px;height:34px;place-items:center;color:#5b5344;font:900 9px/1 Verdana,Tahoma,sans-serif}


/* R56 — hide icon fallbacks when real images load, and size item art more cleanly. */
.game-hud__item-art-fallback[hidden],
.inventory-modal__item-fallback[hidden],
.inventory-modal__equipment-fallback[hidden],
.inventory-modal__details-fallback[hidden]{display:none!important}

.game-hud__item-art-wrap{inset:1px}
.game-hud__item-art,
.inventory-modal__item-art,
.inventory-modal__equipment-art,
.inventory-modal__details-art{display:block;width:auto!important;height:auto!important;max-width:100%;max-height:100%;object-fit:contain;object-position:center center;pointer-events:none}

.inventory-modal__item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent;border:0;box-shadow:none;text-shadow:none}
.inventory-modal__item-art{max-width:32px;max-height:32px}
.inventory-modal__equipment-art-wrap{inset:1px;display:flex;align-items:center;justify-content:center}
.inventory-modal__equipment-art{max-width:calc(100% - 2px);max-height:calc(100% - 2px)}
.inventory-modal__details-icon{display:flex;align-items:center;justify-content:center}
.inventory-modal__details-art{max-width:34px;max-height:34px}

/* R57 — Retro item-set progression and active set bonus display. */
.inventory-modal__set-block{margin-top:10px;padding-top:9px;border-top:1px solid #ada786}
.inventory-modal__set-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.inventory-modal__set-head strong{color:#554d3e;font:800 10px/1.2 Verdana,Tahoma,sans-serif}
.inventory-modal__set-head>span{flex:0 0 auto;padding:3px 5px;border:1px solid #a9a17f;border-radius:3px;background:#ddd8b9;color:#615947;font:800 8px/1 Verdana,Tahoma,sans-serif}
.inventory-modal__set-tiers{display:grid;gap:4px}
.inventory-modal__set-tier{padding:5px 6px;border:1px solid #b3ad8d;border-radius:4px;background:#d8d3b4;opacity:.68}
.inventory-modal__set-tier.is-unlocked{opacity:.88}
.inventory-modal__set-tier.is-active{opacity:1;border-color:#a65f16;background:#eee2b9;box-shadow:inset 0 0 0 1px #f6b24b}
.inventory-modal__set-tier-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}
.inventory-modal__set-tier-head>b{color:#5b5343;font:800 8px/1 Verdana,Tahoma,sans-serif}
.inventory-modal__set-tier-head>span{padding:2px 4px;border-radius:3px;background:#df7417;color:#fff;font:800 7px/1 Verdana,Tahoma,sans-serif;text-shadow:0 1px rgba(0,0,0,.2)}
.inventory-modal__set-effects{display:flex;flex-wrap:wrap;gap:3px 5px}
.inventory-modal__set-effects>span{color:#6a624f;font:400 8px/1.2 Verdana,Tahoma,sans-serif}
.inventory-modal__set-effects>span b{color:#4e4739;font-weight:800}
.inventory-modal__set-tier.is-active .inventory-modal__set-effects>span{color:#574c37}

/* R58 — functional Retro inventory category tabs + context subtype filter. */
.inventory-modal__type-icons{
  display:grid;
  grid-template-columns:repeat(4,23px);
  grid-auto-rows:24px;
  justify-content:center;
  gap:4px 6px;
  margin:3px 0 7px;
}
.inventory-modal__type-tab{
  appearance:none;
  -webkit-appearance:none;
  box-sizing:border-box;
  width:23px;
  height:24px;
  padding:0;
  display:grid;
  place-items:center;
  cursor:pointer;
  border-radius:4px;
  background:linear-gradient(180deg,#ff971f,#e96e09);
  border:1px solid #643a16;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 1px 0 rgba(0,0,0,.22);
  color:#fff;
  font:700 11px/1 Arial,sans-serif;
  text-shadow:0 1px rgba(0,0,0,.28);
}
.inventory-modal__type-tab:hover{filter:brightness(1.08)}
.inventory-modal__type-tab:focus-visible{outline:2px solid #fff2b2;outline-offset:1px}
.inventory-modal__type-tab.is-active{
  background:linear-gradient(180deg,#ffd16a,#ff8a12);
  border-color:#fff3c2;
  box-shadow:0 0 0 1px #7b4513,inset 0 1px 0 #fff8dc,inset 0 -2px 0 rgba(128,61,8,.25);
  transform:translateY(-1px);
}
.inventory-modal__type-tab span{display:block;pointer-events:none}
.inventory-modal__bag-title{min-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inventory-modal__filter{cursor:pointer}


/* R60 — real spell icons from cache/resources/All_Spell/<spell_name>.png. */
.game-hud__spell-icon{position:absolute;inset:1px;display:flex!important;align-items:center;justify-content:center;overflow:hidden;opacity:1!important;font-size:inherit!important;pointer-events:none}
.game-hud__spell-icon-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center center;pointer-events:none}
.game-hud__spell-icon-fallback{display:grid;width:100%;height:100%;place-items:center;color:#fff2cf;font:900 8px/1 Arial,sans-serif;letter-spacing:-.03em;text-shadow:0 1px 0 #2e281f}
.game-hud__spell-icon-fallback[hidden]{display:none!important}
.game-hud__slot--spell:not([disabled])>small{z-index:3;padding:1px;border-radius:2px;background:rgba(45,39,30,.72);text-shadow:0 1px 0 #111}
.game-hud__slot--spell:not([disabled])::after{z-index:2}

.game-hud__fight-spell .game-hud__spell-icon{inset:1px}
.game-hud__fight-spell .game-hud__spell-icon-image{max-width:21px;max-height:19px}
.game-hud__fight-spell .game-hud__spell-icon-fallback{font-size:7px}
.game-hud__fight-spell>small{z-index:3;padding:0 1px;border-radius:2px;background:rgba(45,39,30,.72);text-shadow:0 1px 0 #111}

/* R61 — Retro 1.29 character characteristics allocation panel. */
.characteristics-modal{position:absolute;left:34px;top:-392px;width:674px;height:478px;z-index:58;overflow:visible;color:#4f4538}
.characteristics-modal[hidden]{display:none!important}
.characteristics-modal__backdrop{position:absolute;inset:-40px -34px -34px -34px;background:linear-gradient(180deg,rgba(16,13,10,.2),rgba(16,13,10,.58));backdrop-filter:blur(2px)}
.characteristics-modal__window{position:absolute;inset:0;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#d6d1b3;border:1px solid #8f876c;box-shadow:0 18px 42px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.65)}
.characteristics-modal__header{height:48px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:8px 12px 8px 16px;background:linear-gradient(180deg,#62594b,#4c4337);border-bottom:1px solid #332d26;color:#f8edcf}
.characteristics-modal__header>div{display:flex;flex-direction:column;gap:3px}
.characteristics-modal__header strong{font:800 16px/1 Tahoma,Arial,sans-serif;text-shadow:0 1px #2b261f}
.characteristics-modal__header small{color:#d9ccb0;font:600 9px/1 Verdana,Tahoma,sans-serif}
.characteristics-modal__close{appearance:none;width:25px;height:25px;padding:0;display:grid;place-items:center;cursor:pointer;border-radius:5px;background:linear-gradient(180deg,#f7932b,#d65f08);border:1px solid #6a3a0e;box-shadow:inset 0 1px 0 #ffd7a3;color:#fff;font:900 17px/1 Arial,sans-serif;text-shadow:0 1px #6b2e00}
.characteristics-modal__points{height:49px;box-sizing:border-box;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr 1fr;align-items:center;padding:6px 16px 6px 18px;background:#c8c19f;border-bottom:1px solid #a49c7f}
.characteristics-modal__points>span{font:800 11px/1 Verdana,Tahoma,sans-serif;color:#5c5445;text-transform:uppercase}
.characteristics-modal__points>strong{grid-row:1/3;grid-column:2;font:900 28px/1 Tahoma,Arial,sans-serif;color:#df7213;text-shadow:0 1px #fff}
.characteristics-modal__points>small{font:600 9px/1 Verdana,Tahoma,sans-serif;color:#766d5b}
.characteristics-modal__body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 184px;gap:10px;padding:10px;background:#bdb696}
.characteristics-modal__rows{display:grid;grid-template-rows:repeat(6,minmax(0,1fr));gap:6px;min-height:0}
.characteristics-modal__row{display:grid;grid-template-columns:minmax(0,1fr) 96px 58px;gap:8px;align-items:center;min-height:0;padding:6px 7px 6px 10px;border-radius:6px;border:1px solid #aaa282;background:linear-gradient(180deg,#e2dec5,#d5d0b2);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.characteristics-modal__name{min-width:0;display:flex;flex-direction:column;gap:3px}
.characteristics-modal__name strong{font:800 11px/1 Tahoma,Arial,sans-serif;color:#554d3f}
.characteristics-modal__name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 8px/1.15 Verdana,Tahoma,sans-serif;color:#776e5d}
.characteristics-modal__value{text-align:right;display:flex;flex-direction:column;gap:3px}
.characteristics-modal__value>b{font:900 17px/1 Tahoma,Arial,sans-serif;color:#5a4e3a}
.characteristics-modal__value small{white-space:nowrap;font:600 7px/1 Verdana,Tahoma,sans-serif;color:#817865}
.characteristics-modal__invest{display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column}
.characteristics-modal__invest button{appearance:none;width:28px;height:23px;padding:0;display:grid;place-items:center;cursor:pointer;border-radius:4px;border:1px solid #6d410f;background:linear-gradient(180deg,#ff9c25,#e2720e);box-shadow:inset 0 1px 0 #ffe0a4;color:#fff;font:900 17px/1 Arial,sans-serif;text-shadow:0 1px #7d3900}
.characteristics-modal__invest button:hover:not(:disabled){filter:brightness(1.08)}
.characteristics-modal__invest button:active:not(:disabled){transform:translateY(1px)}
.characteristics-modal__invest button:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.45}
.characteristics-modal__invest small{font:800 7px/1 Verdana,Tahoma,sans-serif;color:#766a57}
.characteristics-modal__derived{min-width:0;padding:10px;border-radius:6px;border:1px solid #8f876b;background:#625849;color:#f0e6cb;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.characteristics-modal__derived>strong{display:block;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.14);font:800 10px/1 Tahoma,Arial,sans-serif;color:#fff2cf;text-transform:uppercase}
.characteristics-modal__derived dl{margin:8px 0 0;display:grid;gap:5px}
.characteristics-modal__derived dl>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:4px;border-bottom:1px dotted rgba(255,255,255,.14)}
.characteristics-modal__derived dt{font:600 8px/1 Verdana,Tahoma,sans-serif;color:#d6c8aa}
.characteristics-modal__derived dd{margin:0;font:800 9px/1 Tahoma,Arial,sans-serif;color:#fff5d9;text-align:right}
.characteristics-modal__derived p{margin:12px 0 0;padding:7px;border-radius:4px;background:rgba(0,0,0,.13);font:500 8px/1.35 Verdana,Tahoma,sans-serif;color:#dacdad}


/* R61 — fight controls are siblings of the spell content and use display:contents.
   This keeps the buttons visually overlaid without an invisible fight layer blocking clicks. */
.game-hud[data-mode="fight"] .game-hud__content{overflow:visible}
.game-hud[data-mode="fight"] [data-hud-grid="spells"] .game-hud__grid{
  box-shadow:0 0 0 3px rgba(237,212,40,.92),0 0 0 5px rgba(112,93,37,.55);
  border-radius:2px;
}
.game-hud[data-mode="fight"] .game-hud__fight{display:contents!important}
.game-hud[data-mode="fight"] .game-hud__fight-team,
.game-hud[data-mode="fight"] .game-hud__fight-summary,
.game-hud[data-mode="fight"] .game-hud__fight-spells{display:none!important}
.game-hud[data-mode="fight"] .game-hud__fight-actions{display:contents!important}
.game-hud[data-mode="fight"] [data-hud-grid="spells"] .game-hud__feature-mark--spells:not(.game-hud__weapon-attack){visibility:hidden!important}
.game-hud[data-mode="fight"] .game-hud__fight-action{
  position:absolute!important;left:59px!important;top:58px!important;width:34px!important;height:20px!important;z-index:80!important;
  pointer-events:auto!important;padding:0 2px!important;box-sizing:border-box!important;border-radius:4px!important;
  background:linear-gradient(180deg,#f7a42e,#df7413)!important;border:1px solid #fff8df!important;
  box-shadow:0 0 0 1px #865412,inset 0 1px 0 rgba(255,255,255,.72),0 1px 2px rgba(0,0,0,.24)!important;
  color:#fff!important;text-shadow:0 1px 0 rgba(71,38,4,.7)!important;font:800 7px/18px Tahoma,Arial,sans-serif!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;text-align:center!important;cursor:pointer!important;
}
.game-hud[data-mode="fight"] .game-hud__fight-action::before{content:none!important}
.game-hud[data-mode="fight"] .game-hud__fight-action[disabled]{cursor:default!important;opacity:.58!important;filter:saturate(.55)!important}
.game-hud[data-mode="fight"] .game-hud__cancel{
  position:absolute!important;left:59px!important;top:83px!important;width:34px!important;height:18px!important;z-index:80!important;
  pointer-events:auto!important;cursor:pointer!important;border-radius:4px!important;padding:0!important;box-sizing:border-box!important;
  background:linear-gradient(180deg,#dc6751,#a53f31)!important;border:1px solid #fff2dd!important;
  box-shadow:0 0 0 1px #733428,inset 0 1px 0 rgba(255,255,255,.58),0 1px 2px rgba(0,0,0,.22)!important;
  color:#fff8e9!important;font:800 7px/16px Tahoma,Arial,sans-serif!important;letter-spacing:0!important;text-align:center!important;
}
.game-hud[data-mode="fight"] .game-hud__cancel:hover,
.game-hud[data-mode="fight"] .game-hud__fight-action:hover:not([disabled]){filter:brightness(1.08)}


/* R64 — combat PA affordability feedback. */
.game-hud[data-mode="fight"] .game-hud__slot--spell.is-unavailable,
.game-hud[data-mode="fight"] .game-hud__fight-spell.is-unavailable{
  opacity:.48!important;
  filter:grayscale(1) saturate(0) brightness(.72)!important;
  cursor:not-allowed!important;
}
.game-hud[data-mode="fight"] .game-hud__slot--spell.is-unavailable .game-hud__spell-icon-image,
.game-hud[data-mode="fight"] .game-hud__fight-spell.is-unavailable .game-hud__spell-icon-image{
  filter:grayscale(1) contrast(.88)!important;
}
.game-hud[data-mode="fight"] .game-hud__slot--spell.is-unavailable:hover,
.game-hud[data-mode="fight"] .game-hud__fight-spell.is-unavailable:hover{
  filter:grayscale(1) saturate(0) brightness(.72)!important;
}


/* R66 — Retro spell cooldown feedback. A cooling-down spell is desaturated and
   carries a centered remaining-turn counter above its icon. */
.game-hud__slot--spell .game-hud__spell-cooldown,
.game-hud__fight-spell .game-hud__spell-cooldown{
  position:absolute!important;z-index:8!important;left:50%!important;top:50%!important;
  min-width:16px!important;height:16px!important;padding:0 3px!important;
  display:grid!important;place-items:center!important;box-sizing:border-box!important;
  transform:translate(-50%,-50%)!important;border-radius:9px!important;
  background:rgba(42,42,42,.88)!important;border:1px solid rgba(255,255,255,.9)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.12)!important;
  color:#fff!important;font:900 9px/15px Tahoma,Arial,sans-serif!important;
  text-shadow:0 1px 0 #000!important;opacity:1!important;pointer-events:none!important;
}
.game-hud__slot--spell .game-hud__spell-cooldown[hidden],
.game-hud__fight-spell .game-hud__spell-cooldown[hidden]{display:none!important}
.game-hud[data-mode="fight"] .game-hud__slot--spell.is-cooldown,
.game-hud[data-mode="fight"] .game-hud__fight-spell.is-cooldown{
  cursor:default!important;opacity:.68!important;filter:grayscale(1) saturate(0) brightness(.72)!important;
  background:linear-gradient(180deg,#676767,#454545)!important;color:#d6d6d6!important;
  border-color:#9a9a9a!important;box-shadow:0 0 0 1px #555,inset 0 1px 0 rgba(255,255,255,.1)!important;
}
.game-hud[data-mode="fight"] .game-hud__slot--spell.is-cooldown .game-hud__spell-icon-image,
.game-hud[data-mode="fight"] .game-hud__fight-spell.is-cooldown .game-hud__spell-icon-image{
  filter:grayscale(1) contrast(.85) brightness(.72)!important;
}
.game-hud[data-mode="fight"] .game-hud__slot--spell.is-cooldown .game-hud__spell-cooldown,
.game-hud[data-mode="fight"] .game-hud__fight-spell.is-cooldown .game-hud__spell-cooldown{
  filter:none!important;opacity:1!important;
}


/* Equipment level requirements */
.inventory-modal__item.is-level-locked{filter:grayscale(1);opacity:.58;position:relative}
.inventory-modal__item.is-level-locked:hover{opacity:.72}
.inventory-modal__level-lock{position:absolute;left:2px;right:2px;bottom:2px;display:block;padding:1px 2px;border-radius:3px;background:rgba(40,31,24,.88);border:1px solid rgba(255,218,123,.72);color:#ffe3a0;font:700 8px Tahoma,Arial,sans-serif;line-height:1.15;text-align:center;text-shadow:0 1px 0 #000;pointer-events:none}
.inventory-modal__action.is-level-locked,.inventory-modal__action:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.58}
.inventory-modal__level-warning{margin:8px 0 0;padding:7px 9px;border-radius:6px;background:rgba(112,72,30,.13);border:1px solid rgba(130,83,31,.30);color:#6b3f1c;font:700 11px Tahoma,Arial,sans-serif;line-height:1.3}

/* R68 — multi-point characteristic allocation + full characteristic reset. */
.characteristics-modal__points{grid-template-columns:minmax(0,1fr) auto auto;column-gap:10px}
.characteristics-modal__points>strong{grid-column:3}
.characteristics-modal__points>small{grid-column:1}
.characteristics-modal__reset{grid-column:2;grid-row:1/3;align-self:center;appearance:none;min-width:76px;height:25px;padding:0 9px;cursor:pointer;border-radius:5px;border:1px solid #6d410f;background:linear-gradient(180deg,#f89a2b,#db6c0d);box-shadow:inset 0 1px 0 #ffe0a4;color:#fff;font:800 9px/1 Tahoma,Arial,sans-serif;text-shadow:0 1px #7d3900}
.characteristics-modal__reset:hover:not(:disabled){filter:brightness(1.08)}
.characteristics-modal__reset:active:not(:disabled){transform:translateY(1px)}
.characteristics-modal__reset:disabled{cursor:not-allowed;filter:grayscale(.75);opacity:.45}
.characteristics-modal__row{grid-template-columns:minmax(0,1fr) 96px 112px}
.characteristics-modal__invest{gap:3px}
.characteristics-modal__invest-controls{display:flex;align-items:center;justify-content:center;gap:5px;width:100%}
.characteristics-modal__invest input{box-sizing:border-box;width:66px;height:23px;padding:0 5px;border-radius:4px;border:1px solid #8d8064;outline:none;background:#f5f0d9;color:#514839;font:800 10px/1 Tahoma,Arial,sans-serif;text-align:center;box-shadow:inset 0 1px 2px rgba(0,0,0,.14)}
.characteristics-modal__invest input:focus{border-color:#d77715;box-shadow:0 0 0 1px rgba(215,119,21,.25),inset 0 1px 2px rgba(0,0,0,.12)}
.characteristics-modal__invest input:disabled{opacity:.5;filter:grayscale(.7);cursor:not-allowed}
.characteristics-modal__invest input::-webkit-inner-spin-button,.characteristics-modal__invest input::-webkit-outer-spin-button{opacity:1}
.characteristics-modal__invest small{max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}

/* Timed combat turns — 60s per fighter. */
.game-hud__fight-action.is-timer-warning{background:linear-gradient(#ffd264,#ee9d22)!important}
.game-hud__fight-action.is-timer-critical{background:linear-gradient(#ff8c66,#d94b35)!important;border-color:#7d271f!important;color:#fff9e8!important;text-shadow:0 1px rgba(75,20,15,.55)!important;animation:hudTurnTimerPulse .7s ease-in-out infinite alternate}
@keyframes hudTurnTimerPulse{from{filter:brightness(1)}to{filter:brightness(1.18)}}

/* R36 — Retro 1.29-style compact characteristics panel. */
.characteristics-modal{
  position:absolute;z-index:58;left:auto;right:4px;top:-426px;width:314px;height:430px;
  overflow:visible;color:#4e4638;font-family:Verdana,Tahoma,Arial,sans-serif;
}
.characteristics-modal[hidden]{display:none!important}
.characteristics-modal__backdrop{display:none!important}
.characteristics-modal__window{
  position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;border-radius:10px 10px 6px 6px;
  background:#cfc9a8;border:2px solid #f6f0d3;outline:1px solid #655d4c;
  box-shadow:0 3px 8px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.55)
}
.characteristics-modal__header{
  flex:0 0 30px;height:30px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;
  padding:0 7px 0 12px;background:#514a3c;border:0;border-bottom:1px solid #302b23;color:#fff5dc
}
.characteristics-modal__header strong{font:800 12px/1 Verdana,Tahoma,sans-serif;text-shadow:0 1px 0 #29251e}
.characteristics-modal__close{
  appearance:none;width:19px;height:19px;padding:0;display:grid;place-items:center;cursor:pointer;border-radius:2px;
  background:linear-gradient(#ff9827,#e7680c);border:1px solid #7b410e;box-shadow:inset 0 1px 0 #ffd9a2;
  color:#fff;font:900 14px/16px Arial,sans-serif;text-shadow:0 1px #743300
}
.characteristics-modal__close:hover{filter:brightness(1.08)}
.characteristics-modal__summary{flex:0 0 143px;background:#cbc5a5;border-bottom:1px solid #8f876d}
.characteristics-modal__identity{height:46px;display:flex;align-items:center;gap:9px;padding:5px 9px;box-sizing:border-box;background:#ded8b8;border-bottom:1px solid #aaa286}
.characteristics-modal__crest{
  width:34px;height:34px;display:grid;place-items:center;border:2px solid #4f7656;background:linear-gradient(135deg,#edf5ce,#91c2a0);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.65),0 1px 1px rgba(0,0,0,.2);color:#5a4931;font:900 18px Georgia,serif
}
.characteristics-modal__identity>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.characteristics-modal__identity strong{font:800 12px/1 Tahoma,Arial,sans-serif;color:#51493d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.characteristics-modal__identity small{font:700 9px/1 Verdana,Tahoma,sans-serif;color:#655d50}.characteristics-modal__identity small b{font-size:10px}
.characteristics-modal__xp-row{height:30px;display:grid;grid-template-columns:74px 1fr;align-items:center;gap:7px;padding:3px 9px;box-sizing:border-box;border-bottom:1px solid #b2aa8e;color:#655d4d;font:700 9px/1 Verdana,Tahoma,sans-serif}
.characteristics-modal__xp-track{height:9px;border-radius:6px;background:#68665b;border:1px solid #9b947d;box-shadow:inset 0 1px 2px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.6);overflow:hidden}
.characteristics-modal__xp-track i{display:block;height:100%;width:0;background:linear-gradient(#ff9a29,#ef6f0e);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);transition:width .15s ease}
.characteristics-modal__primary-stats{margin:0;padding:3px 8px 4px;display:grid;grid-template-rows:repeat(5,1fr);height:67px;box-sizing:border-box;background:#c9c3a3}
.characteristics-modal__primary-stats>div{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:0;border-bottom:1px solid rgba(115,105,83,.18)}
.characteristics-modal__primary-stats>div:last-child{border-bottom:0}
.characteristics-modal__primary-stats dt{display:flex;align-items:center;gap:5px;font:700 8px/1 Verdana,Tahoma,sans-serif;color:#5f5749}.characteristics-modal__primary-stats dd{margin:0;font:800 9px/1 Tahoma,Arial,sans-serif;color:#51493c}
.characteristics-modal__primary-stats i{width:13px;height:13px;display:grid;place-items:center;font:900 10px/1 Arial,sans-serif;font-style:normal;text-shadow:0 1px 0 rgba(0,0,0,.35)}
.characteristics-modal__primary-stats .is-hp i{color:#ef2e31}.characteristics-modal__primary-stats .is-ap i{color:#f4b92e}.characteristics-modal__primary-stats .is-mp i{color:#6ba53f}.characteristics-modal__primary-stats .is-initiative i{color:#8e3e9c}.characteristics-modal__primary-stats .is-prospecting i{color:#2c8dc4}
.characteristics-modal__section-title{flex:0 0 24px;height:24px;box-sizing:border-box;padding:2px 5px 2px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#514a3c;color:#fff4d7;font:800 10px/1 Verdana,Tahoma,sans-serif;border-top:1px solid #eee7cb;border-bottom:1px solid #312c24}
.characteristics-modal__section-title>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.characteristics-modal__rows{display:block;flex:0 0 162px;min-height:0;background:#c9c3a3}
.characteristics-modal__row{
  height:27px;box-sizing:border-box;display:grid;grid-template-columns:20px minmax(0,1fr) 40px 72px;gap:4px;align-items:center;
  padding:2px 7px;border:0;border-radius:0;border-bottom:1px solid #aea68a;background:#d1cbab;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)
}
.characteristics-modal__row:nth-child(even){background:#c9c3a3}
.characteristics-modal__stat-icon{width:17px;height:17px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(78,69,54,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);color:#fff;font:900 10px/1 Arial,sans-serif;text-shadow:0 1px 0 rgba(0,0,0,.35)}
.characteristics-modal__row--vitality .characteristics-modal__stat-icon{background:#d84137}.characteristics-modal__row--wisdom .characteristics-modal__stat-icon{background:#75618c}.characteristics-modal__row--strength .characteristics-modal__stat-icon{background:#a66624}.characteristics-modal__row--intelligence .characteristics-modal__stat-icon{background:#cf332b}.characteristics-modal__row--chance .characteristics-modal__stat-icon{background:#2f8fbf}.characteristics-modal__row--agility .characteristics-modal__stat-icon{background:#42995b}
.characteristics-modal__name{min-width:0;display:flex;flex-direction:column;gap:1px}.characteristics-modal__name strong{font:800 9px/1 Tahoma,Arial,sans-serif;color:#564e41}.characteristics-modal__name small{font:600 6px/1 Verdana,Tahoma,sans-serif;color:#817864;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.characteristics-modal__stat-value{font:800 10px/1 Tahoma,Arial,sans-serif;text-align:right;color:#51493c}
.characteristics-modal__invest{display:grid;grid-template-columns:48px 20px;align-items:center;gap:3px;width:71px;height:20px}
.characteristics-modal__invest input{display:block!important;box-sizing:border-box;width:48px;height:19px;padding:0 3px;border-radius:2px;border:1px solid #8b8067;outline:none;background:#f4efd8;color:#51493c;font:800 9px/18px Tahoma,Arial,sans-serif;text-align:center;box-shadow:inset 0 1px 2px rgba(0,0,0,.13)}
.characteristics-modal__invest input:focus{border-color:#d27212;box-shadow:0 0 0 1px rgba(210,114,18,.24),inset 0 1px 2px rgba(0,0,0,.12)}
.characteristics-modal__invest input:disabled{opacity:.45;filter:grayscale(.7);cursor:not-allowed}
.characteristics-modal__invest input::-webkit-inner-spin-button,.characteristics-modal__invest input::-webkit-outer-spin-button{margin:0;opacity:.65}
.characteristics-modal__invest small{display:none!important}
.characteristics-modal__invest button{
  appearance:none;width:18px;height:18px;padding:0;display:grid;place-items:center;cursor:pointer;border-radius:2px;
  border:1px solid #8b4a12;background:linear-gradient(#ff9c28,#e46c0d);box-shadow:inset 0 1px 0 #ffdda2;color:#fff;font:900 14px/15px Arial,sans-serif;text-shadow:0 1px #743300
}
.characteristics-modal__invest button:hover:not(:disabled){filter:brightness(1.08)}.characteristics-modal__invest button:active:not(:disabled){transform:translateY(1px)}.characteristics-modal__invest button:disabled{opacity:.38;filter:grayscale(.8);cursor:not-allowed}
.characteristics-modal__capital{flex:0 0 29px;height:29px;box-sizing:border-box;display:grid;grid-template-columns:1fr auto 24px;align-items:center;gap:7px;padding:3px 7px 3px 10px;background:#514a3c;border-top:1px solid #eee6ca;color:#fff1d4}
.characteristics-modal__capital>strong{font:800 10px/1 Verdana,Tahoma,sans-serif}.characteristics-modal__capital>b{font:900 12px/1 Tahoma,Arial,sans-serif;color:#fff6dd}.characteristics-modal__reset{appearance:none;width:19px;height:19px;padding:0;display:grid;place-items:center;cursor:pointer;border-radius:2px;border:1px solid #81450f;background:linear-gradient(#ff9b29,#e46e0e);color:#fff;font:900 13px/1 Arial,sans-serif;box-shadow:inset 0 1px 0 #ffe0a9}.characteristics-modal__reset:disabled{opacity:.35;filter:grayscale(.8);cursor:not-allowed}
.characteristics-modal__hint{flex:1;min-height:0;margin:0;padding:5px 9px;background:#bbb596;color:#6b6252;font:600 6px/1.25 Verdana,Tahoma,sans-serif;overflow:hidden}
.characteristics-modal__points,.characteristics-modal__body,.characteristics-modal__derived{display:none!important}


/* R37 — expandable Retro advanced-characteristics drawer. */
.characteristics-modal__header-actions{display:flex;align-items:center;gap:4px}
.characteristics-modal__advanced-toggle{
  appearance:none;width:19px;height:19px;padding:0;display:grid;place-items:center;cursor:pointer;border-radius:2px;
  background:linear-gradient(#ff9827,#e7680c);border:1px solid #7b410e;box-shadow:inset 0 1px 0 #ffd9a2;
  color:#fff;font:900 15px/15px Arial,sans-serif;text-shadow:0 1px #743300
}
.characteristics-modal__advanced-toggle:hover{filter:brightness(1.08)}
.characteristics-modal__advanced-toggle:active{transform:translateY(1px)}
.characteristics-modal__advanced{
  position:absolute;right:318px;top:0;width:236px;height:424px;box-sizing:border-box;overflow:hidden;
  border-radius:7px 0 0 7px;background:#c9c3a3;border:2px solid #f6f0d3;outline:1px solid #655d4c;
  box-shadow:-3px 3px 8px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.45)
}
.characteristics-modal__advanced[hidden]{display:none!important}
.characteristics-modal__advanced-title{
  height:25px;box-sizing:border-box;padding:6px 9px;background:#514a3c;border-bottom:1px solid #302b23;
  color:#fff4d7;font:800 9px/1 Verdana,Tahoma,sans-serif;text-shadow:0 1px 0 #29251e
}
.characteristics-modal__advanced-scroll{
  height:395px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  scrollbar-width:auto;scrollbar-color:#6a6251 #aaa487;background:#c9c3a3
}
.characteristics-modal__advanced-scroll::-webkit-scrollbar{width:12px}
.characteristics-modal__advanced-scroll::-webkit-scrollbar-track{background:#aaa487;border-left:1px solid #8c846d}
.characteristics-modal__advanced-scroll::-webkit-scrollbar-thumb{background:#665e4e;border:2px solid #aaa487;border-radius:5px}
.characteristics-modal__advanced-scroll::-webkit-scrollbar-button{height:10px;background:#827966}
.characteristics-modal__advanced-group{margin:0;border-bottom:1px solid #9f977c}
.characteristics-modal__advanced-group h4{
  margin:0;padding:5px 8px 4px;background:#b8b294;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid #a49c81;
  color:#5a5244;font:800 8px/1 Verdana,Tahoma,sans-serif;text-transform:uppercase;letter-spacing:.02em
}
.characteristics-modal__advanced-group dl{margin:0;padding:0}
.characteristics-modal__advanced-group dl>div{
  height:22px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;
  border-bottom:1px solid rgba(115,105,83,.18);background:#d1cbab
}
.characteristics-modal__advanced-group dl>div:nth-child(even){background:#c9c3a3}
.characteristics-modal__advanced-group dt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5d5548;font:700 7px/1 Verdana,Tahoma,sans-serif}
.characteristics-modal__advanced-group dd{margin:0;color:#4f473b;font:800 8px/1 Tahoma,Arial,sans-serif}
.characteristics-modal__advanced-group--res dl>div dt::before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;border:1px solid rgba(69,61,48,.35);vertical-align:-1px;background:#8e8978}
.characteristics-modal__advanced-group--res .is-earth dt::before{background:#94703f}
.characteristics-modal__advanced-group--res .is-fire dt::before{background:#c94d3d}
.characteristics-modal__advanced-group--res .is-water dt::before{background:#4386b8}
.characteristics-modal__advanced-group--res .is-air dt::before{background:#70a55d}

/* R38 — advanced stats toggle belongs to the Caractéristiques title bar. */
.characteristics-modal__section-title .characteristics-modal__advanced-toggle{flex:0 0 19px;margin-left:auto}

/* R76 — Retro combat inspector.
   It takes over the full 415px chat plate it replaces, so the title strip,
   the engraved divider and the white bottom rail run edge to edge exactly
   like the chat does, with the minimap orb overlapping it the same way. */
.game-hud__fight-inspector[hidden]{display:none!important}
.game-hud__fight-inspector{
  position:absolute;z-index:72;left:-415px;top:0;width:415px;height:124px;pointer-events:none;
  color:#514a3c;font-family:Verdana,Tahoma,Arial,sans-serif;
  background:
    repeating-linear-gradient(0deg,rgba(81,74,60,.032) 0 1px,transparent 1px 3px),
    radial-gradient(120% 150% at 12% 0,rgba(255,255,255,.5) 0,transparent 62%),
    linear-gradient(#dbd5b3,#cfc9a4);
  box-shadow:inset 0 2px 0 #8c8568;
  animation:hud-inspector-in .15s ease-out both;
}
@keyframes hud-inspector-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
/* The plate runs the full 415px of the chat, so the orb is lifted above it for
   the duration of the inspect — its badges (level, PV, PA/PM) overhang the
   plate edge and must stay readable, exactly as they do over the chat. */
.game-hud--fight-inspecting .game-hud__map-orb{z-index:73}

@media (prefers-reduced-motion:reduce){.game-hud__fight-inspector{animation:none}}

/* Title strip — same 16px khaki rail as the chat header it replaces. */
.game-hud__fight-inspector-bar{
  position:absolute;left:0;top:0;width:100%;height:16px;
  display:flex;align-items:center;gap:5px;padding:0 44px 0 6px;
  background:linear-gradient(#958e71,#847d61);border-bottom:1px solid rgba(255,255,255,.62);
}
.game-hud__fight-inspector-pennant{
  flex:0 0 7px;height:9px;background:#4c86ce;border:1px solid #fff;
  box-shadow:0 0 0 1px rgba(38,33,24,.5);clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%);
}
.game-hud__fight-inspector-bar strong{
  flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:900 10px/12px Verdana,Tahoma,sans-serif;color:#fbf7e2;text-shadow:0 1px 0 rgba(42,36,26,.62);
}
.game-hud__fight-inspector-kind{
  flex:0 0 auto;font:700 6px/12px Verdana,Tahoma,sans-serif;letter-spacing:.06em;text-transform:uppercase;
  color:#e2dcc0;opacity:.72;text-shadow:0 1px 0 rgba(42,36,26,.5);
}
.game-hud__fight-inspector-team{
  flex:0 0 auto;margin-left:auto;height:11px;padding:0 5px;border-radius:6px;
  background:#4c86ce;border:1px solid rgba(255,255,255,.8);color:#fff;
  font:900 6px/9px Verdana,Tahoma,sans-serif;letter-spacing:.06em;text-transform:uppercase;
  box-shadow:0 1px 0 rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.3);
}
.game-hud__fight-inspector[data-team="ally"] .game-hud__fight-inspector-team::after{content:"Allié"}
.game-hud__fight-inspector[data-team="enemy"] .game-hud__fight-inspector-team{background:#c0392b}
.game-hud__fight-inspector[data-team="enemy"] .game-hud__fight-inspector-team::after{content:"Ennemi"}
.game-hud__fight-inspector[data-team="enemy"] .game-hud__fight-inspector-pennant{background:#c9453b}

/* Portrait — the HUD slot bevel, with the level medallion clipped to its corner. */
.game-hud__fight-inspector-portrait{
  position:absolute;left:8px;top:21px;width:62px;height:62px;overflow:hidden;
  display:flex;align-items:flex-end;justify-content:center;
  background:radial-gradient(115% 88% at 50% 16%,#f2edd4 0,#ddd7b7 56%,#bfb897 100%);
  border:1px solid #877b63;
  box-shadow:inset -1px -1px 0 #dcd7be,inset 1px 1px 0 #6f6753,0 1px 0 rgba(255,255,255,.5);
}
.game-hud__fight-inspector-portrait::after{
  content:"";position:absolute;left:12px;right:12px;bottom:5px;height:6px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(70,62,48,.34),transparent);
}
.game-hud__fight-inspector-portrait img{
  position:relative;z-index:1;display:block;width:58px;height:58px;
  object-fit:contain;object-position:center bottom;
  transform:scale(2.15);transform-origin:50% 82%;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.3));
}
/* The static player render has substantially more transparent canvas around
   the body than most monster renders, so crop it a little more aggressively. */
.game-hud__fight-inspector[data-kind="player"] .game-hud__fight-inspector-portrait img{transform:scale(2.55);transform-origin:50% 84%}
.game-hud__fight-inspector[data-kind="summon"] .game-hud__fight-inspector-portrait img{transform:scale(2.25);transform-origin:50% 82%}
.game-hud__fight-inspector-portrait span{
  position:relative;z-index:1;width:32px;height:32px;margin-bottom:9px;display:grid;place-items:center;
  border:1px solid #fff;border-radius:50%;background:linear-gradient(#a3a985,#848a6b);color:#f8f2d7;
  font:900 16px/1 Georgia,serif;text-shadow:0 1px 1px rgba(0,0,0,.3);
  box-shadow:0 0 0 1px #6e745f,0 1px 1px rgba(0,0,0,.2);
}
.game-hud__fight-inspector-portrait span[hidden]{display:none!important}
.game-hud__fight-inspector-level{
  position:absolute;left:3px;top:69px;min-width:24px;height:16px;padding:0 4px;
  display:grid;place-items:center;border-radius:9px;
  background:linear-gradient(#fff9a3,#fff05a);border:2px solid #514a3c;color:#172038;
  font:900 9px/1 Arial,sans-serif;box-shadow:0 1px 1px rgba(0,0,0,.25);
}

/* Vitals column */
.game-hud__fight-inspector-hp{position:absolute;left:78px;right:62px;top:21px;height:16px;display:flex;align-items:center;gap:5px}
.game-hud__fight-inspector-hp>i{
  flex:0 0 18px;height:16px;display:grid;place-items:center;font-style:normal;
  border-radius:9px;background:#fff;border:1px solid #8c8568;color:#c51010;font-size:9px;font-weight:900;
  box-shadow:0 1px 1px rgba(0,0,0,.12);
}
.game-hud__fight-inspector-hp-track{
  position:relative;flex:1;height:14px;overflow:hidden;border:1px solid #6f6852;border-radius:7px;
  background:linear-gradient(#9a9377,#b2ab8f);
  box-shadow:inset 0 1px 2px rgba(50,44,33,.5),0 1px 0 rgba(255,255,255,.55);
}
.game-hud__fight-inspector-hp-ghost{
  position:absolute;left:0;top:0;bottom:0;width:0;border-radius:6px;
  background:linear-gradient(#fff3cf,#e9c887);transition:width .45s ease .2s;
}
.game-hud__fight-inspector-hp-fill{
  position:absolute;left:0;top:0;bottom:0;width:0;border-radius:6px;z-index:1;
  background:linear-gradient(#f0705f 0,#d33a2c 48%,#a81f17 100%);transition:width .14s linear;
}
.game-hud__fight-inspector-hp-fill::after{
  content:"";position:absolute;left:0;right:0;top:0;height:47%;border-radius:6px 6px 0 0;
  background:linear-gradient(rgba(255,255,255,.5),rgba(255,255,255,.06));
}
.game-hud__fight-inspector[data-hp="low"] .game-hud__fight-inspector-hp-fill{background:linear-gradient(#d8503f 0,#a81f17 55%,#7d1109 100%)}
.game-hud__fight-inspector-hp-track b{
  position:absolute;inset:0;z-index:2;display:grid;place-items:center;
  font:900 7.5px/1 Verdana,Tahoma,sans-serif;color:#fff8e8;letter-spacing:.02em;
  text-shadow:0 1px 1px rgba(58,14,14,.9),0 0 2px rgba(0,0,0,.35);
}

/* Raised chips = live resources. */
.game-hud__fight-inspector-quickstats{position:absolute;left:78px;right:62px;top:41px;height:21px;display:flex;gap:4px}
.game-hud__fight-inspector-quickstats>span{
  flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 5px;height:21px;
  border:1px solid #8c8568;border-radius:3px;background:linear-gradient(#fff,#f4f0dd);
  box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(255,255,255,.45);
}
.game-hud__fight-inspector-quickstats i{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 1px rgba(255,255,255,.7)}
.game-hud__fight-inspector-quickstats b{font:900 10px/1 Arial,sans-serif;color:#443d31}
.game-hud__fight-inspector-quickstats small{font:700 5.5px/1 Verdana,Tahoma,sans-serif;letter-spacing:.05em;color:#8c8568}
.game-hud__fight-inspector-quickstats .is-ap{color:#356fd0}
.game-hud__fight-inspector-quickstats .is-mp{color:#3a9b45}
.game-hud__fight-inspector-quickstats .is-state{color:#7b53a3}

/* Sunken chips = passive stats. */
.game-hud__fight-inspector-dodge{position:absolute;left:78px;right:62px;top:65px;height:18px;display:flex;gap:4px}
.game-hud__fight-inspector-dodge>span{
  flex:1 1 0;min-width:0;display:flex;align-items:center;gap:4px;padding:0 5px;height:18px;
  border:1px solid #a49d80;border-radius:3px;background:linear-gradient(#c5bf9f,#d0caa9);
  box-shadow:inset 1px 1px 0 rgba(92,84,66,.4),inset -1px -1px 0 rgba(255,255,255,.5);
}
.game-hud__fight-inspector-dodge i{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:currentColor}
.game-hud__fight-inspector-dodge .is-ap{color:#356fd0}
.game-hud__fight-inspector-dodge .is-mp{color:#3a9b45}
.game-hud__fight-inspector-dodge small{flex:1 1 auto;font:700 5.5px/1 Verdana,Tahoma,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#6e6653}
.game-hud__fight-inspector-dodge b{font:900 9px/1 Arial,sans-serif;color:#4a4335;text-shadow:0 1px 0 rgba(255,255,255,.5)}

/* Engraved section rule. */
.game-hud__fight-inspector-divider{
  position:absolute;left:0;right:0;top:86px;height:14px;display:flex;align-items:center;gap:6px;padding:0 46px 0 8px;
  background:linear-gradient(#cec8a6,#c0ba97);
  border-top:1px solid rgba(255,255,255,.55);border-bottom:1px solid #a8a184;
}
.game-hud__fight-inspector-divider span{font:900 6.5px/1 Verdana,Tahoma,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:#6b6350;text-shadow:0 1px 0 rgba(255,255,255,.55)}
.game-hud__fight-inspector-divider i{flex:1;height:2px;border-top:1px solid rgba(92,84,66,.38);border-bottom:1px solid rgba(255,255,255,.5)}

/* Elemental rail — mirrors the white chat input rail at the same edge. */
.game-hud__fight-inspector-resists{
  position:absolute;left:0;right:0;top:100px;bottom:0;display:flex;gap:4px;
  align-items:center;padding:3px 50px 3px 6px;background:linear-gradient(#fdfaef,#f2eddb);border-top:1px solid #b6b097;
}
.game-hud__fight-inspector-resists>span{
  flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;height:18px;border-radius:3px;
  border:1px solid rgba(120,110,88,.3);background:rgba(255,255,255,.5);
}
.game-hud__fight-inspector-resists i{
  flex:0 0 14px;width:14px;height:14px;display:grid;place-items:center;border-radius:3px;
  border:1px solid rgba(38,32,22,.55);font:900 8px/1 Arial,sans-serif;font-style:normal;color:#fff;
  text-shadow:0 1px 1px rgba(0,0,0,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(0,0,0,.22);
}
.game-hud__fight-inspector-resists b{font:900 8px/1 Tahoma,Arial,sans-serif;color:#8c8568;white-space:nowrap}
.game-hud__fight-inspector-resists b[data-sign="up"]{color:#2c7a3c}
.game-hud__fight-inspector-resists b[data-sign="down"]{color:#b3392c}
.game-hud__fight-inspector-resists .is-neutral i{background:linear-gradient(#8e8879,#5e584a)}
.game-hud__fight-inspector-resists .is-earth i{background:linear-gradient(#b47e2f,#7c4e14)}
.game-hud__fight-inspector-resists .is-fire i{background:linear-gradient(#e2685b,#a3281d)}
.game-hud__fight-inspector-resists .is-water i{background:linear-gradient(#5ca5da,#23608f)}
.game-hud__fight-inspector-resists .is-air i{background:linear-gradient(#6dbc80,#2a7c46)}
.game-hud__fight-inspector-resists .is-neutral{background:rgba(94,88,74,.09);border-color:rgba(94,88,74,.32)}
.game-hud__fight-inspector-resists .is-earth{background:rgba(124,78,20,.09);border-color:rgba(124,78,20,.32)}
.game-hud__fight-inspector-resists .is-fire{background:rgba(163,40,29,.09);border-color:rgba(163,40,29,.3)}
.game-hud__fight-inspector-resists .is-water{background:rgba(35,96,143,.09);border-color:rgba(35,96,143,.3)}
.game-hud__fight-inspector-resists .is-air{background:rgba(42,124,70,.09);border-color:rgba(42,124,70,.3)}

/* Downed fighter. */
.game-hud__fight-inspector[data-hp="dead"] .game-hud__fight-inspector-portrait img{filter:grayscale(1) opacity(.5)}
.game-hud__fight-inspector[data-hp="dead"] .game-hud__fight-inspector-bar strong{opacity:.72;text-decoration:line-through}

.game-hud--fight-inspecting .game-hud__chat{visibility:hidden}
.game-hud--fight-inspecting .game-hud__fight-inspector{visibility:visible!important}
.game-hud--fight-inspecting .game-hud__menu-row,.game-hud--fight-inspecting .game-hud__content,.game-hud--fight-inspecting .game-hud__tabs,.game-hud--fight-inspecting .game-hud__fight-action,.game-hud--fight-inspecting .game-hud__cancel{visibility:visible!important}

/* R35 — functional Retro chat channels. */
.game-hud__chat-scroll{display:none!important}
.game-hud__chat-log{
  left:4px!important;right:5px!important;top:19px!important;height:80px!important;
  overflow-y:auto!important;overflow-x:hidden!important;padding:1px 4px 2px 2px;
  font-size:9px;line-height:1.32;scrollbar-width:thin;scrollbar-color:#514a3c #beb998;
  user-select:text;
}
.game-hud__chat-log::-webkit-scrollbar{width:8px}
.game-hud__chat-log::-webkit-scrollbar-track{background:#beb998;border-left:1px solid #a59e7f}
.game-hud__chat-log::-webkit-scrollbar-thumb{background:#514a3c;border:1px solid #beb998;border-radius:3px}
.game-hud__chat-message{min-height:12px;white-space:normal;overflow-wrap:anywhere;color:#514a3c}
.game-hud__chat-message b{font-weight:700}
.game-hud__chat-message.is-info{color:#16831b}
.game-hud__chat-message.is-info.is-error{color:#a23425;font-weight:700}
.game-hud__chat-message.is-info.is-combat{color:#16831b}
.game-hud__chat-message.is-general{color:#25231f}
.game-hud__chat-message.is-private{color:#245fc1}
.game-hud__chat-message.is-guild{color:#71409a}
.game-hud__chat-message.is-alignment{color:#d66b12}
.game-hud__chat-message.is-recruitment{color:#6d685c}
.game-hud__chat-message.is-trade{color:#704321}
.game-hud__filter{transition:opacity .08s ease,filter .08s ease,transform .08s ease}
.game-hud__filter.is-disabled{opacity:.36;filter:saturate(.25)}
.game-hud__filter.is-disabled span{visibility:hidden}
.game-hud__filter:hover{transform:translateY(-1px)}
.game-hud__filter:active{transform:translateY(0)}
.game-hud__chat-input input{font-size:10px!important}

/* R36 — manual drag/drop quick slots and equipment. */
.game-hud__slot--item[draggable="true"],.inventory-modal__item[draggable="true"],.inventory-modal__equipment-slot[draggable="true"]{cursor:grab}
.game-hud__slot--item.is-dragging,.inventory-modal__item.is-dragging,.inventory-modal__equipment-slot.is-dragging{opacity:.45;cursor:grabbing!important}
.game-hud__slot--item.is-drop-target{box-shadow:inset 0 0 0 2px #f59a19,0 0 0 1px #fff2b8!important;filter:brightness(1.08)}
.inventory-modal__equipment-slot.is-drop-target{box-shadow:0 0 0 2px #f59a19,inset 0 0 0 1px #fff2b8!important;filter:brightness(1.12)}
.game-hud__slot--item:not(.is-filled){background:#beb998!important}


/* R37 — game-native pointer drag/drop. */
.dofus-item-dragging,.dofus-item-dragging *{cursor:grabbing!important}
.dofus-item-drag-ghost{position:fixed;z-index:2147483000;width:40px;height:40px;display:grid;place-items:center;pointer-events:none;border:1px solid #fff2ba;border-radius:4px;background:#bcb798;box-shadow:0 2px 7px rgba(0,0,0,.45),inset 0 0 0 1px #81795f;overflow:hidden;opacity:.94}
.dofus-item-drag-ghost img{display:block;max-width:36px!important;max-height:36px!important;width:auto!important;height:auto!important;object-fit:contain}
.inventory-modal__items-wrap.is-drop-target{box-shadow:inset 0 0 0 2px #f59a19,0 0 0 1px #fff2b8}
.game-hud__slot--item,.inventory-modal__item,.inventory-modal__equipment-slot{touch-action:none}


/* R38 — Retro class spellbook. */
.spellbook-modal{position:absolute;left:76px;top:-390px;width:590px;height:378px;z-index:61}
.spellbook-modal[hidden]{display:none!important}
.spellbook-modal__window{position:absolute;inset:0;display:flex;flex-direction:column;border-radius:12px;background:#c9c5a3;border:1px solid #fff;box-shadow:0 0 0 1px #696250,0 5px 16px rgba(0,0,0,.3);overflow:hidden;color:#514b3d}
.spellbook-modal__header{height:34px;min-height:34px;padding:0 9px 0 11px;display:flex;align-items:center;justify-content:space-between;background:#514b3d;border-bottom:1px solid #3f3a30;color:#fff}
.spellbook-modal__header>div{display:flex;align-items:baseline;gap:9px}.spellbook-modal__header strong{font:800 15px/1 Verdana,Tahoma,sans-serif}.spellbook-modal__header small{font:700 9px/1 Verdana,Tahoma,sans-serif;color:#d9cfb1;text-transform:uppercase}
.spellbook-modal__close{all:unset;box-sizing:border-box;width:17px;height:17px;display:grid;place-items:center;cursor:pointer;border-radius:2px;background:#e87916;border:1px solid #fff;color:#fff;font:900 13px/15px Arial,sans-serif;box-shadow:0 0 0 1px #a45c16}
.spellbook-modal__body{display:grid;grid-template-columns:384px 1fr;gap:10px;min-height:0;flex:1;padding:10px;background:#c9c5a3}
.spellbook-modal__list,.spellbook-modal__details{min-height:0;border-radius:10px;border:1px solid #a7a185;background:#ddd8b7;box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.spellbook-modal__list{display:flex;flex-direction:column;overflow:hidden}.spellbook-modal__list-title{height:28px;flex:0 0 28px;padding:0 9px;display:flex;align-items:center;justify-content:space-between;background:#5b5546;color:#f7efd5}.spellbook-modal__list-title strong{font:800 10px/1 Verdana,Tahoma,sans-serif}.spellbook-modal__list-title span{font:700 8px/1 Verdana,Tahoma,sans-serif;color:#d9cfb0}
.spellbook-modal__grid{min-height:0;flex:1;overflow-y:auto;padding:7px;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:72px;gap:5px;scrollbar-width:thin;scrollbar-color:#716b5a #c4bea0}
.spellbook-modal__spell{all:unset;box-sizing:border-box;position:relative;display:grid;grid-template-columns:36px 1fr;grid-template-rows:1fr auto;column-gap:5px;align-items:center;padding:5px;cursor:pointer;background:#c7c1a2;border:1px solid #aaa487;box-shadow:inset 1px 1px 0 rgba(255,255,255,.46);color:#514b3d}
.spellbook-modal__spell:hover{filter:brightness(1.05)}.spellbook-modal__spell.is-selected{border-color:#d9700f;box-shadow:inset 0 0 0 2px #f49b23,0 0 0 1px #fff0b5}.spellbook-modal__spell.is-locked{opacity:.5;filter:grayscale(.55)}
.spellbook-modal__spell-icon{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;background:#8f8973;border:1px solid #726c5a;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);overflow:hidden}.spellbook-modal__spell-icon img{display:block;max-width:32px;max-height:32px;width:auto;height:auto;object-fit:contain}.spellbook-modal__spell-icon b{font:900 9px/1 Arial,sans-serif;color:#fff4d5}
.spellbook-modal__spell-name{align-self:end;font:800 8px/1.12 Verdana,Tahoma,sans-serif;max-height:27px;overflow:hidden}.spellbook-modal__spell small{align-self:start;margin-top:3px;font:700 7px/1 Verdana,Tahoma,sans-serif;color:#7c735e}
.spellbook-modal__details{padding:12px 11px;display:flex;flex-direction:column}.spellbook-modal__details-head{display:flex;align-items:center;gap:9px;padding-bottom:10px;border-bottom:1px solid #b5ae8e}.spellbook-modal__details-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;background:#aba58b;border:1px solid #817a65;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);overflow:hidden}.spellbook-modal__details-icon img{display:block;max-width:44px;max-height:44px;width:auto;height:auto}.spellbook-modal__details-icon b{font:900 12px Arial,sans-serif;color:#fff4d5}.spellbook-modal__details-head strong{display:block;font:800 14px/1.15 Verdana,Tahoma,sans-serif;color:#4d4638}.spellbook-modal__details-head small{display:block;margin-top:4px;font:700 8px/1 Verdana,Tahoma,sans-serif;color:#817760;text-transform:uppercase}
.spellbook-modal__details-level{display:grid;gap:5px;margin-top:11px}.spellbook-modal__details-level span{display:flex;align-items:center;justify-content:space-between;padding:6px 7px;border:1px solid #bbb492;background:#e8e3c7;font:700 8px/1 Verdana,Tahoma,sans-serif}.spellbook-modal__details-level b{font-size:10px;color:#4b4436}.spellbook-modal__details p{margin:12px 1px 0;font:400 9px/1.45 Verdana,Tahoma,sans-serif;color:#625a49}.spellbook-modal__availability{margin-top:auto;padding:7px;text-align:center;border-radius:4px;font:800 9px/1 Verdana,Tahoma,sans-serif}.spellbook-modal__availability.is-unlocked{background:#d6e2b9;border:1px solid #8ea25f;color:#496121}.spellbook-modal__availability.is-locked{background:#dfc6b9;border:1px solid #a8715d;color:#763f31}.spellbook-modal__special{display:block;margin-top:6px;text-align:center;color:#7d6b4e;font:700 8px/1 Verdana,Tahoma,sans-serif}

/* R39 — manual spellbook -> spell-bar pointer drag/drop. */
.game-hud__slot--spell{cursor:default!important}
.game-hud__slot--spell.is-filled{cursor:grab!important}
.game-hud__slot--spell.is-filled:active,.spellbook-modal__spell:active{cursor:grabbing!important}
.game-hud__slot--spell.is-drop-target{box-shadow:inset 0 0 0 2px #ff9b1d,0 0 0 1px #fff0b8!important;filter:brightness(1.14)}
.game-hud__slot--spell.is-dragging,.spellbook-modal__spell.is-dragging{opacity:.55;filter:brightness(.9)}
.game-hud__slot--spell.is-not-implemented::before{content:"";position:absolute;right:1px;top:1px;width:4px;height:4px;border-radius:50%;background:#8f8670;z-index:5;pointer-events:none}
.dofus-spell-drag-ghost{position:fixed;z-index:2147483000;width:38px;height:38px;display:grid;place-items:center;pointer-events:none;border:1px solid #fff2ba;border-radius:4px;background:#8f8973;box-shadow:0 2px 7px rgba(0,0,0,.45),inset 0 0 0 1px #726c5a;overflow:hidden;opacity:.95}
.dofus-spell-drag-ghost img{display:block;max-width:34px;max-height:34px;width:auto;height:auto;object-fit:contain}.dofus-spell-drag-ghost b{color:#fff4d5;font:900 10px/1 Arial,sans-serif}
body.dofus-spell-dragging,body.dofus-spell-dragging *{cursor:grabbing!important}

/* R55 — functional Retro Zaap destination window. */
.zaap-window{
  /* Keep the Zaap dialog inside the map viewport instead of centering it
     across the map + bottom HUD. This lifts it clear of the Retro HUD. */
  position:absolute;left:0;top:0;width:100%;height:var(--retro-game-h);
  /* A normal modal z-index avoids Chromium/WebGL compositor artefacts (the
     solid black rectangle that could appear above the dialog). */
  z-index:3200;pointer-events:none;background:transparent;
  font-family:Tahoma,Verdana,Arial,sans-serif;color:#554f3f
}
.zaap-window[hidden]{display:none!important}
.zaap-window__window{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(680px,calc(100% - 22px));height:min(510px,calc(100% - 30px));display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;border:4px solid #fff;border-radius:20px;background:#c9c39f;box-shadow:0 0 0 1px #6f6858,0 8px 24px rgba(0,0,0,.42)}
.zaap-window__header{height:38px;flex:0 0 38px;display:flex;align-items:center;justify-content:space-between;padding:0 7px 0 9px;background:#554f40;color:#fff}
.zaap-window__header strong{font:800 20px/1 Tahoma,Verdana,sans-serif;text-shadow:0 1px #302c23}
.zaap-window__close{all:unset;box-sizing:border-box;width:22px;height:22px;display:grid;place-items:center;cursor:pointer;border:2px solid #fff;border-radius:2px;background:linear-gradient(#ff8619,#e85f08);box-shadow:0 0 0 1px #a6440b;color:#fff;font:900 18px/17px Arial,sans-serif}
.zaap-window__columns,.zaap-window__row{display:grid;grid-template-columns:minmax(0,1fr) 98px 90px 96px;align-items:stretch}
.zaap-window__columns{height:48px;flex:0 0 48px;background:#9b9277;color:#fff;border-bottom:1px solid #bdb698}
.zaap-window__columns span{display:grid;place-items:center;font:400 20px/1 Tahoma,Verdana,sans-serif;border-left:1px solid rgba(90,82,62,.22)}
.zaap-window__columns span:first-child{border-left:0}
.zaap-window__list{min-height:0;flex:1;overflow-y:auto;background:#c9c39f;scrollbar-color:#5c574b #e6e0c4;scrollbar-width:auto}
.zaap-window__list::-webkit-scrollbar{width:15px}.zaap-window__list::-webkit-scrollbar-track{background:#e6e0c4}.zaap-window__list::-webkit-scrollbar-thumb{background:#625d50;border:3px solid #e6e0c4;border-radius:8px}
.zaap-window__row{all:unset;box-sizing:border-box;width:100%;min-height:45px;display:grid;grid-template-columns:minmax(0,1fr) 98px 90px 96px;cursor:pointer;background:#c8c19e;color:#565042;border-bottom:1px solid rgba(102,94,72,.12)}
.zaap-window__row:nth-child(odd){background:#b8b18e}
.zaap-window__row:hover,.zaap-window__row:focus-visible{filter:brightness(1.08);outline:2px solid #f28a15;outline-offset:-2px}
.zaap-window__row.is-current{box-shadow:inset 4px 0 #e7770b}.zaap-window__row.is-saved .zaap-window__respawn{color:#e5770a;text-shadow:0 1px #fff;font-size:19px}
.zaap-window__row>span{min-width:0;border-left:1px solid rgba(98,91,69,.18);display:flex;align-items:center;justify-content:center}
.zaap-window__row>span:first-child{border-left:0}
.zaap-window__destination{padding:3px 10px!important;display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:center!important}
.zaap-window__destination small{display:block;font:400 15px/1.05 Tahoma,Verdana,sans-serif;color:#665f4c}.zaap-window__destination strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 19px/1.05 Tahoma,Verdana,sans-serif;color:#544e3e}
.zaap-window__coord,.zaap-window__cost{font:400 18px/1 Tahoma,Verdana,sans-serif;color:#5a5445}.zaap-window__respawn{font:800 16px/1 Arial,sans-serif}
.zaap-window__footer{min-height:55px;flex:0 0 auto;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:7px 12px;background:#9b9277;color:#fff}
.zaap-window__footer>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 18px/1.15 Tahoma,Verdana,sans-serif}
.zaap-window__actions{display:flex;gap:8px;flex:0 0 auto}.zaap-window__button,.zaap-window__save{min-width:110px;height:38px;padding:0 14px;border:2px solid #fff;border-radius:7px;cursor:pointer;background:linear-gradient(#ff8c19,#f25c00);box-shadow:0 0 0 1px #a64b0c;color:#fff;font:400 18px/1 Tahoma,Verdana,sans-serif;text-shadow:0 1px rgba(0,0,0,.3)}
.zaap-window__save{background:linear-gradient(#9ab94e,#718f2d);box-shadow:0 0 0 1px #52691f}.zaap-window__save:disabled{opacity:.5;cursor:default}
@media (max-width:700px){.zaap-window__columns,.zaap-window__row{grid-template-columns:minmax(0,1fr) 76px 54px 64px}.zaap-window__columns span{font-size:14px}.zaap-window__destination strong{font-size:15px}.zaap-window__destination small{font-size:12px}.zaap-window__coord,.zaap-window__cost{font-size:14px}.zaap-window__footer{align-items:stretch;flex-direction:column}.zaap-window__footer>span{width:100%;font-size:14px}.zaap-window__actions{width:100%;justify-content:flex-end}}

/* Spell-point progression */
.spellbook-modal__list-title span b{color:#fff3a4;font-size:9px}
.spellbook-modal__level-up{all:unset;box-sizing:border-box;margin-top:auto;padding:8px 9px;text-align:center;border-radius:5px;cursor:pointer;background:linear-gradient(#dce8bd,#c5d99e);border:1px solid #819b54;box-shadow:inset 0 1px 0 rgba(255,255,255,.65);color:#496121;font:800 9px/1 Verdana,Tahoma,sans-serif}
.spellbook-modal__level-up:hover:not(:disabled){filter:brightness(1.06)}
.spellbook-modal__level-up:active:not(:disabled){transform:translateY(1px)}
.spellbook-modal__level-up.is-disabled,.spellbook-modal__level-up:disabled{cursor:default;opacity:.58;filter:grayscale(.35);background:#cbc7ab;border-color:#aaa487;color:#6e6757}
.spellbook-modal__level-up+.spellbook-modal__availability{margin-top:7px}


/* R-CAC — permanent corps-à-corps action in the artwork space left of the 7x2 spell bar. */
.game-hud__weapon-attack{
  all:unset;box-sizing:border-box;position:absolute;left:7px;top:8px;width:40px;height:46px;
  display:grid;grid-template-rows:1fr 11px;place-items:center;cursor:pointer;border-radius:5px;
  background:linear-gradient(#8f865f,#655d43);border:1px solid #494330;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 1px 2px rgba(0,0,0,.28);color:#fff8cf;
  font-family:Verdana,Tahoma,sans-serif;text-shadow:0 1px 1px #342f23;z-index:3;
}
.game-hud__weapon-attack:hover:not(:disabled){filter:brightness(1.12)}
.game-hud__weapon-attack:active:not(:disabled){transform:translateY(1px)}
.game-hud__weapon-attack.is-selected{box-shadow:inset 0 0 0 2px #f5d652,0 0 3px #f09823}
.game-hud__weapon-attack:disabled{cursor:default;filter:grayscale(.75);opacity:.58}
.game-hud__weapon-attack-icon{font:700 22px/1 Arial,sans-serif;transform:translateY(2px)}
.game-hud__weapon-attack small{font:800 7px/1 Verdana,Tahoma,sans-serif;color:#fff4be}
.game-hud[data-mode="fight"] [data-hud-grid="spells"] .game-hud__weapon-attack{visibility:visible!important}


/* Fight tactical mode — compact Retro-style toggle over the bottom-right map corner. */
.fight-tactical-toggle{
  all:unset!important;box-sizing:border-box!important;position:absolute!important;right:12px!important;bottom:12px!important;
  z-index:1650!important;width:102px!important;height:31px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:6px!important;padding:3px 7px 3px 4px!important;pointer-events:auto!important;cursor:pointer!important;user-select:none!important;
  border:2px solid #eee9cf!important;border-radius:5px!important;background:linear-gradient(#5d5848,#403c31)!important;
  box-shadow:0 0 0 1px #26241d,inset 0 1px 0 rgba(255,255,255,.18),0 2px 4px rgba(0,0,0,.35)!important;
  color:#eee6c9!important;text-shadow:0 1px 0 #211f19!important;font:700 8px Verdana,Tahoma,sans-serif!important;letter-spacing:.03em!important;
}
.fight-tactical-toggle[hidden]{display:none!important}
.fight-tactical-toggle:hover{filter:brightness(1.09)}
.fight-tactical-toggle:active{transform:translateY(1px)}
.fight-tactical-toggle.is-active{background:linear-gradient(#aaa06c,#81784e)!important;color:#fffbe8!important;box-shadow:0 0 0 1px #27241a,inset 0 0 0 1px rgba(255,255,255,.32),0 2px 4px rgba(0,0,0,.35)!important}
.fight-tactical-toggle__icon{position:relative;flex:0 0 23px;width:23px;height:23px;border-radius:3px;background:#292929;border:1px solid #d9d3bb;box-shadow:inset 0 0 0 1px rgba(0,0,0,.45)}
.fight-tactical-toggle__icon::before,.fight-tactical-toggle__icon::after,.fight-tactical-toggle__icon i::before,.fight-tactical-toggle__icon i::after{content:"";position:absolute;width:8px;height:5px;transform:rotate(30deg) skewX(-30deg);border:1px solid rgba(247,242,224,.9);background:#a69d78}
.fight-tactical-toggle__icon::before{left:3px;top:4px}.fight-tactical-toggle__icon::after{left:11px;top:8px}.fight-tactical-toggle__icon i::before{left:3px;top:12px}.fight-tactical-toggle__icon i::after{left:11px;top:16px;background:#aaa}
.fight-tactical-toggle>b{margin-left:auto;min-width:19px;text-align:right;color:#f5b33c;font:900 8px Verdana,Tahoma,sans-serif!important}
.fight-tactical-toggle.is-active>b{color:#d8ff8f}

/* Tactical cell semantics — movement and LoS are independent properties. */
.fight-tactical-toggle__icon::before{background:#a69d78!important}
.fight-tactical-toggle__icon::after{background:#171717!important}
.fight-tactical-toggle__icon i::before{background:#6f624a!important}
.fight-tactical-toggle__icon i::after{background:#b6b6b6!important}



/* IdleFus — expandable Plus menu (Métiers / Héros). */
.game-hud__more-menu{
  position:absolute;right:4px;top:-32px;z-index:42;display:flex;align-items:center;gap:5px;
  padding:3px 4px;border:1px solid rgba(74,59,36,.9);border-radius:6px;
  background:linear-gradient(180deg,rgba(105,94,65,.97),rgba(66,59,43,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 2px 5px rgba(0,0,0,.32);
}
.game-hud__more-menu[hidden]{display:none!important}
.game-hud__more-option{
  all:unset!important;box-sizing:border-box!important;width:70px!important;height:25px!important;
  display:flex!important;align-items:center!important;gap:3px!important;padding:1px 5px 1px 2px!important;
  cursor:pointer!important;border:1px solid #7f4517!important;border-radius:5px!important;
  background:linear-gradient(180deg,#ff9b38 0%,#f27617 55%,#d85a0b 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,241,195,.8),0 1px 1px rgba(0,0,0,.25)!important;
  color:#fff2cf!important;text-shadow:0 1px 0 rgba(84,43,10,.85)!important;
  font:800 7px/1 Verdana,Tahoma,sans-serif!important;
}
.game-hud__more-option:hover{filter:brightness(1.08)}
.game-hud__more-option:active{transform:translateY(1px)}
.game-hud__more-option-icon{width:21px;height:21px;flex:0 0 21px;display:grid;place-items:center;pointer-events:none}
.game-hud__more-option-svg{display:block;width:22px!important;height:22px!important;max-width:22px;max-height:22px;overflow:visible;--ns-stroke:1}
.game-hud__more-option-label{min-width:0;white-space:nowrap;pointer-events:none}

/* IdleFus — Héros party selector. */
.hero-party-modal{position:fixed;inset:0;z-index:120000;display:grid;place-items:center;font-family:Arial,Helvetica,sans-serif;color:#4b3d27}
.hero-party-modal[hidden]{display:none!important}
.hero-party-modal__backdrop{position:absolute;inset:0;background:rgba(12,17,20,.62)}
.hero-party-modal__window{position:relative;width:min(610px,calc(100vw - 30px));max-height:min(650px,calc(100vh - 30px));overflow:auto;border:2px solid #7a653f;border-radius:13px;background:linear-gradient(#f5ebc7,#e4d19b);box-shadow:0 18px 60px rgba(0,0,0,.55),inset 0 0 0 3px rgba(255,255,255,.35);padding:15px}
.hero-party-modal__header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(89,70,39,.32);padding:2px 4px 11px}
.hero-party-modal__header small{display:block;font-size:9px;letter-spacing:.16em;color:#9c6616;font-weight:800}
.hero-party-modal__header h2{margin:1px 0 0;font-family:Georgia,serif;font-size:29px;color:#44351f}
.hero-party-modal__header button{width:33px;height:33px;border-radius:7px;border:1px solid #6c5633;background:#433722;color:#f8e9bd;font-size:23px;line-height:1;cursor:pointer}
.hero-party-modal__leader,.hero-party-modal__row{display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:9px;border:1px solid rgba(95,74,42,.33);border-radius:9px;background:rgba(255,255,255,.28);padding:9px 11px}
.hero-party-modal__leader{margin-top:12px;grid-template-columns:auto auto 1fr auto;background:rgba(99,120,57,.12);border-color:rgba(86,108,45,.5)}
.hero-party-modal__leader-badge{font-size:8px;font-weight:900;letter-spacing:.09em;background:#70843c;color:#fff9d9;border-radius:5px;padding:4px 6px}
.hero-party-modal__leader strong,.hero-party-modal__identity strong{display:block;font-family:Georgia,serif;font-size:16px;color:#44351f}
.hero-party-modal__leader small,.hero-party-modal__identity small{display:block;margin-top:2px;font-size:10px;color:#78684e}
.hero-party-modal__leader em{font-style:normal;font-size:9px;color:#6d7f39;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.hero-party-modal__portrait{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(76,59,34,.7);background:linear-gradient(135deg,var(--c1,#d8b16a) 0 50%,var(--c2,#7289a7) 50%);color:#fff8dd;text-shadow:0 1px 2px #000;font-family:Georgia,serif;font-weight:900;font-size:18px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.hero-party-modal__hint{font-size:11px;line-height:1.45;margin:11px 3px;color:#67583f}
.hero-party-modal__list{display:grid;gap:7px}
.hero-party-modal__row{position:relative;grid-template-columns:auto auto minmax(100px,1fr) auto auto;cursor:pointer;transition:background .12s,border-color .12s}
.hero-party-modal__row:hover{background:rgba(255,255,255,.45)}
.hero-party-modal__row.is-selected{background:rgba(104,132,55,.16);border-color:#758c42}
.hero-party-modal__row input{position:absolute;opacity:0;pointer-events:none}
.hero-party-modal__check{width:25px;height:25px;border-radius:5px;border:2px solid #765e36;background:#e9dbb3;display:grid;place-items:center}
.hero-party-modal__row.is-selected .hero-party-modal__check{background:#70883c;border-color:#52672a}
.hero-party-modal__row.is-selected .hero-party-modal__check::after{content:'✓';font-weight:900;color:#fffbdc;font-size:18px;line-height:1}
.hero-party-modal__state{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#8a795b;font-weight:800}
.hero-party-modal__row.is-selected .hero-party-modal__state{color:#5b712f}
.hero-party-modal__empty{padding:20px;text-align:center;border:1px dashed rgba(89,70,39,.35);border-radius:9px;color:#7d6d53;font-size:12px}
.hero-party-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(89,70,39,.3)}
.hero-party-modal__footer span{font-size:10px;color:#6d5d42}
.hero-party-modal__footer button{border:1px solid #9a5b0b;border-radius:8px;padding:9px 18px;background:linear-gradient(#ffad45,#e87709);color:#fff;font-weight:800;text-shadow:0 1px rgba(0,0,0,.35);cursor:pointer}
@media (max-width:560px){.hero-party-modal__leader{grid-template-columns:auto auto 1fr}.hero-party-modal__row{grid-template-columns:auto auto 1fr}.hero-party-modal__leader em,.hero-party-modal__state,.hero-party-modal__actions{grid-column:2/-1}.hero-party-modal__footer{align-items:stretch;flex-direction:column}.hero-party-modal__footer button{width:100%}}

/* IdleFus Héros rewards — per-character XP + personal loot */
.fight-result__window{width:min(94%,980px);max-height:min(92%,790px)}
.fight-result__content{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:8px 18px 18px;display:flex;flex-direction:column;gap:12px}
.fight-result__party,.fight-result__defeated{border-radius:14px;overflow:hidden;border:1px solid rgba(98,80,55,.16);background:rgba(255,255,255,.24)}
.fight-result__party[hidden],.fight-result__defeated[hidden],.fight-result__columns[hidden]{display:none!important}
.fight-result__section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;background:linear-gradient(180deg,rgba(88,75,55,.97),rgba(70,59,43,.97));color:#fff0ce}
.fight-result__section-head>div{min-width:0}.fight-result__section-head small{display:block;margin-bottom:2px;font-size:9px;font-weight:800;letter-spacing:.12em;color:#d7bf84}.fight-result__section-head h3{margin:0;font-size:15px;line-height:1.1}.fight-result__section-head>span{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.11);font-size:11px;font-weight:800}
.fight-result__section-head--compact{padding-block:8px}
.fight-result__party-list{display:flex;flex-direction:column;gap:8px;padding:10px;min-height:0}
.fight-result__header,.fight-result__hero,.fight-result__footer{flex:0 0 auto}
.fight-result__reward-row{display:grid;grid-template-columns:48px minmax(240px,1fr) minmax(245px,.92fr);align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(248,244,224,.42));border:1px solid rgba(104,84,55,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.fight-result__reward-row.is-leader{border-color:rgba(188,137,43,.38);box-shadow:inset 3px 0 0 #b8892f,inset 0 1px 0 rgba(255,255,255,.6)}
.fight-result__reward-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(180deg,#6ea848,#487c31);border:2px solid rgba(255,255,255,.86);box-shadow:0 0 0 1px rgba(91,75,51,.35);color:white;font-size:15px;font-weight:900}
.fight-result__reward-progress{min-width:0;display:flex;flex-direction:column;gap:5px}.fight-result__reward-name{display:flex;align-items:baseline;gap:8px;min-width:0}.fight-result__reward-name strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;color:#41382c}.fight-result__reward-name span{flex:0 0 auto;font-size:10px;color:#81735c;text-transform:uppercase;font-weight:800;letter-spacing:.03em}
.fight-result__reward-xp-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.fight-result__reward-xp-line b{color:#5c8c35;font-size:13px;white-space:nowrap}.fight-result__reward-xp-line small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#796d58;font-size:10px;text-align:right}
.fight-result__reward-xp-track{height:10px;border-radius:999px;background:#5f5749;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}.fight-result__reward-xp-track i{display:block;height:100%;min-width:2px;border-radius:999px;background:linear-gradient(90deg,#67b13d,#9bc44b);box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
.fight-result__reward-loot{min-width:0;padding-left:12px;border-left:1px solid rgba(100,82,55,.13)}.fight-result__reward-loot-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.fight-result__reward-loot-top>span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#746344}.fight-result__reward-loot-top small{font-size:10px;font-weight:800;color:#9a6a22}
.fight-result__reward-loot-preview{display:flex;align-items:center;gap:6px;min-height:34px}.fight-result__reward-loot-chip{height:32px;min-width:47px;max-width:72px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:4px;border-radius:9px;background:#e6dcc0;border:1px solid rgba(112,91,58,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}.fight-result__reward-loot-chip i{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:linear-gradient(180deg,#a38a50,#76613a);color:#fff7dd;font:900 8px Arial,sans-serif;font-style:normal}.fight-result__reward-loot-chip b{font-size:10px;color:#665536}.fight-result__reward-loot-empty{font-size:10px;color:#948875;font-style:italic}
.fight-result__reward-loot-more{all:unset;box-sizing:border-box;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;border-radius:9px;background:linear-gradient(180deg,#81735c,#665945);border:1px solid rgba(63,49,31,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);color:#fff3d8;font:900 18px/1 Arial,sans-serif}.fight-result__reward-loot-more:hover{filter:brightness(1.08)}
.fight-result__defeated-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px;padding:8px}.fight-result__defeated-list .fight-result__row{grid-template-columns:34px 1fr 82px;gap:7px;padding:7px}.fight-result__defeated-list .fight-result__portrait{width:34px;height:34px;border-radius:9px;font-size:12px}.fight-result__defeated-list .fight-result__identity strong{font-size:12px}.fight-result__defeated-list .fight-result__identity span{font-size:10px}.fight-result__defeated-list .fight-result__life-bar{width:82px;height:8px}.fight-result__defeated-list .fight-result__life small{font-size:9px}
.fight-result__columns{padding:0;min-height:0}.fight-result__footer{padding-top:2px}

.fight-result__loot-dialog{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:26px}.fight-result__loot-dialog[hidden]{display:none!important}.fight-result__loot-dialog-backdrop{position:absolute;inset:0;border:0;background:rgba(31,25,18,.58);backdrop-filter:blur(1px);cursor:pointer}.fight-result__loot-dialog-card{position:relative;width:min(92%,620px);max-height:min(78%,520px);display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#e1d8b8,#cbc09a);border:2px solid rgba(255,255,255,.88);box-shadow:0 18px 40px rgba(0,0,0,.35),0 0 0 1px rgba(75,58,35,.5)}.fight-result__loot-dialog-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:linear-gradient(180deg,#675a46,#514535);color:#fff1d2}.fight-result__loot-dialog-card>header small{display:block;color:#d9c28c;font-size:8px;font-weight:900;letter-spacing:.12em}.fight-result__loot-dialog-card>header h3{margin:2px 0 0;font-size:16px}.fight-result__loot-dialog-card>header button{all:unset;width:28px;height:28px;display:grid;place-items:center;cursor:pointer;border-radius:8px;background:#e57716;border:1px solid rgba(255,255,255,.7);color:white;font:900 18px/1 Arial,sans-serif}.fight-result__loot-dialog-meta{padding:8px 12px;background:rgba(255,255,255,.28);border-bottom:1px solid rgba(98,80,55,.14);font-size:11px;color:#6f5f45}.fight-result__loot-dialog-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;padding:12px;overflow:auto}.fight-result__loot-dialog-list .fight-result__loot-item{min-width:0;max-width:none;background:rgba(255,255,255,.55)}

@media (max-width:820px){.fight-result__reward-row{grid-template-columns:42px 1fr}.fight-result__reward-avatar{width:40px;height:40px}.fight-result__reward-loot{grid-column:1/-1;padding:8px 0 0;border-left:0;border-top:1px solid rgba(100,82,55,.13)}.fight-result__reward-xp-line{align-items:flex-start;flex-direction:column;gap:2px}.fight-result__reward-xp-line small{text-align:left;max-width:100%}.fight-result__defeated-list{grid-template-columns:1fr}.fight-result__hero{grid-template-columns:1fr}.fight-result__loot-dialog{padding:14px}}

/* IdleFus fight result — compact 8-Héros layout + reliable wheel scrolling */
.fight-result__window{
  width:min(95%,980px);
  height:min(92%,820px);
  max-height:820px;
}
.fight-result__header{padding:9px 14px 8px}
.fight-result__header h2{font-size:16px}
.fight-result__subtitle{margin-top:3px;font-size:10px}
.fight-result__close{width:28px;height:28px;font-size:18px}
.fight-result__hero{grid-template-columns:1fr 160px;gap:9px;padding:9px 14px 6px}
.fight-result__hero-main{gap:3px;padding:8px 11px;border-radius:10px}
.fight-result__badge{padding:3px 8px;font-size:9px}
.fight-result__hero-main strong{font-size:20px}
.fight-result__hero-main small{font-size:10px}
.fight-result__reward-card{gap:2px;padding:8px 11px;border-radius:10px}
.fight-result__reward-card span{font-size:9px}
.fight-result__reward-card strong{font-size:21px}
.fight-result__reward-card small{font-size:10px}
.fight-result__content{
  padding:5px 14px 10px;
  gap:7px;
  overflow-y:scroll;
  scrollbar-width:thin;
  scrollbar-color:#88765a rgba(85,73,56,.14);
}
.fight-result__content::-webkit-scrollbar{width:10px}
.fight-result__content::-webkit-scrollbar-track{background:rgba(85,73,56,.12);border-radius:999px}
.fight-result__content::-webkit-scrollbar-thumb{background:#88765a;border:2px solid #d6ccaa;border-radius:999px}
.fight-result__content::-webkit-scrollbar-thumb:hover{background:#6f6049}
.fight-result__party,.fight-result__defeated{border-radius:10px}
.fight-result__section-head{gap:10px;padding:6px 10px}
.fight-result__section-head small{margin-bottom:1px;font-size:7px}
.fight-result__section-head h3{font-size:12px}
.fight-result__section-head>span{padding:3px 7px;font-size:9px}
.fight-result__section-head--compact{padding-block:5px}
.fight-result__party-list{gap:4px;padding:5px}
.fight-result__reward-row{
  grid-template-columns:36px minmax(225px,1fr) minmax(230px,.9fr);
  gap:7px;
  min-height:49px;
  padding:5px 7px;
  border-radius:8px;
}
.fight-result__reward-avatar{width:34px;height:34px;border-radius:9px;font-size:11px}
.fight-result__reward-progress{gap:2px}
.fight-result__reward-name{gap:5px;line-height:1}
.fight-result__reward-name strong{font-size:12px}
.fight-result__reward-name span{font-size:8px}
.fight-result__reward-xp-line{gap:6px;line-height:1}
.fight-result__reward-xp-line b{font-size:10px}
.fight-result__reward-xp-line small{font-size:8px}
.fight-result__reward-xp-track{height:6px}
.fight-result__reward-loot{padding-left:7px}
.fight-result__reward-loot-top{margin-bottom:2px}
.fight-result__reward-loot-top>span{font-size:8px}
.fight-result__reward-loot-top small{font-size:8px}
.fight-result__reward-loot-preview{gap:4px;min-height:25px}
.fight-result__reward-loot-chip{height:24px;min-width:39px;max-width:58px;padding:0 4px;gap:3px;border-radius:7px}
.fight-result__reward-loot-chip i{width:16px;height:16px;border-radius:4px;font-size:7px}
.fight-result__reward-loot-chip b{font-size:8px}
.fight-result__reward-loot-empty{font-size:8px}
.fight-result__reward-loot-more{width:24px;height:24px;border-radius:7px;font-size:15px}
.fight-result__defeated-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:4px;padding:5px}
.fight-result__defeated-list .fight-result__row{grid-template-columns:28px 1fr 68px;gap:5px;padding:4px 5px;border-radius:7px}
.fight-result__defeated-list .fight-result__portrait{width:28px;height:28px;border-radius:7px;font-size:10px}
.fight-result__defeated-list .fight-result__identity strong{font-size:10px}
.fight-result__defeated-list .fight-result__identity span{font-size:8px}
.fight-result__defeated-list .fight-result__life{gap:2px}
.fight-result__defeated-list .fight-result__life-bar{width:68px;height:6px}
.fight-result__defeated-list .fight-result__life small{font-size:7px}
.fight-result__footer{padding:3px 14px 10px}
.fight-result__button{min-width:130px;height:36px;padding:0 14px;border-radius:0 0 13px 13px;font-size:15px}

@media (max-width:820px){
  .fight-result__window{height:min(94%,760px)}
  .fight-result__hero{grid-template-columns:1fr 140px}
  .fight-result__reward-row{grid-template-columns:34px 1fr;min-height:48px}
  .fight-result__reward-avatar{width:32px;height:32px}
  .fight-result__reward-loot{grid-column:1/-1;padding:4px 0 0;border-left:0;border-top:1px solid rgba(100,82,55,.13)}
  .fight-result__reward-xp-line{flex-direction:row;align-items:baseline}
  .fight-result__reward-xp-line small{text-align:right;max-width:65%}
}


.hero-party-modal__actions{display:flex;align-items:center;gap:4px}
.hero-party-modal__actions button{min-width:36px;height:32px;padding:2px 6px;border:1px solid #8a6c3d;border-radius:6px;background:linear-gradient(#fff4cf,#d6c18b);color:#4c3c24;font-weight:900;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.65)}
.hero-party-modal__actions button:hover{background:linear-gradient(#fff9e7,#e7cf94);border-color:#6c522d}
.hero-party-modal__actions button small{display:none;font-size:8px;font-weight:800}

/* Secondary-character management opened from the Héros party window. */
.hero-manager-modal{position:fixed;inset:0;z-index:121000;display:grid;place-items:center;font-family:Arial,Helvetica,sans-serif;color:#4b3d27}
.hero-manager-modal[hidden]{display:none!important}
.hero-manager-modal__backdrop{position:absolute;inset:0;background:rgba(10,13,15,.72)}
.hero-manager-modal__window{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(900px,calc(100vw - 28px));height:min(720px,calc(100vh - 28px));overflow:hidden;border:2px solid #765f39;border-radius:14px;background:linear-gradient(#f6edce,#dfcc96);box-shadow:0 22px 70px rgba(0,0,0,.6),inset 0 0 0 3px rgba(255,255,255,.35)}
.hero-manager-modal__header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 11px;border-bottom:1px solid rgba(86,65,33,.3)}
.hero-manager-modal__identity small{display:block;font-size:9px;font-weight:900;letter-spacing:.16em;color:#9b6718}
.hero-manager-modal__identity h2{display:inline;margin:1px 9px 0 0;font:700 26px/1 Georgia,serif;color:#43351f}
.hero-manager-modal__identity span{font-size:11px;color:#776548}
.hero-manager-modal__header>button{width:34px;height:34px;border:1px solid #654d2d;border-radius:8px;background:#463823;color:#f7e9bf;font-size:22px;font-weight:800;cursor:pointer}
.hero-manager-modal__tabs{display:flex;gap:6px;padding:8px 16px;background:rgba(88,67,34,.08);border-bottom:1px solid rgba(86,65,33,.25)}
.hero-manager-modal__tabs button{min-height:35px;padding:6px 14px;border:1px solid #92784c;border-radius:7px;background:#e5d5aa;color:#57462d;font-weight:800;cursor:pointer}
.hero-manager-modal__tabs button.is-active{border-color:#9d5b0c;background:linear-gradient(#ffb24d,#e98010);color:white;text-shadow:0 1px rgba(0,0,0,.35)}
.hero-manager-modal__content{min-height:0;overflow:auto;padding:13px 16px;scrollbar-gutter:stable}
.hero-manager-modal__content::-webkit-scrollbar{width:11px}.hero-manager-modal__content::-webkit-scrollbar-thumb{background:#8b7651;border:2px solid #e5d5aa;border-radius:8px}.hero-manager-modal__content::-webkit-scrollbar-track{background:#c8b98d}
.hero-manager-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 16px;border-top:1px solid rgba(86,65,33,.28);background:rgba(255,255,255,.14)}
.hero-manager-modal__footer span{font-size:10px;color:#77684e}
.hero-manager-modal__footer button{border:1px solid #9a5b0b;border-radius:8px;padding:8px 18px;background:linear-gradient(#ffad45,#e87709);color:#fff;font-weight:800;cursor:pointer}
.hero-manager-modal__loading,.hero-manager-modal__empty{display:grid;place-items:center;min-height:120px;border:1px dashed rgba(82,61,31,.35);border-radius:10px;color:#76674d;font-size:12px}
.hero-manager-section-title{display:flex;align-items:center;justify-content:space-between;margin:2px 0 7px;padding:0 2px}.hero-manager-section-title h3{margin:0;font:700 16px Georgia,serif}.hero-manager-section-title span{font-size:10px;color:#7b6a4c}
.hero-manager-inventory{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(360px,1.15fr);gap:14px}
.hero-manager-inventory>section{min-width:0}
.hero-manager-equip{display:grid;gap:5px}
.hero-manager-equip__slot{display:grid;grid-template-columns:78px 34px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:43px;padding:5px 7px;border:1px solid rgba(100,77,40,.28);border-radius:7px;background:rgba(255,255,255,.24)}
.hero-manager-equip__slot>span{font-size:10px;font-weight:800;text-transform:uppercase;color:#806d4e}.hero-manager-equip__slot>em{grid-column:2/-1;font-size:10px;color:#98896d;font-style:normal}.hero-manager-equip__slot img{width:32px;height:32px;object-fit:contain}.hero-manager-equip__slot div{min-width:0}.hero-manager-equip__slot strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.hero-manager-equip__slot small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#76684f}.hero-manager-equip__slot button,.hero-manager-item>button,.hero-manager-spell>button{border:1px solid #795d32;border-radius:6px;padding:6px 8px;background:#f1dfaa;color:#4e3d24;font-size:10px;font-weight:800;cursor:pointer}.hero-manager-equip__slot button:hover,.hero-manager-item>button:hover,.hero-manager-spell>button:hover{background:#fff0bd}.hero-manager-item>button:disabled,.hero-manager-spell>button:disabled{opacity:.45;cursor:default}
.hero-manager-items{display:grid;gap:5px}
.hero-manager-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:55px;padding:6px 8px;border:1px solid rgba(100,77,40,.28);border-radius:8px;background:rgba(255,255,255,.3)}
.hero-manager-item img{width:40px;height:40px;object-fit:contain}.hero-manager-item__main{min-width:0}.hero-manager-item__main strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-manager-item__main small{display:block;font-size:9px;color:#78694f}.hero-manager-item__main p{margin:3px 0 0;font-size:9px;color:#66704b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-manager-points{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:9px 12px;margin-bottom:9px;border:1px solid rgba(96,75,40,.35);border-radius:9px;background:rgba(102,129,57,.12)}.hero-manager-points span{font-size:11px;font-weight:800}.hero-manager-points strong{grid-row:1/3;grid-column:2;font:700 25px Georgia,serif;color:#59742e}.hero-manager-points small{font-size:9px;color:#796a4e}
.hero-manager-spell-list{display:grid;gap:6px}.hero-manager-spell{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 9px;border:1px solid rgba(98,75,39,.3);border-radius:8px;background:rgba(255,255,255,.28)}.hero-manager-spell.is-locked{opacity:.58}.hero-manager-spell__icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(#f3c75e,#c86f1c);border:2px solid #765023;color:#fff;font:700 16px Georgia,serif;text-shadow:0 1px #000}.hero-manager-spell div{min-width:0}.hero-manager-spell strong{display:block;font-size:12px}.hero-manager-spell small{display:block;font-size:9px;color:#78694e}.hero-manager-spell p{margin:3px 0 0;font-size:9px;color:#665943;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-manager-stats__summary{display:grid;grid-template-columns:100px 140px 150px minmax(220px,1fr);gap:7px;margin-bottom:10px}.hero-manager-stats__summary>div{padding:8px 10px;border:1px solid rgba(94,72,38,.3);border-radius:8px;background:rgba(255,255,255,.28)}.hero-manager-stats__summary span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#816f50}.hero-manager-stats__summary strong{font:700 18px Georgia,serif}.hero-manager-stats__xp{display:grid;grid-template-columns:1fr auto;align-items:center}.hero-manager-stats__xp i{grid-column:1/-1;height:7px;border-radius:6px;background:#655c49;overflow:hidden}.hero-manager-stats__xp i b{display:block;height:100%;background:#70aa3a}.hero-manager-stats__xp small{grid-column:1/-1;font-size:8px;color:#716249;margin-top:3px}
.hero-manager-stat-list{display:grid;gap:6px}.hero-manager-stat{display:grid;grid-template-columns:minmax(0,1fr) 70px 190px;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(96,74,40,.3);border-radius:8px;background:rgba(255,255,255,.28)}.hero-manager-stat>div:first-child strong{display:block;font-size:12px}.hero-manager-stat>div:first-child small{display:block;font-size:9px;color:#77684e}.hero-manager-stat>b{text-align:center;font:700 20px Georgia,serif;color:#4e4029}.hero-manager-stat__actions{display:grid;grid-template-columns:65px 42px 54px;gap:5px}.hero-manager-stat__actions input{min-width:0;height:30px;border:1px solid #8b744d;border-radius:6px;background:#fff8df;padding:0 7px;color:#4e402a}.hero-manager-stat__actions button{border:1px solid #765a32;border-radius:6px;background:#e8d39b;color:#4a3a22;font-size:10px;font-weight:900;cursor:pointer}.hero-manager-stat__actions button:disabled{opacity:.45;cursor:default}
@media (max-width:760px){.hero-manager-modal__window{height:calc(100vh - 18px);width:calc(100vw - 18px)}.hero-manager-inventory{grid-template-columns:1fr}.hero-manager-stats__summary{grid-template-columns:repeat(2,1fr)}.hero-manager-stat{grid-template-columns:minmax(0,1fr) 50px}.hero-manager-stat__actions{grid-column:1/-1;grid-template-columns:1fr 44px 58px}.hero-manager-modal__tabs button{flex:1;padding:6px 5px;font-size:10px}.hero-manager-modal__footer span{display:none}}


/* Héros management — reuse the exact Retro HUD inventory / spells / stats artwork. */
.hero-retro-hud-icon{position:relative;display:block;width:32px;height:32px;flex:0 0 32px;overflow:visible;pointer-events:none}
.hero-retro-hud-icon__bg{position:absolute;left:4px;top:4px;width:24px;height:24px;display:block;pointer-events:none}
.hero-retro-hud-icon__bg svg{display:block;width:24px;height:24px;overflow:visible}
.hero-retro-hud-icon__bg--down{display:none}
.hero-retro-hud-icon__glyph{position:absolute;left:50%;top:50%;width:32px!important;height:32px!important;max-width:32px;max-height:32px;transform:translate(-50%,-50%) scale(.72);transform-origin:center;overflow:visible;pointer-events:none;--ns-stroke:1}
.hero-party-modal__actions button:active .hero-retro-hud-icon__bg--up,.hero-manager-modal__tabs button:active .hero-retro-hud-icon__bg--up{display:none}
.hero-party-modal__actions button:active .hero-retro-hud-icon__bg--down,.hero-manager-modal__tabs button:active .hero-retro-hud-icon__bg--down{display:block}
.hero-party-modal__actions button:active .hero-retro-hud-icon__glyph,.hero-manager-modal__tabs button:active .hero-retro-hud-icon__glyph{transform:translate(calc(-50% + 1px),calc(-50% + 1px)) scale(.72)}

.hero-party-modal__actions button{min-width:34px;width:34px;height:34px;padding:1px!important;display:grid;place-items:center;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:50%!important}
.hero-party-modal__actions button:hover{background:transparent!important;border-color:transparent!important;filter:brightness(1.08)}
.hero-party-modal__actions button:hover .hero-retro-hud-icon__glyph{transform:translate(-50%,-50%) scale(.77)}

.hero-manager-modal__tabs button{display:flex;align-items:center;justify-content:center;gap:7px;padding:4px 12px 4px 7px}
.hero-manager-modal__tabs .hero-manager-modal__tab-icon{width:30px;height:30px;flex-basis:30px;margin:-2px 0}
.hero-manager-modal__tabs .hero-manager-modal__tab-icon .hero-retro-hud-icon__bg{left:3px;top:3px}
.hero-manager-modal__tabs .hero-manager-modal__tab-icon .hero-retro-hud-icon__glyph{transform:translate(-50%,-50%) scale(.68)}
.hero-manager-modal__tabs button:hover .hero-manager-modal__tab-icon .hero-retro-hud-icon__glyph,.hero-manager-modal__tabs button.is-active .hero-manager-modal__tab-icon .hero-retro-hud-icon__glyph{transform:translate(-50%,-50%) scale(.73)}
@media (max-width:760px){.hero-manager-modal__tabs button{gap:3px;padding:4px 4px}.hero-manager-modal__tabs .hero-manager-modal__tab-icon{width:28px;height:28px;flex-basis:28px}.hero-manager-modal__tabs button span:last-child{font-size:9px}}

/* -------------------------------------------------------------------------
   Retro social / friends window
   ------------------------------------------------------------------------- */
.friends-modal{position:absolute;left:102px;top:-378px;width:505px;height:365px;z-index:64;color:#4e4a39;font-family:Verdana,Tahoma,Arial,sans-serif}
.friends-modal[hidden]{display:none!important}
.friends-modal__window{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;background:#c8c39d;border:1px solid #f5f2db;border-radius:8px;box-shadow:0 0 0 1px #6e674d,0 5px 18px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.28)}
.friends-modal__header{height:29px;min-height:29px;padding:0 6px 0 8px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#58523f,#454132);border-bottom:1px solid #302d25;color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.12)}
.friends-modal__header strong{font:700 13px/1 Verdana,Tahoma,sans-serif;color:#fff}
.friends-modal__close{all:unset;box-sizing:border-box;width:15px;height:15px;display:grid;place-items:center;cursor:pointer;border-radius:2px;background:#e66f12;border:1px solid #ffe8bd;box-shadow:0 0 0 1px #a24c0d;color:#fff;font:900 12px/12px Arial,sans-serif}
.friends-modal__close:hover{filter:brightness(1.08)}
.friends-modal__body{height:336px;min-height:0;display:grid;grid-template-rows:43px 23px 20px minmax(0,1fr) 28px;padding:8px 8px 5px;background:linear-gradient(180deg,#d6d1ad,#c6c097)}
.friends-modal__add{display:grid;grid-template-columns:126px 1fr;align-items:center;gap:8px;border-bottom:1px solid rgba(101,95,69,.22)}
.friends-modal__add label{font:400 11px/1 Verdana,Tahoma,sans-serif;color:#69644f}
.friends-modal__add>div{display:grid;grid-template-columns:1fr 79px;gap:9px;align-items:center}
.friends-modal__add input{box-sizing:border-box;width:100%;height:20px;padding:1px 6px;border:1px solid #aaa582;background:#e4e0c1;box-shadow:inset 0 1px 2px rgba(66,59,38,.18);outline:none;color:#4c4939;font:400 10px/18px Verdana,Tahoma,sans-serif}
.friends-modal__add input:focus{border-color:#8f8964;background:#ece8ca}
.friends-modal__add button{all:unset;box-sizing:border-box;height:20px;display:grid;place-items:center;cursor:pointer;border-radius:11px;background:linear-gradient(180deg,#f58a22,#e36f0c);border:1px solid #fff4d5;box-shadow:0 0 0 1px #ab5b15,inset 0 1px rgba(255,255,255,.34);color:#fff;font:700 9px/1 Verdana,Tahoma,sans-serif;text-shadow:0 1px rgba(100,45,0,.45)}
.friends-modal__add button:hover{filter:brightness(1.06)}
.friends-modal__add button:disabled,.friends-modal__add input:disabled{opacity:.62;cursor:default}
.friends-modal__tabs{height:23px;display:flex;align-items:end;padding-left:0;border-bottom:1px solid #7f795d}
.friends-modal__tabs button{all:unset;box-sizing:border-box;min-width:98px;height:19px;padding:0 12px;display:grid;place-items:center;cursor:pointer;border:1px solid #aaa483;border-bottom:0;background:#b8b28e;color:#5a5542;font:700 9px/1 Verdana,Tahoma,sans-serif;text-align:center}
.friends-modal__tabs button+button{margin-left:1px}
.friends-modal__tabs button.is-active{height:20px;background:linear-gradient(180deg,#4c4838,#373429);border-color:#5d5845;color:#f1ead0;box-shadow:inset 0 1px rgba(255,255,255,.12)}
.friends-modal__list-title{height:20px;display:flex;align-items:center;justify-content:flex-end;padding-right:5px;color:#5d5846;font:400 9px/1 Verdana,Tahoma,sans-serif}
.friends-modal__columns{min-height:0;display:grid;grid-template-columns:338px 1fr;gap:5px;border-top:1px solid #969070;border-bottom:1px solid #a09a78;background:#bdb790}
.friends-modal__column{min-width:0;display:grid;grid-template-rows:18px 19px minmax(0,1fr);background:#c3bd96}
.friends-modal__column--online{border-right:1px solid #8f896a}
.friends-modal__section-label{height:18px;display:flex;align-items:center;padding:0 5px;color:#6a654e;font:400 9px/1 Verdana,Tahoma,sans-serif;border-bottom:1px solid rgba(113,106,79,.2)}
.friends-modal__column--offline .friends-modal__section-label{justify-content:center}
.friends-modal__table-head{height:19px;display:grid;grid-template-columns:1fr 53px;align-items:center;background:#54503e;color:#eee8ce;border-top:1px solid #454233;border-bottom:1px solid #858066;font:700 8px/1 Verdana,Tahoma,sans-serif}
.friends-modal__table-head span{padding-left:31px;text-align:center}
.friends-modal__table-head b{height:100%;display:grid;place-items:center;border-left:1px solid #77715a;font:700 8px/1 Verdana,Tahoma,sans-serif}
.friends-modal__column--offline .friends-modal__table-head{grid-template-columns:1fr}
.friends-modal__column--offline .friends-modal__table-head span{padding-left:0}
.friends-modal__list{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#5d5846 #aba581;background:repeating-linear-gradient(180deg,#c8c29c 0,#c8c29c 20px,#bcb68f 20px,#bcb68f 40px)}
.friends-modal__row{height:20px;display:grid;grid-template-columns:19px 19px minmax(0,1fr) 53px;align-items:center;border-bottom:1px solid rgba(137,129,93,.16);color:#554f3d;font:400 8px/1 Verdana,Tahoma,sans-serif;cursor:pointer}
.friends-modal__row:hover{background:rgba(247,242,207,.32)}
.friends-modal__column--offline .friends-modal__row{grid-template-columns:19px 19px minmax(0,1fr)}
.friends-modal__remove{all:unset;box-sizing:border-box;width:12px;height:12px;margin-left:4px;display:grid;place-items:center;cursor:pointer;background:#e76615;border:1px solid #fff1cc;box-shadow:0 0 0 1px #ac5416;color:#fff;font:900 9px/9px Arial,sans-serif}
.friends-modal__remove:hover{filter:brightness(1.1)}
.friends-modal__avatar{width:14px;height:14px;display:grid;place-items:center;border-radius:50%;background:#e1d9b8;border:1px solid #9c9471;box-shadow:inset 0 1px rgba(255,255,255,.55);color:#766d50;font:800 7px/1 Verdana,Tahoma,sans-serif}
.friends-modal__row.is-online .friends-modal__avatar{background:#ddd6b3}
.friends-modal__account{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:2px;color:#4f4a39}
.friends-modal__level{height:100%;display:grid;place-items:center;border-left:1px solid rgba(121,114,84,.28);font:400 8px/1 Verdana,Tahoma,sans-serif;color:#4d4838}
.friends-modal__empty{height:38px;display:grid;place-items:center;color:#7a745a;font:400 8px/1 Verdana,Tahoma,sans-serif;font-style:italic}
.friends-modal__notify{display:flex;align-items:center;gap:6px;padding:5px 4px 0;color:#5d5845;font:400 9px/1 Verdana,Tahoma,sans-serif;user-select:none}
.friends-modal__notify input{width:12px;height:12px;margin:0;accent-color:#8d8665}

/* Retro player interaction menu — opened by clicking another character. */
.player-context-menu{position:absolute;z-index:95;width:136px;padding:1px 0 2px;background:linear-gradient(180deg,#d8d2ad 0%,#cdc69f 100%);border:1px solid #f5f1d9;box-shadow:0 0 0 1px #6c654f,1px 2px 6px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.34);color:#4c4938;font-family:Verdana,Tahoma,Arial,sans-serif;transform:scale(var(--player-context-scale,1));transform-origin:top left}
.player-context-menu::before{content:"";position:absolute;inset:1px;border:1px solid rgba(109,103,79,.22);pointer-events:none}
.player-context-menu[hidden]{display:none!important}
.player-context-menu__title{position:relative;z-index:1;min-height:16px;display:flex;align-items:center;padding:0 5px;margin:-1px 0 1px;background:linear-gradient(180deg,#69624c,#4b4536);border-bottom:1px solid #2f2b22;color:#fff;font:700 8px/1 Verdana,Tahoma,sans-serif;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(0,0,0,.5)}
.player-context-menu button,.player-context-menu__action{all:unset;box-sizing:border-box;position:relative;z-index:1;width:100%;min-height:13px;padding:1px 5px 1px 6px;display:block;cursor:pointer;color:#4b4736;font:400 8px/1.08 Verdana,Tahoma,sans-serif;text-align:left;white-space:normal;word-break:normal;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.player-context-menu__action:hover:not(:disabled){background:linear-gradient(180deg,#7b7255,#665e48);color:#fffdf2;text-shadow:0 1px 0 rgba(0,0,0,.45)}
.player-context-menu__action:active:not(:disabled){padding-left:7px;filter:brightness(.98)}
.player-context-menu__action--danger:hover:not(:disabled){background:linear-gradient(180deg,#8a5f4f,#74483d)}
.player-context-menu__action--muted{color:#544d3d}
.player-context-menu__action--social{color:#454130}
.player-context-menu button:disabled,.player-context-menu__action:disabled{opacity:.42;cursor:default;filter:saturate(.7)}
.player-context-menu__separator{display:block;position:relative;z-index:1;height:1px;margin:1px 3px;background:#9f9878;border-bottom:1px solid rgba(255,255,255,.42)}

.player-info-card{position:absolute;z-index:94;left:256px;top:-265px;width:232px;background:#d3ceaa;border:1px solid #f6f2d9;box-shadow:0 0 0 1px #6b654d,0 4px 13px rgba(0,0,0,.34);color:#4f4b39;font-family:Verdana,Tahoma,Arial,sans-serif}
.player-info-card[hidden]{display:none!important}
.player-info-card>header{height:25px;display:flex;align-items:center;justify-content:space-between;padding:0 5px 0 8px;background:linear-gradient(180deg,#5b5642,#444032);border-bottom:1px solid #302d24;color:#fff}
.player-info-card>header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 10px/1 Verdana,Tahoma,sans-serif}
.player-info-card>header button{all:unset;box-sizing:border-box;width:15px;height:15px;display:grid;place-items:center;cursor:pointer;border-radius:2px;background:#e66f12;border:1px solid #ffe8bd;box-shadow:0 0 0 1px #a24c0d;color:#fff;font:900 12px/12px Arial,sans-serif}
.player-info-card__body{padding:7px;background:linear-gradient(180deg,#ddd8b8,#c9c39d)}
.player-info-card__body>div{min-height:19px;display:grid;grid-template-columns:67px 1fr;align-items:center;border-bottom:1px solid rgba(104,98,72,.18);font:400 8px/1.25 Verdana,Tahoma,sans-serif}
.player-info-card__body>div:last-child{border-bottom:0}
.player-info-card__body span{color:#6e6850}
.player-info-card__body b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#474334;font-weight:700}
.player-info-card__body .player-info-card__location{align-items:start;padding:4px 0}
.player-info-card__body .player-info-card__location b{white-space:normal;line-height:1.35}
.game-hud--friends-open .game-hud__menu-row [data-hud-action="friends"]{filter:brightness(1.08)}

/* R64 — compact Retro invitation + secure two-player exchange. */
.player-interaction-prompt{position:absolute;z-index:110;left:50%;top:-94px;width:184px;transform:translateX(-50%);padding:2px;background:#d8d2ad;border:1px solid #f6f1d7;box-shadow:0 0 0 1px #665f49,2px 3px 8px rgba(0,0,0,.34);font-family:Verdana,Tahoma,sans-serif;color:#4d4838}
.player-interaction-prompt[hidden]{display:none!important}
.player-interaction-prompt__title{height:17px;margin:-1px -1px 3px;padding:0 5px;display:flex;align-items:center;background:linear-gradient(#69624c,#4a4435);color:#fff;font:700 8px/1 Verdana,Tahoma,sans-serif;text-shadow:0 1px rgba(0,0,0,.5)}
.player-interaction-prompt__text{padding:3px 5px 5px;font:400 8px/1.25 Verdana,Tahoma,sans-serif}
.player-interaction-prompt__actions{display:flex;justify-content:flex-end;gap:3px;padding:0 3px 2px}
.player-interaction-prompt__actions button,.trade-modal button{box-sizing:border-box;cursor:pointer;border:1px solid #6c654e;background:linear-gradient(#eee9c9,#cbc39c);color:#4c4737;font:700 8px/1 Verdana,Tahoma,sans-serif;box-shadow:inset 0 1px rgba(255,255,255,.65)}
.player-interaction-prompt__actions button{min-width:48px;height:17px;padding:0 5px}
.player-interaction-prompt__actions button:hover,.trade-modal button:hover:not(:disabled){background:linear-gradient(#7b7256,#655d47);color:#fff}
.player-interaction-prompt__actions button:disabled,.trade-modal button:disabled{opacity:.45;cursor:default}

.trade-modal{position:absolute;z-index:108;left:50%;top:-370px;width:470px;height:344px;transform:translateX(-50%);font-family:Verdana,Tahoma,sans-serif;color:#4c4738}
.trade-modal[hidden]{display:none!important}
.trade-modal__window{height:100%;display:flex;flex-direction:column;background:#d7d1ac;border:2px solid #f6f1d8;box-shadow:0 0 0 1px #615b47,3px 5px 14px rgba(0,0,0,.4)}
.trade-modal__header{height:25px;flex:0 0 25px;padding:0 5px 0 8px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#69624c,#474235);border-bottom:1px solid #2f2b22;color:#fff;font:700 9px/1 Verdana,Tahoma,sans-serif;text-shadow:0 1px rgba(0,0,0,.55)}
.trade-modal__header button{width:18px;height:18px;padding:0;background:linear-gradient(#f18a2e,#d9660c);border-color:#5e3a1d;color:#fff;font-size:12px}
.trade-modal__body{min-height:0;flex:1;display:grid;grid-template-columns:190px 1fr;gap:5px;padding:5px}
.trade-modal__section-title{height:17px;padding:0 5px;display:flex;align-items:center;background:#817a5d;color:#fff8df;border:1px solid #676048;font:700 8px/1 Verdana,Tahoma,sans-serif}
.trade-modal__inventory,.trade-modal__offer{min-height:0;display:flex;flex-direction:column}
.trade-modal__scroll{min-height:0;flex:1;overflow:auto;border:1px solid #9e9777;background:#c8c39f;padding:2px}
.trade-modal__scroll>button{width:100%;height:20px;padding:0 4px;margin:0 0 1px;display:flex;align-items:center;justify-content:space-between;text-align:left;background:#ddd8b7;font-weight:400}
.trade-modal__scroll>button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trade-modal__scroll>button b{margin-left:5px;font-size:7px}
.trade-modal__scroll>p,.trade-modal__empty{margin:5px;color:#706951;font:400 8px/1.2 Verdana,Tahoma,sans-serif}
.trade-modal__offers{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:5px}
.trade-modal__offer{padding:2px;border:1px solid #aaa382;background:#c9c4a2}
.trade-modal__offer-list{min-height:0;flex:1;overflow:auto;padding:2px;background:#ddd8b9;border:1px solid #aba483}
.trade-modal__item{height:19px;margin-bottom:1px;padding:0 2px 0 4px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:3px;background:#c9c39f;border:1px solid #ada683;font:400 7px/1 Verdana,Tahoma,sans-serif}
.trade-modal__item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.trade-modal__item button{width:17px;height:15px;padding:0}
.trade-modal__kamas{height:22px;margin-top:2px;display:flex;align-items:center;justify-content:space-between;gap:4px;font:700 7px/1 Verdana,Tahoma,sans-serif}
.trade-modal__kamas input{width:70px;height:17px;box-sizing:border-box;border:1px solid #8f886b;background:#fffced;color:#4e4938;font:400 8px Verdana,Tahoma,sans-serif;padding:0 3px}
.trade-modal__offer>small{height:14px;display:flex;align-items:center;color:#615b48;font:700 7px/1 Verdana,Tahoma,sans-serif}
.trade-modal__footer{height:28px;flex:0 0 28px;padding:0 5px;display:flex;align-items:center;gap:4px;border-top:1px solid #a49d7e;background:#bbb594}
.trade-modal__footer span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 7px/1 Verdana,Tahoma,sans-serif}
.trade-modal__footer button{height:19px;min-width:55px;padding:0 6px}
.trade-modal__footer [data-hud-trade-ready]{background:linear-gradient(#f49a35,#dc7218);color:#fff;border-color:#7d4c20;text-shadow:0 1px rgba(0,0,0,.3)}
