.farm-scene-wrap {
    width: min(100%, 820px);
    margin: 0 auto 16px;
    border: 1px solid #3d4858;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(0,0,0,.55);
    background: #11151d;
}
.farm-scene-wrap canvas { display: block; width: 100%; height: auto; }
.world-scene-wrap { max-width: 960px; border-color: #68758a; background: #080c12; }
.farm-scene-legend { display: flex; justify-content: space-between; gap: 12px; padding: 7px 12px; background: #0c1119; color: #8b99aa; font-size: 11px; border-top: 1px solid #303b49; }

body.game-ui-active:has(#view-hunt[style*="block"]) #view-hunt {
    position: fixed;
    z-index: 2;
    inset: 0;
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #070a0d;
}
body.game-ui-active:has(#view-hunt[style*="block"]) .farm-scene-wrap.world-scene-wrap {
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
body.game-ui-active:has(#view-hunt[style*="block"]) .farm-scene-wrap canvas { width: 100%; height: 100%; }
body.game-ui-active:has(#view-hunt[style*="block"]) .farm-scene-legend { display: none; }

body.game-ui-active:has(#view-hunt[style*="block"]) #menu-modal-items,
body.game-ui-active:has(#view-hunt[style*="block"]) #menu-modal-attributes {
    position: fixed;
    z-index: 10001;
    top: 22px;
    left: 50%;
    width: min(960px, calc(100vw - 40px));
    max-height: calc(100vh - 136px);
    margin: 0 !important;
    padding: 18px;
    overflow: auto;
    transform: translateX(-50%);
    background: #121820;
    box-shadow: 0 16px 44px rgba(0,0,0,.82);
}
body.game-ui-active:has(#view-hunt[style*="block"]) #menu-modal-items.mu-classic-window { width:min(660px,calc(100vw - 28px)); padding:13px!important; background:linear-gradient(135deg,#515355,#1c1d1e 46%,#080909)!important; }
body.game-ui-active:has(#view-hunt[style*="block"]) #menu-modal-attributes.mu-attributes-window { width:min(580px,calc(100vw - 28px)); padding:13px!important; background:linear-gradient(135deg,#515355,#1c1d1e 46%,#080909)!important; }
body.game-ui-active:has(#view-city[style*="block"]) #menu-modal-items,
body.game-ui-active:has(#view-city[style*="block"]) #menu-modal-attributes { position:fixed; z-index:10001; top:22px; left:50%; max-height:calc(100vh - 136px); margin:0!important; overflow:auto; background:linear-gradient(135deg,#515355,#1c1d1e 46%,#080909)!important; box-shadow:0 16px 44px rgba(0,0,0,.82); }
body.game-ui-active:has(#view-city[style*="block"]) #menu-modal-items.mu-classic-window { width:min(630px,calc(100vw - 22px))!important; padding:9px!important; transform:translateX(-100%); margin-left:-10px!important; }
body.game-ui-active:has(#view-city[style*="block"]) #menu-modal-attributes.mu-attributes-window { width:min(580px,calc(100vw - 28px)); padding:13px!important; transform:none; margin-left:10px!important; }

#menu-modal-items.mu-classic-window {
    width: min(630px, calc(100vw - 22px)) !important;
    min-width: 0;
    margin: 10px auto !important;
    padding: 9px !important;
    background: linear-gradient(rgba(9,10,10,.68), rgba(6,7,7,.88)), url('../assets/img/ui/inventory-forged-metal-bg.png') center / cover !important;
}
#menu-modal-items .mu-classic-section-title { display:none; }
#menu-modal-items .mu-classic-window-head { margin-bottom:7px; }
#menu-modal-items .mu-equipment-layout {
    grid-template-columns: repeat(5, 48px);
    grid-template-rows: repeat(3, 48px);
    gap: 2px;
    max-width: 260px;
    margin: 0 auto 8px;
    padding: 6px;
}
#menu-modal-items .eq-slot { min-width:0; min-height:0; padding:2px; }
#menu-modal-items .eq-slot::before { inset:3px; opacity:.36; }
/* O icone do equipado acompanha o slot, que passou de 52 para 78px. */
#menu-modal-items .eq-item-icon { width:64px!important; height:64px!important; }
#menu-modal-items .eq-empty-name { font-size:7px; line-height:8px; }
#menu-modal-items .mu-classic-inventory-head { margin:6px 0 5px!important; padding:5px 2px!important; }
#menu-modal-items .mu-classic-inventory-head h3 { display:none!important; }
#menu-modal-items .mu-classic-inventory-head { justify-content:flex-end!important; }
#menu-modal-items .mu-classic-inventory-head button { padding:3px 6px!important; font-size:10px!important; }
#menu-modal-items .inventory-grid {
    display: grid !important;
    /* Colunas e linhas ficam a cargo de menu-unified.css: 10 colunas e a
       linha crescendo com a célula quadrada. Linhas em pixel aqui esmagavam a
       célula pelo align-items:stretch, mesmo com aspect-ratio 1/1 nela. */
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    grid-auto-rows: auto !important;
    align-content: start;
    gap: 2px;
    width: 100% !important;
    height: auto;
    max-height: none;
    overflow: visible;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box;
}
#menu-modal-items .inv-slot-box {
    box-sizing: border-box;
    min-width: 0;
    min-height: 0 !important;
    width: 100% !important;
    height: 42px !important;
    padding: 2px;
    overflow: visible;
}
/* O ícone acompanha a célula em vez de ficar preso em 25px: com a célula
   agora quadrada e maior, era esse teto que mantinha o item miúdo. */
#menu-modal-items .equipment-item-icon, #menu-modal-items .generated-item-icon, #menu-modal-items .jewel-item-icon { width:44px!important; height:44px!important; max-width:calc(100% - 6px); max-height:calc(100% - 6px); }
#menu-modal-items .item-tooltip { display:none!important; }
#menu-modal-items .inv-slot-box { position:relative; z-index:1; }
#menu-modal-items .inv-slot-box:hover { z-index:20050; }
#menu-modal-items .inv-slot-box:hover .item-tooltip { z-index:20060!important; }
#inventory-tooltip-portal {
    position:fixed;
    z-index:30000;
    box-sizing:border-box;
    max-width:calc(100vw - 16px);
    padding:8px;
    border:1px solid #59676d;
    border-radius:2px;
    background:rgba(7,9,11,.98);
    color:#dce3e2;
    box-shadow:0 8px 20px rgba(0,0,0,.86);
    font:11px/1.3 Arial,sans-serif;
    pointer-events:none;
    overflow-wrap:anywhere;
}
#inventory-tooltip-portal[hidden] { display:none!important; }
#inventory-tooltip-portal .tooltip-title { color:#f0d783; font:700 12px Georgia,serif; margin-bottom:4px; }
#inventory-tooltip-portal .legacy-comparison { display:none!important; }
#inventory-tooltip-portal .ctrl-item-comparison { display:none; margin-top:7px; border-top:1px solid #46525a; padding-top:6px; }
#inventory-tooltip-portal.compare-active .ctrl-item-comparison { display:block; }
/* Com Ctrl, a comparação substitui a ficha comum para não duplicar a descrição. */
#inventory-tooltip-portal.compare-active > .tooltip-title,
#inventory-tooltip-portal.compare-active > .tooltip-section,
#inventory-tooltip-portal.compare-active > .tooltip-section-title,
#inventory-tooltip-portal.compare-active > .item-compare-hint { display:none!important; }
#inventory-tooltip-portal.compare-active .ctrl-item-comparison { margin-top:0; padding-top:0; border-top:0; }
#inventory-tooltip-portal .ctrl-compare-hint { color:#8bb8c7; font-size:10px; margin:0 0 5px; }
#inventory-tooltip-portal .ctrl-compare-grid { display:flex; gap:6px; align-items:stretch; }
#inventory-tooltip-portal .ctrl-compare-card { flex:1; min-width:0; border:1px solid #40525a; background:#10161a; padding:5px; }
#inventory-tooltip-portal .ctrl-compare-card > b { display:block; color:#b9d8e2; font-size:10px; margin-bottom:4px; }
#inventory-tooltip-portal .ctrl-compare-card.empty span { color:#7f898d; font-size:10px; }
#inventory-tooltip-portal .ctrl-compare-item { display:flex; align-items:center; gap:5px; min-width:0; }
#inventory-tooltip-portal .ctrl-compare-item > div { min-width:0; }
#inventory-tooltip-portal .ctrl-compare-item strong, #inventory-tooltip-portal .ctrl-compare-item span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#inventory-tooltip-portal .ctrl-compare-item strong { color:#f0d783; font:700 10px Georgia,serif; }
#inventory-tooltip-portal .ctrl-compare-item span { color:#dce3e2; font-size:10px; }
#inventory-tooltip-portal .ctrl-compare-icon { flex:0 0 30px; width:30px; height:30px; background-repeat:no-repeat; background-position:center; background-color:#090c0d; border:1px solid #53616a; }
#inventory-tooltip-portal .ctrl-compare-card.is-excellent{border-color:#43bd83;box-shadow:inset 0 0 14px #16784a33}
#inventory-tooltip-portal .ctrl-compare-copy{min-width:0;flex:1;font-size:10px;line-height:1.25;color:#d7dfdf}
#inventory-tooltip-portal .ctrl-compare-copy .tooltip-title{white-space:normal;overflow:visible;text-overflow:clip;font-size:11px;margin:0 0 3px}
#inventory-tooltip-portal .ctrl-compare-copy .tooltip-title.quality-excellent{color:#54efa8;text-shadow:0 0 7px #198f5b}
#inventory-tooltip-portal .ctrl-compare-copy .tooltip-title.quality-base{color:#f0d783}
#inventory-tooltip-portal .ctrl-compare-copy .tooltip-section{display:block;margin:0;border:0;padding:0}
#inventory-tooltip-portal .ctrl-compare-copy .tooltip-section>div{white-space:normal;overflow:visible;text-overflow:clip}
#inventory-tooltip-portal .item-class-line{margin-top:3px;color:#91c7ff;font-weight:700}
#inventory-tooltip-portal .item-excellent-line{margin-top:3px;color:#54efa8;font-weight:700}
#menu-modal-items .inv-slot-box.empty {
    opacity:1!important;
    border-color:#394248!important;
    background:linear-gradient(135deg,#202426,#0d0f10 58%,#111415)!important;
}
#menu-modal-items.mu-classic-window {
    height:auto!important;
    min-height:0!important;
    padding-bottom:9px!important;
    border-color:#566067!important;
    background:linear-gradient(135deg,#353a3c 0%,#171b1c 32%,#090b0c 72%,#1c2021 100%)!important;
    box-shadow:0 0 0 3px #090909,0 12px 34px #000,inset 0 0 0 2px #596168,inset 0 0 26px #000!important;
}
#menu-modal-items .inventory-grid {
    grid-auto-rows:auto!important;
    gap:3px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    align-content:start!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
}
/* A altura vem do aspect-ratio 1/1 em menu-unified.css. Fixar 36px aqui
   achatava a célula contra uma coluna de ~57px e esticava o ícone do item. */
#menu-modal-items .inv-slot-box { height:auto!important; min-height:0!important; aspect-ratio:1/1!important; }
#menu-modal-items.mu-classic-window {
    block-size:fit-content!important;
    min-block-size:0!important;
    align-self:start!important;
}
#menu-modal-items .mu-equipment-layout {
    border-color:#566067!important;
    background:linear-gradient(135deg,#22282a,#080a0b 68%)!important;
}
#menu-modal-items .eq-slot,
#menu-modal-items .eq-slot.filled {
    border-color:#566067!important;
    background:linear-gradient(135deg,#353c3e,#111415 58%,#080909)!important;
}
#menu-modal-items.mu-classic-window,
#menu-modal-attributes.mu-attributes-window,
body.trade-active #menu-modal-items.mu-classic-window { overflow:visible!important; max-height:none!important; }
#menu-modal-items .inventory-grid { overflow:hidden!important; }
body.game-ui-active:has(#view-hunt[style*="block"]) #menu-modal-items.mu-classic-window {
    width:min(630px,calc(100vw - 22px))!important;
    top:8px;
    padding:9px!important;
    background:linear-gradient(rgba(9,10,10,.68),rgba(6,7,7,.88)),url('../assets/img/ui/inventory-forged-metal-bg.png') center/cover!important;
}
@media (min-width: 900px) {
    body.game-ui-active:has(#view-hunt[style*="block"]) #menu-modal-items.mu-classic-window { left:calc(50% - 10px); transform:translateX(-100%); }
    body.game-ui-active:has(#view-hunt[style*="block"]) #menu-modal-attributes.mu-attributes-window { left:calc(50% + 10px); transform:none; }
}

@media (min-width: 960px) {
    body.game-ui-active:has(#view-hunt[style*="block"]) #view-hunt {
        inset: 0;
        height: 100vh;
    }
}

/* Comparação de equipamentos: mantém a raridade e todos os atributos visíveis. */
#inventory-tooltip-portal .tooltip-title.quality-excellent{color:#54efa8;text-shadow:0 0 7px #198f5b}#inventory-tooltip-portal .tooltip-title.quality-base{color:#f0d783}#inventory-tooltip-portal .ctrl-compare-card.is-excellent{border-color:#43bd83;box-shadow:inset 0 0 14px #16784a33}#inventory-tooltip-portal .ctrl-compare-copy{min-width:0;flex:1;font-size:10px;line-height:1.25;color:#d7dfdf}#inventory-tooltip-portal .ctrl-compare-copy .tooltip-title{white-space:normal;overflow:visible;text-overflow:clip;font-size:11px;margin:0 0 3px}#inventory-tooltip-portal .ctrl-compare-copy .tooltip-section{display:block;margin:0;border:0;padding:0}#inventory-tooltip-portal .ctrl-compare-copy .tooltip-section>div{white-space:normal;overflow:visible;text-overflow:clip}#inventory-tooltip-portal .item-class-line{margin-top:3px;color:#91c7ff;font-weight:700}#inventory-tooltip-portal .item-excellent-line{margin-top:3px;color:#54efa8;font-weight:700}
/* Diálogo breve da entrada do Blood Castle; não bloqueia o combate. */
.blood-castle-dialogue {
    position: fixed;
    z-index: 10045;
    left: 50%;
    bottom: 112px;
    transform: translateX(-50%);
    width: min(580px, calc(100vw - 42px));
    padding: 10px 14px;
    color: #f9f0d2;
    background: rgba(8, 5, 6, .82);
    border: 1px solid #6f5734;
    box-shadow: 0 0 18px rgba(255, 210, 104, .18);
    pointer-events: none;
}
.blood-dialogue-line { width: 78%; margin: 3px 0; padding: 7px 11px; border: 1px solid #735a39; border-radius: 7px; background: rgba(54, 31, 17, .82); text-align: left; }
.blood-dialogue-line.player { margin-left: auto; border-color: #4e82a7; background: rgba(13, 38, 58, .86); text-align: right; }
.blood-dialogue-line strong { display: block; color: #ffe293; font: 800 14px Georgia, serif; }
.blood-dialogue-line.player strong { color: #9cddff; }
.blood-dialogue-line p { margin: 3px 0 0; font: 700 13px 'Segoe UI', sans-serif; }
.blood-teleport-flash { position:fixed; inset:0; z-index:10060; display:grid; place-items:center; pointer-events:none; background:radial-gradient(circle,rgba(255,239,157,.94),rgba(151,80,245,.54) 28%,rgba(7,0,18,.95) 72%); animation:blood-teleport 1.05s ease-in forwards; }
.blood-teleport-flash span { color:#fff5bd; font:900 27px Georgia,serif; letter-spacing:2px; text-shadow:0 0 12px #fff,0 0 28px #8d4aff; }
@keyframes blood-teleport { 0%{opacity:0} 20%{opacity:1} 70%{opacity:1;filter:brightness(1.4)} 100%{opacity:0} }
