.inventory-dialog {position:fixed;inset:0;margin:auto;width:min(760px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;box-sizing:border-box;border:0;border-radius:10px;padding:22px;background:#19231be8;color:#f3e8c3;font:14px/1.4 system-ui;}
.inventory-dialog::backdrop {background:#0007;}
.inventory-dialog h3 {margin:0 0 8px;}
.inventory-partners {display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;}
.inventory-partners > p {flex-basis:100%;margin:0;}
.inventory-partner {display:flex;flex-direction:column;align-items:center;gap:5px;width:88px;padding:7px;border:2px solid transparent;border-radius:8px;background:#111b16;color:inherit;font:12px system-ui;cursor:pointer;}
.inventory-partner img {width:52px;height:52px;object-fit:cover;border-radius:50%;}
.inventory-partner[aria-pressed="true"] {border-color:#ffe035;box-shadow:0 0 8px #ffe03555;}
.inventory-partner:focus-visible {outline:2px solid #fff;outline-offset:2px;}
.inventory-partners[hidden] {display:none;}
.inventory-slots {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}
.inventory-dialog .inventory-slot,.inventory-offers .inventory-slot {display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:3px;min-width:0;aspect-ratio:303/434;border:2px solid #67715a;border-radius:5px;background:#111b16;color:#b7c3ad;font:11px system-ui;}
.inventory-dialog .inventory-slot:has(img),.inventory-offers .inventory-slot:has(img) {padding:0;border:0;border-radius:8px;overflow:hidden;}
.inventory-slot img {display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none;}
.inventory-dialog .inventory-slot {cursor:pointer;}
.inventory-dialog .inventory-selected {border-color:#ffe035;outline:2px solid #ffe035;outline-offset:2px;box-shadow:0 0 8px #ffe03577;}
.inventory-dialog-actions {display:flex;justify-content:flex-end;gap:10px;margin-top:15px;}
.inventory-dialog-actions button,.inventory-offers > button {padding:8px 12px;background:#d8b743;color:#19231b;border:0;border-radius:4px;cursor:pointer;}
.inventory-dialog h4 {margin:14px 0 7px;}
.inventory-error {color:#ffb4a8;}
.inventory-offers {position:fixed;right:12px;top:calc(var(--session-height,48px) + 12px);z-index:1400;width:min(390px,calc(100vw - 24px));max-height:70dvh;overflow:auto;box-sizing:border-box;padding:14px;border:1px solid #d8b743;border-radius:8px;background:#19231bf5;color:#f3e8c3;font:12px system-ui;}
.inventory-offers h3 {font-size:14px;}
.inventory-offers > button {margin:12px 8px 0 0;}
.inventory-offers[hidden] {display:none;}
.survivor-actions .inventory-free {box-shadow:0 0 7px #ffe03580;}

.collect-reward-preview {display:flex;justify-content:center;margin:16px 0;}
.collect-reward-preview img {display:block;width:160px;max-width:100%;max-height:35dvh;object-fit:contain;border-radius:6px;}

/* Coleta compacta; amplia somente ao escolher os cinco espaços do inventário. */
.collect-dialog {width:min(400px,calc(100vw - 28px));padding:20px;text-align:center;}
.collect-dialog[data-stage="destination"] {width:min(600px,calc(100vw - 28px));}
.collect-dialog > p {margin:8px 0 12px;}
.collect-dialog > [role="alert"]:empty {display:none;}
.collect-dialog .inventory-partners,.collect-dialog .inventory-dialog-actions {justify-content:center;}
.collect-dialog .inventory-dialog-actions {flex-wrap:wrap;margin-top:14px;}
.collect-dialog .collect-reward-preview {margin:14px 0;}

.collect-dialog .inventory-slot-empty {background-repeat:no-repeat;background-position:center;background-size:90% auto;}

.collect-dialog .collect-crate {width:180px;max-width:100%;padding:4px;background:transparent;}
.collect-dialog .collect-crate img {width:100%;height:auto;object-fit:contain;border-radius:6px;}

.melee-dialog {width:min(560px,calc(100vw - 28px));text-align:center;}
.melee-dialog .inventory-partners,.melee-dialog .inventory-dialog-actions {justify-content:center;}
.melee-dialog .melee-weapon {width:94px;padding:0;}
.melee-dialog .melee-weapon img {width:100%;height:auto;object-fit:contain;border-radius:5px;}
.melee-targets {display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;}
.melee-target {display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;width:94px;min-height:112px;padding:7px;border:2px solid #67715a;border-radius:6px;background:#111b16;color:#f3e8c3;cursor:pointer;}
.melee-target img {width:64px;height:75px;object-fit:contain;pointer-events:none;}
.melee-target[aria-pressed="true"] {border-color:#ffe035;}
.melee-dice {display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0;}
.melee-dice span {display:grid;place-items:center;width:36px;height:36px;border:1px solid #67715a;border-radius:6px;font:bold 22px system-ui;}
.melee-dice .hit {background:#d8b743;color:#19231b;}
.melee-dialog [role="alert"]:empty {display:none;}

#dice-container .scene {cursor:default;pointer-events:none;}
.combat-panel {position:fixed;top:calc(var(--session-height,48px) + 12px);left:50%;transform:translateX(-50%);z-index:1150;box-sizing:border-box;width:min(420px,calc(100vw - 24px));padding:14px 18px;border:1px solid #a58e49;border-radius:9px;background:#172119f5;color:#f3e8c3;text-align:center;box-shadow:0 5px 20px #0008;font:13px/1.4 system-ui;}
.combat-panel h3 {margin:0 0 8px;}.combat-panel p {margin:8px 0;}
.combat-roll-dice {display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:14px 0;}
.combat-die-entry {display:flex;flex-direction:column;align-items:center;gap:10px;min-width:48px;}
.combat-die-entry small {font:10px/1.3 system-ui;max-width:76px;}
.combat-panel {max-height:calc(100dvh - var(--session-height,48px) - 24px);overflow:auto;}
.combat-panel > button:not([hidden]) {margin:3px;}
.combat-panel .combat-die {width:36px;height:36px;flex:0 0 36px;padding:0;border:0;background:transparent;cursor:pointer;perspective:600px;}
.combat-die .face {width:36px;height:36px;border-radius:6px;}
.combat-die .front {transform:rotateY(0deg) translateZ(18px);}.combat-die .back {transform:rotateY(180deg) translateZ(18px);}
.combat-die .right {transform:rotateY(90deg) translateZ(18px);}.combat-die .left {transform:rotateY(-90deg) translateZ(18px);}
.combat-die .top {transform:rotateX(90deg) translateZ(18px);}.combat-die .bottom {transform:rotateX(-90deg) translateZ(18px);}
.combat-panel .combat-die:disabled {opacity:1;cursor:default;}.combat-die-hit {outline:3px solid #ffe035;outline-offset:6px;border-radius:6px;}
.combat-panel button:not(.combat-die) {padding:7px 10px;background:#d8b743;border:0;border-radius:4px;color:#19231b;cursor:pointer;}
.combat-hit-counter {font-weight:bold;color:#ffe035;}
#mesa > .combat-target {outline:3px solid #ffe035;outline-offset:3px;cursor:crosshair;}
#mesa > .combat-target .figura {cursor:crosshair;filter:drop-shadow(0 0 4px #ffe035);}

#dice-container .dice-reference-result {display:block;width:100%;height:100%;border-radius:6px;pointer-events:none;}

.combat-mode-choices {display:flex;justify-content:center;gap:12px;margin:12px 0;}
.combat-mode-choices[hidden] {display:none;}
.melee-dialog .combat-mode {width:48px;height:48px;padding:5px;border:2px solid transparent;border-radius:6px;background:#3b472d;color:#f2dfa4;border-color:#a58e49;cursor:pointer;}
.combat-symbol {display:block;width:100%;height:100%;background-color:currentColor;-webkit-mask:var(--combat-symbol) center/contain no-repeat;mask:var(--combat-symbol) center/contain no-repeat;pointer-events:none;}
.combat-ranged-symbol {--combat-symbol:url('../img/ranged_icon.svg');}
.combat-melee-symbol {--combat-symbol:url('../img/melee_icon.svg');}
.melee-dialog .combat-mode[aria-pressed="true"] {background:#e5c255;color:#192115;border-color:#ffe8a5;box-shadow:0 0 10px #e5c25533;}
#mesa > .combat-zone-attack {position:absolute;z-index:3000;width:62px;height:62px;padding:8px;border:3px solid #ffe035;border-radius:50%;background:#3b472df2;color:#f2dfa4;box-shadow:0 0 0 5px #0009,0 3px 12px #000;transform:translate(-50%,-50%) rotate(var(--piece-facing,0deg));cursor:pointer;pointer-events:auto;}

.combat-zone-attack > span:not(.combat-symbol) {position:absolute;top:100%;left:50%;transform:translateX(-50%);padding:2px 5px;border-radius:3px;background:#111;color:#ffe035;font:bold 14px system-ui;pointer-events:none;}
.combat-zone-attack:focus-visible {outline:4px solid white;outline-offset:4px;}
.combat-zone-attack:disabled {cursor:wait;opacity:.6;}

#mesa > .combat-zone-attack:hover {background:#e5c255;color:#192115;border-color:#ffe8a5;}
.combat-target-cursor {position:fixed;z-index:10000;pointer-events:none;width:28px;height:28px;transform:translate(-50%,-50%);color:#f2dfa4;background-color:currentColor;-webkit-mask:url('../img/target_icon.svg') center/contain no-repeat;mask:url('../img/target_icon.svg') center/contain no-repeat;}
.combat-target-cursor[hidden] {display:none;}
.combat-custom-cursor #mesa > .combat-target,.combat-custom-cursor #mesa > .combat-target .figura {cursor:none;}

.combat-friendly-choices {display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.combat-friendly-choices > p {flex-basis:100%;}
.combat-panel button.combat-friendly-character {box-sizing:border-box;display:grid;place-items:center;width:58px;height:58px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;overflow:hidden;}
.combat-friendly-character img {display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;pointer-events:none;}
.combat-panel button.combat-friendly-character:hover {background:transparent;filter:brightness(1.12);}
.combat-panel button.combat-friendly-character:focus-visible {background:transparent;outline:2px solid #e5c255;outline-offset:2px;}
.combat-panel .combat-friendly-character:disabled {opacity:.55;cursor:wait;}

.zombie-move-dialog {width:min(600px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;}
.zombie-move-dialog fieldset {margin:12px 0;border:1px solid #a58e49;border-radius:6px;}
.zombie-move-row {display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0;}
.zombie-move-row input {box-sizing:border-box;width:66px;padding:6px;border:1px solid #a58e49;border-radius:4px;background:#19231b;color:#f2dfa4;font:inherit;}

.zombie-flow-status {position:fixed;top:calc(var(--session-height,48px) + 10px);right:12px;z-index:1250;max-width:340px;padding:10px 14px;border:1px solid #a58e49;border-radius:8px;background:#19231bf5;color:#f2dfa4;font:13px/1.4 system-ui;}
.zombie-flow-status[hidden] {display:none;}.zombie-flow-status p {margin:0;}
.zombie-damage-dialog {width:min(650px,calc(100vw - 28px));text-align:center;}
.zombie-damage-characters {display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin:22px 0;}
.zombie-damage-character {display:flex;flex-direction:column;align-items:center;gap:8px;}
.zombie-damage-portrait {position:relative;width:70px;height:70px;}
.zombie-damage-portrait img {width:100%;height:100%;border-radius:50%;object-fit:cover;}
.zombie-health-badge {position:absolute;right:-5px;top:-10px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:23px;height:22px;min-width:23px;border-radius:4px;border:1px solid #d8867c;background:#933f37;color:#fff1e4;font:700 13px system-ui;}
.zombie-health-badge.life-lost {background:#292e2a;color:#777f70;border-color:#525a4b;text-decoration:line-through;}
.zombie-damage-counter {display:flex;align-items:center;gap:12px;}
.zombie-damage-dialog .zombie-damage-counter button {display:grid;place-items:center;min-width:28px;min-height:30px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#f4d568;font:700 24px/1 system-ui;cursor:pointer;}
.zombie-damage-dialog .zombie-damage-counter button:disabled {opacity:.35;cursor:default;}
.zombie-damage-dialog .zombie-damage-counter button:focus-visible {outline:2px solid #f4d568;outline-offset:2px;}
.zombie-damage-counter span {min-width:16px;font:bold 17px system-ui;color:#f2dfa4;}
.zombie-damage-dialog .inventory-dialog-actions {justify-content:center;}
.zombie-damage-dialog [role="alert"]:empty {display:none;}

#mesa > .zombie-remainder {outline:3px solid #f2dfa4;outline-offset:3px;cursor:pointer;}#mesa > .zombie-remainder-selected {outline:5px solid #ffe035;}
#mesa > .zombie-remainder-zone {font:bold 18px system-ui;}

.zombie-phase-notice {width:min(520px,calc(100vw - 28px));text-align:center;}
.zombie-phase-notice .inventory-dialog-actions {justify-content:center;}
.zombie-phase-card {display:block;width:min(230px,100%);max-height:55dvh;object-fit:contain;margin:18px auto;border-radius:8px;box-shadow:0 0 0 2px #a58e49,0 8px 25px #0009;}
