/* Twenty-Nine deal calculator (assets/js/tools/twenty-nine.js) */
.tl-tnine-teams { display: grid; grid-template-columns: repeat(2, 1fr); gap: .4rem; }
.tl-tnine-teams .tl-btn { min-width: 0; overflow-wrap: anywhere; }
.tl-tnine-select { font: inherit; font-size: 1.1rem; min-height: 44px; padding: .2rem .6rem; border: 1px solid var(--card-line); border-radius: 6px; }
.tl-tnine-bidrow { display: flex; align-items: center; gap: .8rem; }
.tl-tnine-pairs, .tl-tnine-mults { display: grid; grid-template-columns: repeat(3, 1fr); gap: .3rem; }
.tl-tnine-pairs .tl-btn, .tl-tnine-mults .tl-btn { min-width: 0; padding-left: .2rem; padding-right: .2rem; font-size: .95rem; }
.tl-tnine-ptsrow { display: flex; align-items: center; gap: .4rem; }
.tl-tnine-in { font: inherit; font-size: 1.15rem; font-weight: 700; width: 4.5rem; min-height: 44px; text-align: center; border: 1px solid var(--card-line); border-radius: 6px; }
.tl-tnine-eff { font-weight: 700; color: var(--card-ink); font-style: normal; }
.tl-tnine-specials { display: flex; flex-direction: column; gap: .4rem; align-items: stretch; margin: .6rem 0; }
.tl-tnine-toggle { text-align: left; }
.tl-tnine-verdict { font-size: 1rem; font-weight: 700; margin: .3rem 0; }
.tl-tnine-verdict.failed { color: var(--card-red); }
.tl-tnine-scores { display: grid; grid-template-columns: repeat(2, 1fr); gap: .4rem; margin-top: .4rem; }
.tl-tnine-scores > div { display: flex; flex-direction: column; align-items: center; padding: .3rem; border: 1px solid var(--card-line); border-radius: 6px; min-width: 0; }
.tl-tnine-scores span { font-size: .9rem; font-weight: 400; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.tl-tnine-scores b { font-variant-numeric: tabular-nums; font-size: 1.1rem; }
.tl-tnine-scores small { font-size: .8rem; font-weight: 400; color: var(--card-soft); }
.tl-tnine-win { font-weight: 800; font-size: 1.05rem; margin-top: .4rem; }
.tl-tnine-opts { margin: .6rem 0 0; }
.tl-tnine-opts summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: var(--card-soft); }
.tl-tnine-opt { text-align: left; flex: 1 1 100%; }
