/* Bridge contract scorer (assets/js/tools/bridge.js) */
.tl-bridge .tl-field > label { font-size: .95rem; color: var(--ink-soft); font-variant-caps: all-small-caps; letter-spacing: .06em; }
.tl-bridge .tl-btn { min-width: 44px; }
.tl-bridge-stepper { flex-wrap: nowrap; }
.tl-bridge-step { font-size: 1.3rem; font-weight: 700; min-width: 52px; }
.tl-bridge-tricks { flex: 1; text-align: center; font-weight: 700; }
.tl-bridge-lines { list-style: none; margin: 0 0 .8rem; padding: 0; font-size: .95rem; }
.tl-bridge-lines li { display: flex; justify-content: space-between; gap: .8rem; padding: .2rem 0; border-bottom: 1px dotted var(--card-line); }
.tl-bridge-lines .pts { white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 700; }
.tl-bridge-lines li.def .pts { color: var(--red); }
.tl-bridge-7, .tl-bridge-5, .tl-bridge-4 { display: grid; gap: .4rem; }
.tl-bridge-7 { grid-template-columns: repeat(7, 1fr); }
.tl-bridge-5 { grid-template-columns: repeat(5, 1fr); }
.tl-bridge-4 { grid-template-columns: repeat(4, 1fr); }
.tl-bridge-7 .tl-btn, .tl-bridge-5 .tl-btn, .tl-bridge-4 .tl-btn { padding-left: 0; padding-right: 0; min-width: 0; }
