/* Werewolf moderator tool (assets/js/tools/werewolf.js) */
.ww-bar {
  display: flex; align-items: center; gap: .6rem;
  margin: 0 0 .6rem; padding: .4rem .6rem; border: 1px dashed var(--red); border-radius: 8px;
  background: var(--paper);
}
.ww-bar .ww-secret { flex: 1; margin: 0; font-size: .9rem; line-height: 1.3; color: var(--red); }
.ww-hide { flex: none; font-weight: 700; }
.ww-status { margin: .2rem 0 .6rem; }
.ww-card { margin: 0 0 1rem; }
.ww-card .tl-h { margin-top: .4rem; }
.ww-note { font-size: .95rem; color: var(--card-soft); margin: .4rem 0; line-height: 1.4; }
.ww-status.ww-note { color: var(--ink-soft); }
.ww-say { margin: .7rem 0; padding: .3rem 0 .3rem .8rem; border-left: 4px solid var(--card-red); }
.ww-say p { margin: 0; font-size: 1.45rem; font-weight: 700; line-height: 1.3; }
.ww-lbl { display: block; font-size: .8rem; color: var(--card-soft); font-variant-caps: all-small-caps; letter-spacing: .08em; }
.ww-wait { font-weight: 700; color: var(--card-ink); font-style: italic; }
.ww-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr)); gap: .45rem; }
.ww-pick .tl-btn { width: 100%; overflow-wrap: anywhere; }
.ww-thumb { font-size: 1.4rem; font-weight: 800; text-align: center; margin: .6rem 0; padding: .5rem; border: 2px solid var(--card-line); border-radius: 8px; }
.ww-thumb.up { color: var(--card-red); border-color: var(--card-red); }
.ww-nav { justify-content: space-between; margin-top: 1rem; }
.ww-nav .primary { flex: 1; }
.ww-wide { display: block; width: 100%; margin: .8rem 0 .2rem; }
.ww-stepper { gap: .8rem; margin: .2rem 0; }
.ww-stepper .tl-btn { min-width: 52px; font-size: 1.3rem; font-weight: 700; }
.ww-num { font-size: 2rem; font-weight: 800; min-width: 2.5ch; text-align: center; font-variant-numeric: tabular-nums; }
.ww-deck { margin: .8rem 0; padding: .5rem .8rem; border: 3px double var(--card-rule); border-radius: 8px; }
.ww-deck-h { font-weight: 700; margin: .2rem 0; }
.ww-deck ul { margin: .3rem 0; padding-left: 1.2rem; }
.ww-deck li { margin: .2rem 0; }
.ww-names { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .6rem; }
.ww-names .tl-field { margin: .25rem 0; }
.ww-names input { padding: .45rem .55rem; font-size: 1rem; }
.ww-reveal { font-size: 1.1rem; font-weight: 700; margin: .5rem 0; }
.ww-reveal .ww-secret { display: block; font-weight: 400; font-style: italic; color: var(--card-red); font-size: .95rem; }
.ww-timerbox { text-align: center; }
.ww-sub { margin: 0; color: var(--card-soft); font-size: .95rem; }
.ww-timer { font-size: 4.2rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; margin: .2rem 0; }
.ww-timer.ww-zero { color: var(--card-red); }
.ww-timeup { min-height: 1.4em; margin: 0; font-weight: 700; color: var(--card-red); }
.ww-center { justify-content: center; }
.ww-center .primary { min-width: 6.5rem; }
.ww-tie { font-weight: 700; font-style: normal; color: var(--card-ink); }
.ww-votes { display: grid; gap: .35rem; margin: .5rem 0; }
.ww-vrow { display: grid; grid-template-columns: 1fr 48px 2.6rem 48px; align-items: center; gap: .4rem; }
.ww-vname { overflow-wrap: anywhere; }
.ww-vcount { text-align: center; font-size: 1.3rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.ww-vrow .tl-btn { padding: .3rem 0; font-size: 1.2rem; font-weight: 700; }
.ww-total { text-align: center; font-weight: 700; margin: .4rem 0 0; }
.ww-win { text-align: center; margin: .6rem 0; padding: .6rem; border-top: 3px double var(--card-rule); border-bottom: 3px double var(--card-rule); }
.ww-win p { margin: .2rem 0; }
.ww-win-h { font-size: 1.7rem; font-weight: 800; color: var(--card-red); }
.ww-final { padding-left: 1.2rem; }
.ww-final .ww-winner { font-weight: 700; }
.ww-dead .ww-pname, .ww-final .ww-dead b { text-decoration: line-through; }
.ww-players, .ww-log { margin: .6rem 0; }
.ww-players summary, .ww-log summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 700; }
.ww-plist { display: grid; gap: .35rem; }
.ww-prow { display: grid; grid-template-columns: minmax(0, 1fr) 8.5rem 5.5rem; gap: .4rem; align-items: center; }
.ww-prow select { padding: .4rem; font-size: 1rem; }
.ww-pname { overflow-wrap: anywhere; }
.ww-log ol { padding-left: 1.6rem; margin: .3rem 0; }
.ww-log li { margin: .15rem 0; }
.ww-new { margin-top: 1.2rem; }
.ww-sure { border-color: var(--red); color: var(--red); font-weight: 700; }
.ww-cover {
  position: fixed; inset: 0; z-index: 1000; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 1.2rem; background: var(--ink); color: var(--paper);
}
.ww-cover p { font-size: 1.4rem; margin: 0; }
.ww-cover .tl-btn { color: var(--paper); border-color: var(--paper); min-width: 12rem; min-height: 56px; }
html.ww-covered { overflow: hidden; }
