/* Combat pack 04, fitted to the same viewport and deck as every other game tab. */
.combat-presentation{position:absolute;inset:0;pointer-events:none}
.game-shell:not([data-ui-screen="combat"]) .combat-presentation{display:none}
.combat-current-portrait{position:absolute;left:44px;top:13px;width:220px;height:220px}
.combat-current-portrait>.hud-portrait{display:block;width:220px;height:220px}
.combat-current-portrait .hud-portrait:after{background-image:url('./assets/ui/inventory/Common/Portraits/ui_portrait_frame_active.png')}
.combat-enemy-sigil{position:absolute;inset:12px;display:grid;place-items:center;border-radius:50%;background:#171a17}
.combat-enemy-sigil .hud-glyph{width:82px;height:82px;color:#817154}
.combat-turn-plaque{position:absolute;left:794px;top:-36px;width:292px;height:58px;display:flex;align-items:center;justify-content:center;background:url('./assets/ui/combat/Panels/ui_turn_plaque.png') center/100% 100% no-repeat;font:24px var(--heading);color:#d8c9a6;text-shadow:0 2px 3px #000}
.combat-stats{position:absolute;left:298px;top:18px;width:408px;height:218px;background:url('./assets/ui-packed/combat/Panels/ui_combat_stats.webp') center/100% 100% no-repeat;color:#332719;text-shadow:none}
.combat-stats h2{position:absolute;left:22px;top:10px;right:20px;margin:0;color:#ded2b4;font:27px/32px var(--heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.combat-stats dl{position:absolute;inset:56px 24px 16px;margin:0;display:flex;flex-direction:column;justify-content:space-between}
.combat-stats dl>div{display:flex;align-items:center;height:31px;gap:12px}
.combat-stats img{width:28px;height:28px;object-fit:contain}
.combat-stats dt{font:24px var(--heading)}.combat-stats dd{margin:0 0 0 auto;font:24px var(--heading);font-variant-numeric:tabular-nums}
.combat-enemy-turn{position:absolute;top:90px;left:0;width:100%;text-align:center;font:26px var(--heading);color:#50422c}
.combat-context{position:absolute;left:738px;top:18px;width:686px;height:218px;background:#111311 url('./assets/ui-packed/combat/Panels/ui_combat_actions.webp') center/100% 100% no-repeat;color:#d1c5ac}
#combat-preview{position:absolute;inset:17px 22px 46px;font:21px/1.35 var(--heading)}
#combat-preview h3{margin:0;font:24px/30px var(--heading);color:#d9cbae;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#combat-preview small{display:block;font:17px/22px var(--sans);color:#9c9587;margin-top:7px}
.combat-target-head{display:grid;grid-template-columns:1fr 108px 130px;align-items:center;margin-bottom:6px;gap:8px}
.combat-target-head>span{text-align:right;font:17px var(--sans);color:#afa48f}
.combat-attack-row{display:grid;grid-template-columns:1fr 108px 130px;gap:8px;align-items:center;height:43px;margin:4px 0}
.combat-technique{height:43px;display:flex;align-items:center;gap:8px;padding:0 12px;background:url('./assets/ui/combat/Buttons/ui_technique_normal.png') center/100% 100% no-repeat}
.combat-technique img{width:29px;height:29px;object-fit:contain}.combat-technique b{font-weight:500}
.combat-technique kbd{margin-left:auto;font:15px var(--sans);color:#aaa18e;background:none;border:0;box-shadow:none;padding:0}
.combat-damage,.combat-chance{text-align:right;font:26px var(--heading);font-variant-numeric:tabular-nums}.combat-chance{color:#e0bd70}
.combat-attack-row.unavailable .combat-technique{opacity:.55}.combat-unavailable{grid-column:2/4;text-align:right;color:#9b9385;font:17px var(--sans)}
.combat-context-message{margin:13px 0 5px;min-height:34px;font:23px/1.35 var(--heading)}
.combat-assessment{margin:9px 0 0;font:18px/1.3 var(--sans);color:#cebd98;max-height:70px;overflow:auto;pointer-events:auto}
.combat-tools{position:absolute;left:auto;right:24px;bottom:25px;width:230px;height:33px;display:flex;align-items:center;justify-content:flex-end;gap:10px;pointer-events:auto}
.game-shell .combat-tools button{display:grid;place-items:center;width:35px;height:32px;min-height:0;margin:0;padding:2px;border:1px solid transparent;background:none;box-shadow:none;border-radius:2px;color:#bea877}
.combat-tools button img{width:28px;height:28px;object-fit:contain}.combat-tools button[aria-pressed="true"]{border-color:#76613b;background:#b8974420}
.combat-tools button:disabled{opacity:.28}.game-shell .combat-tools .combat-auto-exit{display:block;margin-left:auto;width:104px;font:21px var(--heading);color:#e1ceab;border-color:#8e7146;background:#2a241a}
.game-shell .combat-deck .hud-actions{top:18px;height:218px}
.game-shell .combat-commands{grid-template-columns:repeat(3,92px);gap:26px 28px}
.game-shell .combat-action{display:flex;align-items:center;justify-content:center;width:92px;height:92px;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:#24251e url('./assets/ui/combat/Buttons/ui_action_normal.png') center/contain no-repeat;outline:1px solid #6b593a;outline-offset:-4px;box-shadow:none;filter:none;cursor:pointer}
.game-shell .combat-action:is(:hover,:focus-visible):not(:disabled){background-image:url('./assets/ui/combat/Buttons/ui_action_hover.png');outline-color:#c3a05e}
.game-shell .combat-action.selected{background-image:url('./assets/ui/combat/Buttons/ui_action_selected.png')}
.game-shell .combat-action:active:not(:disabled){background-image:url('./assets/ui/combat/Buttons/ui_action_pressed.png')}
.game-shell .combat-action:disabled{background-image:url('./assets/ui/combat/Buttons/ui_action_disabled.png');cursor:default;opacity:1}
.combat-action>img,.combat-action>.hud-glyph{width:56px;height:56px;object-fit:contain;color:#c1a665;pointer-events:none;filter:drop-shadow(0 2px 2px #000b)}
.combat-action:disabled>img,.combat-action:disabled>.hud-glyph{opacity:.3;filter:grayscale(.85)}

#combat-preview>small{max-width:380px}
.asset-load-details{max-width:680px;font:16px/1.4 var(--sans);text-align:left;margin-top:16px}.asset-load-details p{overflow-wrap:anywhere}
/* Tactical v84: keep the existing deck artwork and reserve separate rails. */
.combat-turn-plaque{left:298px;width:300px}
.combat-turn-order{position:absolute;left:0;right:0;top:-57px;height:30px;display:flex;gap:5px;padding:0;margin:0;list-style:none;pointer-events:auto;font:16px/28px var(--sans)}
.combat-turn-order li{min-width:0;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px;background:#141b1be8;border-bottom:2px solid #526b6b;color:#c1ccca}
.combat-turn-order li.enemy{border-color:#884e42}.combat-turn-order li.current{color:#efdeb5;border-color:#c7ac70;background:#303428f2}.combat-turn-order li span{font-size:13px;opacity:.6}
.combat-camera-controls{position:absolute;left:22px;bottom:14px;display:flex;align-items:center;gap:12px;pointer-events:auto;font:15px var(--sans);color:#928d80}
.game-shell .combat-camera-controls button{min-height:28px;margin:0;padding:2px 9px;border:1px solid #80745555;background:#171d1b;box-shadow:none;color:#d1c5ac;font:18px var(--sans)}
.combat-camera-controls kbd{font:13px var(--sans);background:transparent;border:0;box-shadow:none;padding:0}.combat-camera-controls button:disabled{opacity:.4}
.combat-camera-controls{gap:7px}.combat-distances{display:flex;gap:3px}
.game-shell .combat-distances button{font-size:15px;padding:3px 7px}.game-shell .combat-distances button[aria-pressed="true"]{color:#ecdab2;background:#3a3528;border-color:#a48c59}
.combat-action-budget{position:absolute;left:24px;top:-20px;font:16px var(--sans);color:#c3bdac;white-space:nowrap;text-shadow:0 1px 3px #000}
#combat-preview h3{font-size:22px;line-height:26px}.combat-attack-row,.combat-technique{height:36px}.combat-attack-row{margin:3px 0}
#combat-preview small{font-size:15px;line-height:18px;margin-top:5px;max-height:36px;overflow:auto;pointer-events:auto}
.combat-context{pointer-events:auto}.render-wrap{overflow:hidden}
