.spades-round-ledger { margin: 14px 0; padding: 0 12px 10px; border: 1px solid #91a5a2; border-radius: 8px; background: #102a28; color: #eff8f5; min-width: 0; text-align: left; }
.spades-round-ledger summary { min-height: 44px; display: list-item; padding: 12px 0; cursor: pointer; font-weight: 700; }
.spades-round-ledger p { margin: 9px 0; line-height: 1.5; overflow-wrap: anywhere; }
.spades-round-ledger .sp-review-note { color: #c2d7d0; font-size: .9rem; }
.spades-round-ledger h3 { margin: 16px 0 8px; font-size: 1rem; }
.spades-round-ledger table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 12px 0; }
.spades-round-ledger caption { text-align: left; font-weight: 700; margin-bottom: 5px; }
.spades-round-ledger th, .spades-round-ledger td { padding: 6px; border-bottom: 1px solid #55706a; text-align: left; overflow-wrap: anywhere; }
.spades-round-ledger td { width: 30%; text-align: right; font-variant-numeric: tabular-nums; }
.spades-round-ledger .sp-review-goal { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; margin: 12px 0; }
.spades-round-ledger label { display: flex; flex-direction: column; gap: 5px; width: 100%; }
.spades-round-ledger input, .spades-round-ledger button { box-sizing: border-box; min-height: 44px; max-width: 100%; padding: 8px 10px; border: 1px solid #9dbeb4; border-radius: 5px; background: #f4faf7; color: #12342d; font: inherit; }
.spades-round-ledger input { width: 100%; }
.spades-round-ledger button { cursor: pointer; }
.spades-round-ledger :focus-visible { outline: 3px solid #f4d979; outline-offset: 3px; }
.spades-round-ledger .sp-review-tricks { padding-left: 22px; margin: 9px 0; }
.spades-round-ledger li { margin-bottom: 8px; line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 420px) { .spades-round-ledger .sp-review-goal button { flex: 1 1 100%; } }
