*{box-sizing:border-box}body{margin:0;background:#0e1928;color:#f6efd9;font:16px system-ui,-apple-system,sans-serif}main{max-width:1000px;margin:auto;padding:24px}header{text-align:center;margin:18px 0 30px}h1{letter-spacing:.14em;color:#e9c477}header p,.hint,small{color:#afbed0}.panel{background:#19293d;border:1px solid #41536c;border-radius:16px;padding:24px;box-shadow:0 12px 30px #0003}button{background:#d5aa58;border:0;color:#182638;font-weight:700;border-radius:8px;padding:13px 16px;cursor:pointer}button.secondary{background:#344b64;color:#fff}button:disabled{opacity:.4;cursor:default}input{background:#0e1b2c;color:#fff;border:1px solid #65748b;border-radius:8px;padding:13px;width:100%;margin:6px 0;font-size:16px}.buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.rule{text-align:center;color:#a8b8cc;margin:20px 0 10px}.hidden{display:none!important}#error{color:#ffb5a7}.top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}#roomcode{font-size:clamp(30px,6vw,52px);letter-spacing:.14em;color:#f1c978;margin:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.player{background:#293e56;border:1px solid #506886;border-radius:10px;text-align:center;padding:16px}.player h3{margin:8px 0}.board{background:#111f31;border:1px solid #546985;border-radius:12px;padding:12px;display:grid;gap:9px}.zone{background:#283e56;min-height:50px;border-radius:7px;padding:14px;text-align:center;font-size:13px;letter-spacing:.06em}.zone span{color:#94a6b9;margin-left:10px}.middle{text-align:center;padding:22px 8px;color:#e9c477;letter-spacing:.12em;border-top:1px solid #546985;border-bottom:1px solid #546985}li{margin:7px 0}@media(max-width:600px){main{padding:12px}.panel{padding:15px}.grid{gap:8px}.player{padding:9px}}


/* Battlefield layout v2 — visual-only zones, no invented game state */
.viewtools{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin:12px 0;color:#d4dfec;font-size:13px}
.viewtools select{background:#102238;color:#fff;border:1px solid #6c829c;border-radius:8px;padding:9px}
.battlefield{background:radial-gradient(ellipse at center,#1b3545,#0b1829 80%);border:1px solid #ad8b50;border-radius:14px;padding:12px;display:grid;gap:12px}
.side-inner{display:grid;gap:10px}
.side-header{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#f4deb0;font-size:14px}
.treasure{background:#293d4f;border:1px solid #b39258;border-radius:20px;padding:7px 12px;font-size:12px;white-space:nowrap}
.side-grid{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px}
.side-piles{display:flex;flex-direction:column;justify-content:space-around;gap:10px;align-items:center}
.pile-wrap{display:grid;justify-items:center;gap:4px;color:#dce4ec;font-size:11px}
.pile-cards{width:56px;height:76px;border:2px solid #d7b773;border-radius:6px;display:grid;place-items:center;font-size:25px;color:#e6c982;box-shadow:3px 3px 0 #40536b,5px 5px 0 #253a50}
.pile-cards.deck{background:linear-gradient(145deg,#425775,#172b43)}
.pile-cards.discard{background:linear-gradient(145deg,#7e6a4c,#34303a)}
.pile-name{font-weight:700;letter-spacing:.06em}
.pile-count{color:#a6b5c5}
.side-fields{display:grid;gap:8px}
.battle-zone{min-height:68px;border:1px dashed #7890a5;border-radius:8px;background:#2842578a;padding:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
.zone-title{font-size:12px;font-weight:750;letter-spacing:.08em;color:#e5c88e}
.zone-detail{font-size:11px;color:#b2c3d3}
.subzones{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.subzones .battle-zone{min-height:60px}
.centreline{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #ad8b50;border-bottom:1px solid #ad8b50;color:#e6c786;padding:10px 4px;font-size:12px;font-weight:700;letter-spacing:.1em}
@media(min-width:850px){main{max-width:1160px}.side-grid{grid-template-columns:140px minmax(0,1fr)}.side-piles{flex-direction:row}.battle-zone{min-height:90px}}
@media(max-width:560px){.side-grid{grid-template-columns:70px minmax(0,1fr);gap:6px}.pile-cards{width:38px;height:51px}.treasure{font-size:10px;padding:5px}.side-header{font-size:12px}.battlefield{padding:8px}.battle-zone{padding:7px}.zone-title{font-size:10px}.zone-detail{font-size:9px}.centreline{font-size:10px}}


/* V3: physical playmat battlefield; same live room and demonstration controls */
main{max-width:1480px}
.battlefield{padding:8px;gap:5px;background:#071526}
.playmat-side{width:100%;min-width:0}
.mat-player-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 10px;color:#f5d89d;font-size:clamp(12px,1.3vw,18px)}
.mat-score{font-size:clamp(10px,1.1vw,16px);background:#102438e8;border:1px solid #d5b16e;border-radius:18px;padding:5px 10px}
.physical-mat{width:100%;height:clamp(185px,34vh,390px);position:relative;overflow:hidden;border-radius:8px;border:2px solid #ad8b50;background-image:linear-gradient(#07152a10,#07152a1a),url('/playmat.jpg');background-size:100% 100%;background-position:center}
.mat-zone{position:absolute;border:1px dashed #ffe5a6a8;background:#051c3699;border-radius:6px;display:flex;justify-content:center;align-items:center;color:#fff;pointer-events:none}
.mat-zone-tag{background:#06182bc9;padding:4px 7px;border-radius:5px;font-size:clamp(9px,1vw,14px);font-weight:800;letter-spacing:.02em;text-align:center;text-shadow:0 1px 2px #000}
.mission-field{left:24%;top:14%;width:54%;height:46%}
.faith-pool{left:3%;top:65%;width:52%;height:31%}
.upper-room{left:56%;top:65%;width:22%;height:31%}
.grave-spot{left:80%;top:15%;width:18%;height:41%}
.deck-spot{left:80%;top:61%;width:18%;height:35%}
.mat-treasure-marker{position:absolute;top:4%;left:12%;border-radius:50%;border:2px solid #f7d58a;background:#061c37;color:#fff;min-width:22px;height:22px;display:grid;place-items:center;font-weight:800;font-size:12px}
.centreline{padding:7px 5px}
@media(max-width:650px){.physical-mat{height:190px}.mat-zone-tag{font-size:9px;padding:3px}.mat-player-bar{padding:5px 0}.mat-score{font-size:10px}}

/* V4 card rendering */
.mat-zone{overflow:hidden;flex-wrap:wrap;align-content:center;gap:2px;padding:2px}
.mat-zone-tag{position:absolute;left:2px;top:2px;z-index:2;font-size:clamp(8px,.75vw,11px);opacity:.85}
.battle-card{width:clamp(18px,3vw,52px);height:auto;max-height:90%;object-fit:contain;border-radius:2px;box-shadow:0 1px 3px #000}
.battle-card.exhausted{transform:rotate(90deg);margin:0 6px}
.pile-counter{position:absolute;right:2px;bottom:2px;color:#fff;background:#09182df0;border-radius:4px;padding:2px 6px;font-weight:bold;font-size:12px}
.hand-panel{background:#071a2d;border:1px solid #a98851;border-radius:10px;margin-top:14px;padding:12px}
.hand-cards{display:flex;overflow-x:auto;gap:10px;padding:12px 4px}
.hand-card{flex:0 0 130px;background:#10283e;color:#fff;border:2px solid #7d683f;border-radius:8px;padding:5px;cursor:pointer;display:flex;flex-direction:column;gap:5px;align-items:center}
.hand-card img{width:100%;aspect-ratio:1080/1478;object-fit:contain}
.hand-card span{font-size:11px}
.hand-card.selected{border-color:#f6d483;box-shadow:0 0 12px #f6d48388}
@media(max-width:650px){.hand-card{flex-basis:118px}.battle-card{width:22px}}

/* V6 faction selection */
.faction-panel{margin:14px 0;padding:14px;border:1px solid #a48755;border-radius:10px;background:#091c30}
.faction-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}
.faction-option{border:3px solid transparent;min-height:48px;border-radius:8px;font-weight:800;color:#fff;cursor:pointer}
.faction-option.chosen{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #a98a42}
.faction-red{background:#a62837}.faction-yellow{background:#e7bd35;color:#221900}.faction-green{background:#146a40}.faction-blue{background:#216ab1}.faction-white{background:#e8e7dd;color:#222}.faction-purple{background:#81549e}
@media(max-width:480px){.faction-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V8 Challenge controls and remaining Resilience */
#challengePanel{margin-top:14px}
#challengePanel select{display:block;width:100%;background:#102238;color:#fff;border:1px solid #6c829c;border-radius:8px;padding:10px;margin:7px 0 12px}
#challengePanel label{display:block;font-size:13px;color:#e4d3ae}
.battle-card-wrap{display:inline-flex;position:relative;align-items:center;justify-content:center;flex:none}
.battle-card-wrap .battle-card{display:block}
.resilience-number{position:absolute;right:-3px;top:48%;transform:translateY(-50%);border:1px solid #b78c35;border-radius:50%;width:clamp(15px,1.6vw,23px);height:clamp(15px,1.6vw,23px);display:grid;place-items:center;background:#fffdf4;font-size:clamp(10px,1vw,15px);font-weight:900;z-index:3;box-shadow:0 1px 4px #000a}
.resilience-original{color:#181818}.resilience-damaged{color:#cc2020}.resilience-enhanced{color:#168c39}

/* V8.1 — prepared-Faith affordability glow on the player's phone */
.hand-card.affordable{border-color:#8fe3ac;box-shadow:0 0 0 1px #a5ffd0,0 0 13px 3px #54db8799,inset 0 0 7px #69d99635;transition:box-shadow .18s,border-color .18s}
.hand-card.affordable.selected{border-color:#ffe3a1;box-shadow:0 0 0 2px #f7d580,0 0 17px 4px #73e9a2aa}
/* Grave is a face-up pile, not a row of individual cards. */
.grave-spot{overflow:hidden;flex-wrap:nowrap;align-items:center;justify-content:center}
.grave-stack{position:relative;display:block;width:clamp(25px,4.4vw,63px);height:clamp(39px,6vw,89px);flex:0 0 auto}
.grave-stack-card.battle-card{position:absolute;top:0;left:0;width:100%;max-height:none;height:100%;object-fit:contain;transform:translate(var(--grave-offset),calc(var(--grave-index) * -0.6px)) rotate(var(--grave-angle));transform-origin:center center;box-shadow:0 1px 4px #0009;border:1px solid #e5c48b66}
.grave-spot .pile-counter{z-index:12}
@media(max-width:650px){.grave-stack{width:25px;height:38px}}

/* V9.5: retain legacy controls for compatibility, but replace their UI. */
.legacy-action{display:none!important}
#inPlayCards{scroll-snap-type:x proximity}
#inPlayCards .hand-card{scroll-snap-align:start}
#inPlayPanel .buttons button{flex:1 1 110px}
#inPlayTargetOverlay{z-index:1100}
#inPlayTargetOptions{width:100%;padding:12px;background:#0e1b2c;color:white;border:1px solid #65748b;border-radius:8px}

/* V9.6: challenge and ability target cards use the same scrollable layout as the hand. */
#inPlayTargetOverlay .decision-box{width:min(96vw,680px);max-width:680px;box-sizing:border-box}
#inPlayTargetCards{width:100%;box-sizing:border-box;min-height:120px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
#inPlayTargetCards .target-card{scroll-snap-align:start;text-align:center}
#inPlayTargetCards .target-card span{line-height:1.4}
#inPlayTargetConfirm:disabled{opacity:.45;cursor:not-allowed}

/* V9.7: staged mobile onboarding, without TV battlefield and debug controls. */
body.phone-setup #room,body.phone-coin #room{max-width:580px;margin:0 auto}
body.phone-setup #room>.top,body.phone-setup #room>.top~.hint,body.phone-setup #room>.grid,
body.phone-coin #room>.top,body.phone-coin #room>.top~.hint,body.phone-coin #room>.grid,
body.phone-setup #room>.viewtools,body.phone-coin #room>.viewtools,
body.phone-setup #room>.battlefield,body.phone-coin #room>.battlefield,
body.phone-setup #room>#role,body.phone-coin #room>#role,
body.phone-setup #room>#role~p,body.phone-coin #room>#role~p,
body.phone-setup #room>.buttons,body.phone-coin #room>.buttons,
body.phone-setup #room>#events,body.phone-coin #room>#events,
body.phone-setup #room>#events~*,body.phone-coin #room>#events~*,
body.phone-setup #room>.hand-panel,body.phone-coin #room>.hand-panel{display:none!important}
body.phone-coin #factionPanel{display:none!important}
body.phone-playing #room>.top,body.phone-playing #room>.top~.hint,body.phone-playing #room>.grid,
body.phone-playing #room>.viewtools,body.phone-playing #room>.battlefield,
body.phone-playing #room>#role,body.phone-playing #room>#role~p,
body.phone-playing #room>#events,body.phone-playing #room>#events~*{display:none!important}
body.phone-playing #room{max-width:680px;margin:auto}
body.phone-playing #room>.buttons{display:flex}
body.phone-playing #room>.buttons #start,body.phone-playing #room>.buttons #testOpeningLabel{display:none!important}
body.phone-setup #room>.faction-panel{margin:0;border:0;padding:8px;background:transparent}
body.phone-setup #room>.faction-panel h3{font-size:24px}
.test-setting{display:flex;align-items:center;gap:10px;font-size:13px;color:#d7c49b;margin-top:18px}
.test-setting input{width:auto;margin:0}
.setup-coin{text-align:center;padding:24px 8px 34px}
.coin-face{width:175px;height:175px;border-radius:50%;display:grid;place-items:center;margin:24px auto;background:radial-gradient(circle at 35% 30%,#ffeb9f,#e2b95e 55%,#956b29);color:#3a280d;font-size:22px;font-weight:900;border:9px double #8c6226;box-shadow:0 5px 30px #0008, inset 0 2px 15px #fff9}
.setup-coin .buttons{justify-content:center}
.setup-coin .buttons button{flex:1;min-width:125px}

/* V9.9: Moses healing target selection, matching Challenge card carousel */
#decisionOverlay .decision-box{width:min(96vw,680px);max-width:680px;box-sizing:border-box}
#mosesHealingCards{overflow-x:auto;scroll-snap-type:x proximity;max-width:100%;margin:10px 0}
#mosesHealingCards .target-card{scroll-snap-align:start;text-align:center}
#mosesHealingCards .target-card span{line-height:1.4}

/* V10 elevated character stack marker */
.battle-card-wrap{position:relative}.stack-count{position:absolute;top:-7px;right:-8px;z-index:8;background:#132b49;color:#ffd36b;border:1px solid #ffd36b;border-radius:999px;padding:2px 5px;font-weight:bold;font-size:11px}

/* V10.1: true viewport overlays for all target selectors, including Elevate. */
#inPlayTargetOverlay.decision-overlay, #decisionOverlay.decision-overlay{
 position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;
 padding:16px;background:rgba(4,11,22,.86);overflow-y:auto;overscroll-behavior:contain;
}
#inPlayTargetOverlay .decision-box,#decisionOverlay .decision-box{
 width:min(96vw,680px);max-height:calc(100dvh - 32px);overflow-y:auto;
 margin:auto;background:#19293d;border:1px solid #b89452;border-radius:16px;
 padding:clamp(14px,3vw,24px);box-shadow:0 20px 80px #000c;
}
#inPlayTargetOverlay .hand-cards{overflow-x:auto;max-width:100%;}
@media(max-width:600px){#inPlayTargetOverlay.decision-overlay,#decisionOverlay.decision-overlay{padding:8px}#inPlayTargetOverlay .decision-box,#decisionOverlay .decision-box{max-height:calc(100dvh - 16px)}}

/* V10.3: visibly distinguish non-Challenge Ability Damage. */
.damage-toast{position:fixed;z-index:10000;left:50%;top:14%;transform:translateX(-50%);width:min(92vw,560px);padding:16px 20px;border-radius:16px;color:white;text-align:center;font-weight:800;box-shadow:0 12px 45px #000a;pointer-events:none;animation:damage-pop 2.9s ease-out forwards}
.damage-toast.ability-damage{background:linear-gradient(135deg,#48217d,#a344f5);border:2px solid #d2a0ff}
.damage-toast.challenge-damage{background:linear-gradient(135deg,#731923,#d23939);border:2px solid #ffaaa4}
@keyframes damage-pop{0%{opacity:0;transform:translate(-50%,-16px) scale(.88)}12%,72%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-20px) scale(.97)}}

/* V10.4.1: damage targets grouped by controller and battlefield zone. */
#inPlayTargetCards:has(.damage-target-groups){display:block;overflow-x:hidden;max-width:100%;}
.damage-target-groups{display:grid;gap:14px;width:100%;min-width:0;}
.damage-target-group{border:2px solid;border-radius:12px;padding:10px;min-width:0;background:rgba(10,20,34,.65);}
.damage-target-own{border-color:#4294e8;}
.damage-target-opponent{border-color:#e45c64;}
.damage-target-heading{margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:.07em;}
.damage-target-own .damage-target-heading{color:#8bc5ff;}
.damage-target-opponent .damage-target-heading{color:#ff9da4;}
.damage-target-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 3px 10px;min-width:0;}
.damage-target-row .target-card{flex:0 0 auto;scroll-snap-align:start;}
.damage-target-row .target-side-own:not(.selected){border:2px solid #4294e8;}
.damage-target-row .target-side-opponent:not(.selected){border:2px solid #e45c64;}
.damage-target-row .target-card.selected{border:3px solid #f3cb59;box-shadow:0 0 0 2px #f3cb5980;}
.target-zone-label{display:block;font-size:11px;font-weight:700;opacity:.9;margin-top:4px;}

/* V10.5.1: constrain grouped damage targets to phone-sized thumbnails.
   The former flex:0 0 auto allowed the image intrinsic width to expand each card. */
#inPlayTargetCards .damage-target-row{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;}
#inPlayTargetCards .damage-target-row .target-card{
  flex:0 0 112px;width:112px;min-width:112px;max-width:112px;
  box-sizing:border-box;align-self:flex-start;overflow:hidden;
}
#inPlayTargetCards .damage-target-row .target-card img{
  display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1080/1478;object-fit:contain;
}
#inPlayTargetCards .damage-target-row .target-card span{
  display:block;max-width:100%;overflow-wrap:anywhere;font-size:11px;
}
@media(max-width:420px){
 #inPlayTargetCards .damage-target-row .target-card{flex-basis:104px;width:104px;min-width:104px;max-width:104px;}
}

/* V10.8.1: symmetric two-player television field with public face-down hands */
.tv-hand-row{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:92px;padding:6px 0;gap:3px}
.tv-card-fan{display:flex;justify-content:center;align-items:center;height:69px;width:min(100%,780px);padding:8px 15px;overflow:visible}
.tv-hand-back{width:clamp(28px,3.8vw,52px);height:clamp(40px,5.2vw,72px);object-fit:cover;flex:none;border:1px solid #d3b67c;border-radius:4px;box-shadow:0 2px 5px #0009;transform:translateY(var(--fan-rise)) rotate(var(--fan-angle));transform-origin:center 110%;margin-left:clamp(-23px,-1.6vw,-9px)}
.tv-hand-back:first-child{margin-left:0}
.tv-hand-count{font-size:12px;color:#e6cf99;font-weight:700;letter-spacing:.04em}
.opponent-side .physical-mat{background-image:linear-gradient(#07152a10,#07152a1a),url('/playmat.jpg');background-position:center;background-size:100% 100%}
/* Mirror the zone positions across the centre line; card artwork stays upright. */
.opponent-side .mission-field{top:40%}
.opponent-side .faith-pool{top:4%}
.opponent-side .upper-room{top:4%}
.opponent-side .grave-spot{top:44%}
.opponent-side .deck-spot{top:4%}
.opponent-side .mat-treasure-marker{top:auto;bottom:4%}
@media(max-width:650px){.tv-hand-row{min-height:75px}.tv-card-fan{height:52px}.tv-hand-back{width:30px;height:43px;margin-left:-14px}}

/* V10.9: Judas publicly reveals opponent hand on the TV. */
.tv-hand-row:has(.tv-hand-count) .tv-hand-back{transition:transform .2s}
.tv-hand-row:has(.tv-hand-count) .tv-hand-count{padding:3px 8px}

/* V10.12 — responsive post-match results on TVs and phones */
.kh-results{position:fixed;inset:0;z-index:9999;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;background:radial-gradient(ellipse at 50% 0%,#354a62 0%,#101c30 55%,#080e19 100%);color:#f6f3eb;display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.3vh,18px);padding:clamp(10px,2vh,30px) clamp(12px,3vw,42px);font-family:inherit;text-align:center}
.kh-results *{box-sizing:border-box}.kh-result-heading h1{font-size:clamp(25px,5vh,68px);color:#eacb83;letter-spacing:.12em;margin:2px 0}.kh-result-heading h2{font-size:clamp(16px,2.9vh,36px);margin:0}.kh-result-heading p{margin:3px 0;color:#bccbdc;font-size:clamp(10px,1.5vh,17px)}.kh-result-eyebrow{color:#eacb83;font-size:clamp(10px,1.4vh,16px);letter-spacing:.18em}
.kh-result-scores{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,2vw,25px);width:min(760px,100%)}.kh-result-score{border:1px solid #516075;background:#25354a;border-radius:12px;padding:clamp(7px,1.5vh,18px);display:flex;flex-direction:column;gap:1px}.kh-result-score.kh-champion{border-color:#eacb83;background:#334139}.kh-result-score strong{font-size:clamp(22px,5vh,58px);color:#eacb83}.kh-result-score span{font-weight:bold;font-size:clamp(12px,2vh,21px)}.kh-result-score small{font-size:clamp(9px,1.4vh,14px);color:#c3d0df}
.kh-result-stats{width:min(850px,100%)}.kh-result-stats h3{color:#eacb83;font-size:clamp(14px,2vh,24px);margin:2px 0 6px}.kh-result-cards{display:flex;justify-content:center;gap:clamp(7px,1.5vw,22px)}.kh-result-card{width:min(28%,160px);display:flex;flex-direction:column;gap:3px;align-items:center}.kh-result-card img{width:auto;height:clamp(50px,17vh,200px);max-width:100%;object-fit:contain;border-radius:5px}.kh-result-card b{font-size:clamp(9px,1.5vh,15px)}.kh-result-card small{font-size:clamp(8px,1.25vh,12px);color:#c4d0dc}
.kh-result-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(8px,2vw,18px);width:min(760px,100%);margin-top:auto;padding-bottom:4px}.kh-result-actions p{width:100%;margin:0;font-size:clamp(11px,1.7vh,18px)}.kh-result-actions button{flex:1 1 145px;min-width:0;max-width:340px;min-height:clamp(37px,7vh,70px);border-radius:10px;border:1px solid #91a1b4;color:white;font-weight:bold;font-size:clamp(12px,2.1vh,22px);cursor:pointer;padding:6px}.kh-result-actions .kh-rematch{background:#376342}.kh-result-actions .kh-newgame{background:#36517c}.kh-result-actions .kh-secondary{background:#344055}
@media(max-height:460px){.kh-results{gap:5px;padding:6px 14px}.kh-result-heading h1{font-size:25px}.kh-result-heading h2{font-size:15px}.kh-result-score{padding:5px}.kh-result-score strong{font-size:23px}.kh-result-stats h3{font-size:12px;margin:0}.kh-result-card img{height:16vh}.kh-result-card small{font-size:9px}.kh-result-actions button{min-height:34px;font-size:12px}.kh-result-actions{gap:8px}}

/* V10.13 — live Strength overlay opposite the Resilience marker. */
.strength-number{position:absolute;left:-3px;top:48%;transform:translateY(-50%);border:1px solid #b78c35;border-radius:50%;width:clamp(15px,1.6vw,23px);height:clamp(15px,1.6vw,23px);display:grid;place-items:center;background:#fffdf4;color:#181818;font-size:clamp(10px,1vw,15px);font-weight:900;z-index:3;box-shadow:0 1px 4px #000a}
.strength-number.strength-boosted{color:#168c39;border-color:#168c39}
