/* Pinochle meld counter and hand scorer (assets/js/tools/pinochle.js) */
.tl-pn + .tl-pn { margin-top: 1rem; }
.tl-pn .tl-pn-suit { min-width: 52px; font-size: 1.3rem; padding: .2rem .6rem; }
.tl-pn-cards { display: grid; grid-template-columns: repeat(6, 1fr); gap: .3rem; }
.tl-pn-c { position: relative; min-height: 48px; padding: .2rem 0; font: inherit; font-weight: 700; font-variant-numeric: tabular-nums;
  background: var(--card); color: var(--card-ink); border: 1px dashed var(--card-line); border-radius: 6px; cursor: pointer; opacity: .75; }
.tl-pn-c.red { color: var(--card-red); }
.tl-pn-c[data-n="1"], .tl-pn-c[data-n="2"] { opacity: 1; border-style: solid; border-width: 2px; background: var(--card); box-shadow: 0 1px 0 var(--card-line); }
.tl-pn-c[data-n="2"] { background: var(--card-ink); color: var(--card); }
.tl-pn-c.red[data-n="2"] { background: var(--card-red); color: #fff; border-color: var(--card-red); }
.tl-pn-x { position: absolute; top: 1px; right: 3px; font-size: .7rem; line-height: 1; }
.tl-pn .tl-pn-count { margin: 0; flex: 1; }
.tl-pn .tl-pn-melds { text-align: left; font-size: 1rem; font-weight: 400; }
.tl-pn-list { list-style: none; margin: 0; padding: 0; }
.tl-pn-list li, .tl-pn-line { display: flex; justify-content: space-between; gap: .6rem; padding: .15rem 0; }
.tl-pn-v { font-weight: 700; font-variant-numeric: tabular-nums; }
.tl-pn-total { font-size: 1.3rem; font-weight: 800; text-align: center; margin-top: .3rem; }
.tl-pn-melds .tl-note { margin: .2rem 0; text-align: center; }
.tl-pn-sides { display: grid; gap: .5rem; margin: .6rem 0; }
.tl-pn-side { border: 1px solid var(--card-line); border-radius: 8px; padding: .3rem .6rem; }
.tl-pn-name { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tl-pn-fields { display: grid; grid-template-columns: minmax(5rem, 1fr) auto; gap: .6rem; align-items: end; }
.tl-pn-fields .tl-field { margin: .2rem 0; }
.tl-pn-stepper { display: flex; align-items: center; gap: .35rem; }
.tl-pn .tl-pn-step { min-width: 44px; padding: .2rem; font-weight: 700; }
.tl-pn-val { min-width: 2ch; text-align: center; font-weight: 700; font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.tl-pn-stepper .tl-note { min-width: 3.3rem; }
.tl-pn .tl-out { font-size: 1.05rem; }
.tl-pn-line { text-align: left; font-weight: 400; }
.tl-pn-line b { font-size: 1.3rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.tl-pn-picker, .tl-pn-var { margin: .6rem 0; }
.tl-pn-picker > summary, .tl-pn-var > summary { cursor: pointer; font-weight: 700; min-height: 44px; display: flex; align-items: center; }
.tl-pn-picker > summary { list-style-position: inside; display: list-item; padding: .6rem 0; }
.tl-pn-var > summary { display: list-item; padding: .6rem 0; color: var(--card-soft); font-weight: 400; }
.tl-pn-check { display: flex; gap: .5rem; align-items: center; min-height: 44px; }
.tl-pn-check input { width: 1.3rem; height: 1.3rem; }
