/* Game-qualified selectors exceed the framework defaults without changing them. */
body.tsGame #log .move.color0 { background:#2563a6; color:white; }
body.tsGame #log .move.color1 { background:#b83936; color:white; }
body.tsGame #log .move.color2 { background:#397740; color:white; }
body.tsGame #log .move.color3 { background:#8553a4; color:white; }
body.tsGame #log .move.color4 { background:#9a6900; color:white; }
body.tsGame #log .tsLog { font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
body.tsGame #log .tsLogCard { display:inline-block; position:relative; vertical-align:middle; margin:1px 3px; }
body.tsGame #log .tsLogCard img { display:block; height:48px; width:auto; max-width:none; border-radius:2px; }
body.tsGame #log .tsLogCard.tsLogInitiator img { height:72px; }
body.tsGame #log .tsLogMode { font-weight:600; }
body.tsGame #log .tsLogCause,body.tsGame #log .tsLogResults,body.tsGame #log .tsLogOutcome { display:inline-block; max-width:100%; vertical-align:middle; }
body.tsGame #log .tsLogResults { position:relative; box-sizing:border-box; padding-left:20px; }
body.tsGame #log .tsLogArrow { position:absolute; left:0; top:50%; transform:translateY(-50%); white-space:pre; }
body.tsGame #log .tsLogOwner { font-size:.9em; }
body.tsGame #log .tsLogDestroyed,.tsNoticeEvent .tsLogDestroyed { position:absolute; right:-3px; bottom:-2px; width:19px; height:19px; padding:1px; border-radius:50%; background:#fff4dc; color:#a32118; box-shadow:0 0 2px #0008; }
body.tsGame #log .tsLogDestroyed svg,.tsNoticeEvent .tsLogDestroyed svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
body.tsGame #log .tsLogGold { white-space:nowrap; }
body.tsGame #log .tsLogGold img { display:inline-block; width:18px; height:18px; margin-left:3px; vertical-align:middle; }
.tsCombatLog{display:block;border-left:3px solid #607687;padding:4px 6px;margin:3px 0;box-sizing:border-box}
.tsCombatAttacker{display:block;margin-bottom:4px}
.tsCombatDetails{display:block;margin:4px 0;font-size:.95em}
.tsCombatDetails table{width:100%;border-collapse:collapse;font:inherit}
.tsCombatDetails th{text-align:left;font-weight:normal;padding:2px 8px 2px 0}
.tsCombatDetails td{text-align:right;white-space:nowrap}
.tsCombatDetails tr:last-child{border-top:1px solid #999;font-weight:bold}
.tsCombatVerdict{display:block;margin:4px 0;color:#285b32}
.tsCombatVerdict.tsCombatLost{color:#922f26}
.tsCombatDetails summary{cursor:pointer}
.tsCombatDetails ul{padding-left:18px;margin:4px 0}
body.tsGame #log .tsLogDelta { display:inline-flex; align-items:center; gap:3px; margin-left:6px; white-space:nowrap; vertical-align:middle; }
body.tsGame #log .tsLogDeltaIcon { position:relative; display:inline-block; width:24px; height:29px; padding-top:7px; }
body.tsGame #log .tsLogDeltaIcon img { display:block; width:22px; height:22px; }
body.tsGame #log .tsLogDeltaIcon small { position:absolute; top:0; left:0; width:22px; text-align:center; font-size:8px; font-weight:bold; line-height:9px; }
body.tsGame #log .tsLogReward { position:relative; display:inline-flex; align-items:flex-end; justify-content:center; width:24px; height:32px; margin:0 2px; vertical-align:middle; }
body.tsGame #log .tsLogReward img { width:24px; height:24px; object-fit:contain; }
body.tsGame #log .tsLogReward small { position:absolute; top:0; font-size:8px; font-weight:bold; line-height:9px; }
body.tsGame #log .tsLogReward strong { position:absolute; bottom:3px; font-size:12px; color:white; text-shadow:0 1px 2px black,0 0 3px black; }

.tsCombatDetails .tsCombatOpening tr:last-child{border-top:0;font-weight:normal}
.tsCombatModifiers li{margin:4px 0;overflow-wrap:anywhere}

.tsCombatModifierRule{display:block;color:#45525b;font-size:.95em}

body.tsGame #log .tsHelp{position:absolute;top:1px;left:1px;width:14px;height:14px;border:1px solid #c1ac70;border-radius:50%;background:#172b32ed;color:#fff4d4;cursor:pointer;padding:1px;display:grid;place-items:center;z-index:2}
body.tsGame #log .tsHelp svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
body.tsGame #log .tsHelp::before{content:"";position:absolute;inset:-5px;border-radius:50%}

body.tsGame #log .tsLogBreach{display:block;border-left:3px solid #b28136;padding:4px 6px;margin:4px 0;background:#fff4dc}
body.tsGame #log .tsLogTrap{display:block;border-left:3px solid #b28136;padding:4px 6px;margin:4px 0;background:#fff4dc}
body.tsGame #log .tsLogRevealRow{display:flex;align-items:center;gap:5px;margin:3px 0;flex-wrap:wrap}
body.tsGame #log .tsLogRevealPlayer{min-width:90px}
body.tsGame #log .tsLogResults.thunderstone2-state-1>.tsLogArrow{top:4px;transform:none}

body.tsGame #log .tsLogPlayerRow { display:block; margin:3px 0; }
body.tsGame #log .tsLogPlayer { display:inline-block; padding:2px 6px; margin-right:3px; border-radius:4px; color:white; font-weight:600; font-size:12px; line-height:1.35; vertical-align:middle; white-space:nowrap; }
body.tsGame #log .tsLogPlayer.color0 { background:#2563a6; }
body.tsGame #log .tsLogPlayer.color1 { background:#b83936; }
body.tsGame #log .tsLogPlayer.color2 { background:#397740; }
body.tsGame #log .tsLogPlayer.color3 { background:#8553a4; }
body.tsGame #log .tsLogPlayer.color4 { background:#9a6900; }
