/* Le bon compte only: warm shared tokens, including dark themes. */
body.ds-target-number .board-target-number {
  display: flex; flex-direction: column; gap: 8px;
  width: min(100%, 28rem); padding: 0; box-sizing: border-box; color: var(--ink);
}
body.ds-target-number .board-target-number p { margin: 0; }
body.ds-target-number .tn-tray { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body.ds-target-number .tn-ops { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
body.ds-target-number #board button {
  min-width: 0; min-height: 44px; padding: 8px; white-space: normal; overflow-wrap: anywhere;
  border: 1px solid color-mix(in srgb, var(--cta) 45%, var(--line));
  border-radius: var(--radius-sm); font: inherit; font-weight: 600;
  background: var(--paper-shade); color: var(--ink); cursor: pointer;
}
body.ds-target-number #board .tn-tile {
  min-height: 52px; font-size: 1.5rem; font-weight: 700;
  background: color-mix(in srgb, var(--cta) 18%, var(--paper-bright));
  font-variant-numeric: tabular-nums;
}
body.ds-target-number #board .tn-ops button {
  background: color-mix(in srgb, var(--cta) 30%, var(--paper-bright)); font-size: 1.35rem;
}
body.ds-target-number #board :is(#tnCalculate, #tnSubmit) { background: var(--cta); color: var(--cta-ink); }
body.ds-target-number #board button[aria-pressed="true"] {
  background: var(--cta); color: var(--cta-ink); box-shadow: inset 0 0 0 2px var(--cta-ink);
}
body.ds-target-number #board button:enabled:hover { border-color: var(--ink); }
body.ds-target-number #board button:disabled { opacity: .55; cursor: default; }
body.ds-target-number #board button:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
body.ds-target-number .tn-target { font-size: 1.5rem; font-weight: 750; line-height: 1.3; text-align: center; }
body.ds-target-number .tn-selection { text-align: center; font-size: 1.125rem; min-height: 1.4em; }
body.ds-target-number .tn-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
body.ds-target-number #tnHistory { padding-inline-start: 1.5rem; margin: 0; font-size: .9rem; line-height: 1.4; overflow-wrap: anywhere; }
body.ds-target-number #tnHistoryLabel { font-size: .85rem; font-weight: 600; }
body.ds-target-number #tnHistoryLabel:has(+ #tnHistory:empty),
body.ds-target-number :is(#tnHistory, #tnLegacy, #tnLegacyTiles, #tnReady, #tnMsg, #tnReveal):empty { display: none; }
body.ds-target-number #tnReady { font-size: .9rem; line-height: 1.4; }
body.ds-target-number #timer.tn-urgent { color: var(--bad); font-weight: 800; text-decoration: underline; }
body.ds-target-number #pause { display: none !important; }

body.ds-target-number .tn-rules {
  box-sizing: border-box; width: min(28rem, calc(100% - 32px)); max-height: calc(100dvh - 32px);
  padding: 20px; border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--paper-bright); color: var(--ink); line-height: 1.5;
}
body.ds-target-number .tn-rules p { margin: 0 0 16px; }
body.ds-target-number .tn-rules button { min-height: 44px; padding: 8px 16px; background: var(--cta); color: var(--cta-ink); border: 1px solid var(--line); border-radius: var(--radius-sm); }
body.ds-target-number .tn-rules::backdrop { background: color-mix(in srgb, var(--ink) 35%, transparent); }
