:root { --accent: #a23b2c; --pro: #2f7de1; --con: #a23b2c; }
.turn { border-left: 4px solid var(--pro); }
.turn.con { border-left-color: var(--con); }
.turn .who { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 6px; }
.turn .who b { font-size: 14px; }
.turn .body { white-space: pre-wrap; }
.turn .body.typing::after { content: '▍'; animation: pulse 1s infinite; color: var(--muted); }
.side-pro { color: var(--pro); }
.side-con { color: var(--con); }
.scoreboard { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 18px; align-items: center; }
.clash { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: stretch; margin-bottom: 10px; }
.clash > div { background: var(--panel-2); border-radius: 8px; padding: 10px; font-size: 14px; }
.clash .vs { background: none; display: grid; place-items: center; font-weight: 700; color: var(--muted); padding: 0; }
.clash .won { outline: 2px solid var(--good); }
.winner { font-size: 22px; font-weight: 700; }
.mini td, .mini th { padding: 5px 6px; font-size: 13px; }
.vote-bar { display: flex; height: 12px; border-radius: 99px; overflow: hidden; margin: 4px 0 8px; }
.vote-bar .p { background: var(--pro); } .vote-bar .c { background: var(--con); }
.fc { display: grid; grid-template-columns: 72px 1fr; gap: 8px; padding: 6px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.fc > span:first-child { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); padding-top: 2px; }
.library { max-height: 220px; overflow: auto; margin-top: 6px; }
.lib-item { display: flex; gap: 6px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--line); }
.turn textarea { min-height: 110px; }
@media (max-width: 820px) {
  .scoreboard { grid-template-columns: 1fr; }
  .clash { grid-template-columns: 1fr; }
}
