@keyframes resultPulse{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes victoryGlow{0%{text-shadow:0 0 8px #2a6a2a,0 0 16px #2a6a2a}to{text-shadow:0 0 16px #3a8a3a,0 0 30px #3a8a3a}}@keyframes defeatShake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-10px)}40%,80%{transform:translateX(10px)}}@keyframes rosterActPulse{0%{box-shadow:0 0 4px 1px #6a2222}to{box-shadow:0 0 10px 2px #8a3333}}:root{--screen-color:#9aab8c;--header-color:#6a7a5c;--accent-color:#7a8a6c;--border-color:#555;--text-color:#000}.combat-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);display:none;justify-content:center;align-items:center;z-index:200}.combat-screen.active{display:flex}.combat-container{background:var(--screen-color);border:3px solid var(--border-color);padding:10px;max-width:320px;width:95%;font-size:11px;position:relative}.combat-header{background:var(--header-color);color:var(--text-color);padding:4px 8px;font-weight:700;font-size:12px;margin:-10px -10px 8px;text-align:center}.combat-fighters{display:flex;gap:6px;margin-bottom:8px;align-items:stretch}.fighter-display{flex:1;background:var(--accent-color);border:3px solid var(--border-color);padding:6px;text-align:center;font-size:9px;display:flex;flex-direction:column;transition:border-color .3s,box-shadow .3s}.player-display{border-color:#33557a}.player-display .weapon-info{margin-top:auto}.enemy-display{border-color:#7a3333}.fighter-display.active-turn{box-shadow:0 0 10px 2px currentColor}.player-display.active-turn{border-color:#47a;box-shadow:0 0 8px 2px #358}.enemy-display.active-turn{border-color:#8a3333;box-shadow:0 0 8px 2px #6a2222}.fighter-label{font-weight:700;font-size:10px;margin-bottom:4px}.fighter-hp{font-size:12px;font-weight:700}.fighter-hp-bar{background:var(--header-color);height:8px;border:1px solid var(--border-color);margin:4px 0}.fighter-hp-fill{height:100%;transition:width .3s}.player-hp-fill{background:#3a7a3a}.enemy-hp-fill{background:#8a3333}.enemy-icon{font-size:28px;margin:4px 0}.weapon-info{background:var(--header-color);padding:4px;margin-top:4px;border-radius:3px}.weapon-name{font-weight:700;font-size:10px}.weapon-stats{display:flex;justify-content:space-around;margin-top:2px;font-size:9px;color:#000}.enemy-stats{background:var(--header-color);padding:4px;margin-top:4px;border-radius:3px;color:#000}.weapon-stat-label{font-size:8px;color:#333}.enemy-stats span,.weapon-stats span{color:#000;font-weight:700}.vs-divider{display:flex;align-items:center;font-weight:700;font-size:10px;color:var(--border-color)}.distance-display{background:var(--accent-color);border:1px solid var(--border-color);padding:6px;text-align:center;margin-bottom:8px;font-size:11px}.distance-label{font-weight:700;color:#222}.distance-value{font-weight:700;margin-left:6px}.distance-value.distance-far{color:#1a3a44}.distance-value.distance-mid{color:#4a3a11}.distance-value.distance-close{color:#4a1111}.combat-log{background:#1a1a1a;border:1px solid var(--border-color);padding:6px;margin-bottom:8px;max-height:120px;overflow-y:auto;font-size:9px;color:#ddd}.log-entry{padding:2px 0;border-bottom:1px solid #444}.log-entry:last-child{border-bottom:none}.log-player,.log-player-hit{color:#7aaddd;font-weight:700}.log-enemy,.log-enemy-hit{color:#dd7a7a;font-weight:700}.log-neutral,.log-neutral-bold{color:#7aba7a;font-weight:700}.log-info{color:#999;font-size:9px}.combat-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px}.combat-btn{padding:8px 4px;font-size:10px;display:flex;flex-direction:column;align-items:center}.combat-btn-icon{font-size:16px}#combatBtnSkills .combat-btn-icon{font-size:22px}.combat-btn:disabled{opacity:.6;background:#3a4a3a;pointer-events:none}.combat-btn:disabled .combat-btn-icon{filter:grayscale(.8);opacity:.5}.combat-btn:disabled .combat-btn-text{color:#000}.combat-result{text-align:center;padding:15px}.combat-result h3{font-size:16px;margin-bottom:10px}.combat-result.victory h3{color:#3a3}.combat-result.defeat h3{color:#a33}.combat-skills-panel{display:none;background:var(--accent-color);border:2px solid var(--border-color);padding:6px;margin-top:8px;max-height:120px;overflow-y:auto}.combat-skills-panel.active{display:block}.skills-empty{text-align:center;color:#888;font-size:10px;padding:8px}.skill-btn{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;margin-bottom:4px;background:var(--header-color);border:1px solid var(--border-color);cursor:pointer;text-align:left}.skill-btn:last-child{margin-bottom:0}.skill-btn:hover:not(.disabled){background:#5a5}.skill-btn.disabled{opacity:.5;cursor:not-allowed}.enemy-turn-disabled{opacity:.5;pointer-events:none}.skill-icon{font-size:18px}.skill-info{display:flex;flex-direction:column}.skill-name{font-weight:700;font-size:10px}.skill-desc{font-size:8px;color:#ddd}.combat-result{display:none;position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);justify-content:center;align-items:center;z-index:10}.combat-result.active{display:flex}.result-content{text-align:center;padding:20px;animation:resultPulse .5s ease-out}.combat-result h2{font-size:28px;margin-bottom:15px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.combat-result.victory h2{color:#3a8a3a;animation:victoryGlow 1s ease-in-out infinite alternate}.combat-result.defeat h2{color:#a33;animation:defeatShake .5s ease-in-out}#resultMessage{color:#fff;font-size:14px;margin-bottom:20px;line-height:1.5}.result-btn{padding:12px 40px;font-size:16px;font-weight:700;background:#3a6a3a;color:#fff;border:2px solid #2a4a2a;border-radius:4px;cursor:pointer}.result-btn:hover{background:#4a7a4a}.combat-result.defeat .result-btn{background:#7a3333;border-color:#5a2222}.combat-result.defeat .result-btn:hover{background:#8a4444}.stamina-bar-container{display:flex;align-items:center;gap:3px;margin-top:2px;font-size:8px}.stamina-label{font-size:9px}.stamina-bar{flex:1;background:var(--header-color);height:6px;border:1px solid var(--border-color)}.stamina-fill{height:100%;background:#a82;transition:width .3s}.stamina-text{font-weight:700;color:#a82;min-width:10px}.enemy-roster{display:none;gap:4px;justify-content:center;margin-bottom:6px;padding:4px}.enemy-roster.visible{display:flex}.roster-chip,.roster-chip-top{display:flex;align-items:center}.roster-chip{flex:1;max-width:95px;height:36px;border:2px solid #555;background:#333;cursor:pointer;flex-direction:column;justify-content:center;padding:2px 4px;position:relative;transition:border-color .2s,background .2s,opacity .3s}.roster-chip-top{gap:3px;font-size:10px;color:#ddd;font-weight:700}.roster-chip-icon{font-size:12px}.roster-chip-hp{font-size:9px}.roster-hp-bar{width:100%;height:4px;background:#555;margin-top:2px}.roster-hp-fill{height:100%;background:#8a3333;transition:width .3s}.roster-chip.roster-target{border-color:#4a4;background:#2a3a2a}.roster-chip.roster-dead{opacity:.4;cursor:default;border-color:#444;background:#222}.roster-chip.roster-dead .roster-chip-top::after{content:"💀";position:absolute;font-size:16px;top:50%;left:50%;transform:translate(-50%,-50%)}.roster-chip.roster-acting{border-color:#8a3333;box-shadow:0 0 6px 1px #6a2222;animation:rosterActPulse .6s ease-in-out infinite alternate}.weapon-strip{display:none;gap:4px;justify-content:center;margin-bottom:6px;padding:4px}.weapon-strip.visible{display:flex}.weapon-chip{width:36px;height:30px;font-size:16px;border:2px solid #555;background:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.weapon-chip.active{border-color:#4a4;background:#2a3a2a;cursor:default}.weapon-chip.out-of-range{opacity:.4}.weapon-chip:hover:not(.active):not(:disabled){border-color:#8a8;background:#444}.weapon-selector{padding:6px;background:var(--accent-color);border:2px solid var(--border-color)}.weapon-selector-label{font-size:9px;color:#333;margin-bottom:4px;text-transform:uppercase}.weapon-selector-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.weapon-card{padding:6px;border:2px solid var(--border-color);background:var(--header-color);color:var(--text-color);cursor:pointer;text-align:center;font-size:10px;transition:border-color .2s,background .2s}.weapon-card.selected{border-color:#2a4a2a;background:#5a7a4c}.weapon-card.out-of-range{opacity:.45}.weapon-card:hover:not(.selected){border-color:#3a5a3a;background:#6a8a5c}.weapon-card-name{font-weight:700;font-size:11px}.weapon-card-stats{font-size:9px;color:#222;margin-top:2px}.weapon-card-warning{font-size:8px;color:#a22;margin-top:1px}.encounter-fight-section{margin-top:10px;padding:8px;border:2px solid var(--border-color);background:var(--accent-color)}.encounter-fight-btn{width:100%;padding:10px;font-size:13px;font-weight:700;margin-top:6px;background:#533;border:2px solid #744;color:#fff;cursor:pointer}.encounter-fight-btn:hover{background:#644}.acc-clickable{cursor:pointer;text-decoration:underline dotted}.acc-popup{display:none;position:absolute;background:#111;border:2px solid #555;padding:8px 10px;font-size:10px;color:#ccc;z-index:20;min-width:160px;line-height:1.6;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.5)}.acc-popup.visible{display:block}.acc-popup-row{display:flex;justify-content:space-between;gap:12px}.acc-popup-total{border-top:1px solid #555;margin-top:4px;padding-top:4px;font-weight:700;color:#fff}