/* CardLab career & hand replay: accessible, quiet, mobile-first. */
.career-section-heading{margin:32px 0 16px}.career-section-heading h2{font-size:22px;margin:0 0 5px;color:var(--text,#153d2e)}.career-section-heading p{font-size:13px;color:var(--muted,#667a70);line-height:1.65;margin:0}
.career-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 20px}
.career-stat{background:var(--surface,#fff);border:1px solid var(--line,#dbe4d9);border-radius:14px;padding:17px;min-width:0}
.career-stat strong{display:block;color:var(--text,#173e31);font-size:24px;line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.career-stat span{display:block;font-size:12px;margin-top:7px;color:var(--muted,#688173)}
.career-stat small{display:block;font-size:11px;margin-top:6px;color:var(--muted,#748276)}
.career-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:17px}
.career-columns .panel{min-width:0}.career-breakdown-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line,#e2e9e0);padding:11px 0;font-size:13px}
.career-breakdown-row strong{text-align:right;font-variant-numeric:tabular-nums}.career-caption,.career-muted{font-size:12px;line-height:1.7;color:var(--muted,#688173)}
.career-hand-list{display:flex;flex-direction:column;gap:0}
.career-hand{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:13px;align-items:center;border-top:1px solid var(--line,#dde5da);padding:12px 0}
.career-hand:first-child{border-top:0}.career-hand strong{display:block;font-size:14px}.career-hand small{display:block;color:var(--muted,#6b8173);font-size:11px;margin-top:3px}
.career-net{font-size:14px;font-weight:800;color:var(--muted,#526f5a)}.career-net.gain{color:#257e52}.career-net.loss{color:#b54d46}
.career-replay-link,.replay-back{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;background:#e5eddf;color:#24523c;border:1px solid #ced9c6;border-radius:9px;min-height:44px;font-size:13px;font-weight:800}
.career-replay-link:hover,.replay-back:hover{background:#d5e5d5}
.career-empty{background:var(--soft,#f0f5ed);border-radius:10px;padding:18px;color:var(--muted,#647d6c);font-size:13px}
.career-table-scroll{overflow-x:auto}.career-position-table{border-collapse:collapse;width:100%;font-size:12px;min-width:310px;text-align:right}
.career-position-table th,.career-position-table td{padding:9px 5px;border-bottom:1px solid var(--line,#e0e7de)}
.career-position-table thead th{font-size:11px;color:var(--muted,#6e8075)}
.career-position-table th:first-child{text-align:left}.career-data-note{font-size:12px;color:var(--muted,#687c6d);line-height:1.7;margin-top:24px}.career-data-note a{text-decoration:underline;color:var(--text,#1f5740)}
.replay-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.replay-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start;margin-top:18px}
.replay-progress{background:var(--surface,#fff);padding:15px 18px;border:1px solid var(--line,#d9e4d8);border-radius:13px 13px 0 0}.replay-progress span{display:block;font-size:11px;letter-spacing:.09em;font-weight:800;color:#a07d3b}.replay-progress strong{display:block;font-size:16px;margin-top:5px;line-height:1.5}
.replay-stage{border-radius:0 0 15px 15px;min-height:250px;background:#103c31;color:#eff7ee;padding:21px}
.pk-replay-stage{background:#203d49}.replay-street{color:#dfbd6a;font-weight:800;font-size:12px;letter-spacing:.08em;margin-bottom:16px}
.replay-player{margin-bottom:18px}.replay-actor,.replay-board strong{display:block;font-size:13px;font-weight:800;margin-bottom:9px}.replay-cards{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.replay-card{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;background:#fffdf7;color:#173729;border-radius:6px;border:1px solid #ece4d1;width:47px;height:62px;font-weight:800}
.replay-card strong{font-size:23px;line-height:1.1}.replay-card span{font-size:17px}.replay-card.red{color:#b73543}
.replay-card.hidden-card{background:#2d5788;border:2px solid #7797b8;color:#deeaff;font-size:22px}
.replay-replay-hand{padding:9px 0;border-top:1px solid #ffffff33}.replay-replay-hand>span{display:block;font-size:11px;margin-bottom:7px;color:#d9e9d5}
.replay-none{font-size:12px;color:#d5ddcf}.replay-final{border-top:1px solid #ffffff44;margin-top:15px;padding-top:12px;font-weight:800;color:#ead09b}
.replay-board{margin-bottom:16px}.replay-seats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.replay-seat{background:#ffffff12;border:1px solid #ffffff36;border-radius:9px;padding:10px;min-width:0}
.replay-seat.self{background:#cca75b26;border-color:#d8bc78}.replay-seat.folded{opacity:.6}
.replay-seat>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:11px;margin-bottom:7px}.replay-seat small{color:#efd78e;font-size:10px}
.replay-seat .replay-card{width:30px;height:41px}.replay-seat .replay-card strong{font-size:15px}.replay-seat .replay-card span{font-size:11px}
.replay-seat>span{display:block;font-size:10px;color:#d4e0dc;margin-top:7px}
.replay-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.replay-actions button{flex:1 1 110px;border:1px solid var(--line,#d7dfd5);background:var(--surface,#fff);color:var(--text,#1c4631);border-radius:10px;min-height:46px;padding:10px 9px;font-size:12px;font-weight:800}
.replay-actions button:not(:disabled):hover{border-color:#b69550}.replay-actions button:disabled{opacity:.4;cursor:not-allowed}
.replay-review{border:1px solid var(--line,#dfe6db);background:var(--surface,#fff);border-radius:15px;padding:19px;max-height:700px;overflow:auto}
.replay-review h2{margin:0 0 5px;font-size:19px}.replay-muted,.replay-note{color:var(--muted,#6d7e70);font-size:12px;line-height:1.7}
.replay-decision{padding:13px 0;border-bottom:1px solid var(--line,#e0e8df);font-size:13px;line-height:1.5}
.replay-decision>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:6px}.replay-graded{font-size:10px;color:#805c2c}
.replay-decision small{display:block;margin-top:7px;color:var(--muted,#6a8270)}.replay-decision p{color:var(--text,#1f4934);font-size:12px}
.replay-warning{background:#fff3dc;border:1px solid #d7bd7d;color:#705427;border-radius:10px;padding:13px 17px;font-size:13px;line-height:1.6;margin-top:15px}
[data-theme="dark"] .career-replay-link,[data-theme="dark"] .replay-back{background:#305a42;color:#f0f9ed;border-color:#547455}
[data-theme="dark"] .replay-warning{background:#514329;color:#f6e9c8}
@media(max-width:1150px){.career-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.replay-layout{grid-template-columns:1fr}.replay-review{max-height:none}}
@media(max-width:760px){.career-columns{grid-template-columns:1fr}.career-hand{grid-template-columns:minmax(0,1fr) auto;gap:8px}.career-replay-link{grid-column:1/-1;justify-content:center}.career-stat strong{font-size:21px}.replay-heading{align-items:flex-start;flex-direction:column}.replay-stage{padding:14px}.replay-seats{grid-template-columns:repeat(2,minmax(0,1fr))}.replay-card{width:42px;height:58px}}
