/* clocktower/styles.css — dark theme, all rules scoped to body.game-clocktower.
 *
 * This file is a peer of viewer/styles.css, not an override of it. The
 * werewolf theme lives there unchanged; clocktower re-declares its own
 * variables and selectors under body.game-clocktower so both themes
 * coexist in the same index.html shell without cross-talk.
 *
 * Palette inspiration: brass clockwork on dark wood — warm amber accents
 * on a near-black background. Role tints echo the scope tints so eyes
 * can pattern-match "which team is talking" at a glance.
 */

body.game-clocktower {
  --bg:            #14141a;
  --fg:            #e6e3dc;
  --muted:         #8a8a90;
  --border:        #3a3a42;
  --accent:        #d18b5f;     /* warm amber — brass */
  --accent-strong: #e8a870;

  /* Role / alignment colors */
  --demon:     #d14a4a;
  --minion:    #a04a4a;
  --townsfolk: #5aa98b;
  --outsider:  #c9a25a;
  --drunk:     #a08a6a;

  /* Scope backgrounds */
  --scope-public-bg:     transparent;
  --scope-evil-bg:       #2a1a1c;
  --scope-storyteller-bg:#22192d;
  --scope-huddle-bg:     #1a1f2e;
  --scope-self-bg:       #172320;

  /* Content backgrounds */
  --section-bg:  #1d1d25;
  --mono-bg:     #1a1a1d;
  --mono-border: #8a7753;
  --perform-bg:  #181820;
  --perform-border:#4a4a52;

  background: var(--bg);
  color: var(--fg);
}

body.game-clocktower .toolbar {
  background: #1b1b23;
  border-bottom: 1px solid var(--border);
  box-shadow: 0 1px 4px rgba(0,0,0,0.4);
}

body.game-clocktower .tb-select,
body.game-clocktower .tb-btn {
  background: #22222c;
  border-color: var(--border);
  color: var(--fg);
}
body.game-clocktower .tb-btn { background: #2a2a36; }
body.game-clocktower .tb-btn:hover { background: #33333f; }
body.game-clocktower .tb-label,
body.game-clocktower .tb-status { color: var(--muted); }

body.game-clocktower .placeholder { color: var(--muted); }

body.game-clocktower .permalink {
  background: #1e1e26;
  border-color: var(--border);
  color: var(--muted);
}
body.game-clocktower .permalink-link { color: var(--accent); }

body.game-clocktower .chronicle-header h1 { color: var(--fg); }
body.game-clocktower .view-label { color: var(--muted); }

body.game-clocktower .config-line {
  background: var(--section-bg);
  border-color: var(--border);
  color: var(--muted);
}
body.game-clocktower .meta-st,
body.game-clocktower .meta-config,
body.game-clocktower .meta-bluffs {
  padding: 2px 0;
}

/* Seating table */
body.game-clocktower .seating-table {
  background: var(--section-bg);
  color: var(--fg);
  border: 1px solid var(--border);
}
body.game-clocktower .seating-table th,
body.game-clocktower .seating-table td {
  border-color: var(--border);
}
body.game-clocktower .seating-table th { background: #24242e; color: var(--muted); }

/* Role chip (base + alignment) */
body.game-clocktower .role {
  background: #2a2a34;
  color: var(--fg);
}
body.game-clocktower .role-townsfolk { background: var(--townsfolk); color: #081a13; }
body.game-clocktower .role-outsider  { background: var(--outsider);  color: #2a1f00; }
body.game-clocktower .role-minion    { background: var(--minion);    color: #ffe3e3; }
body.game-clocktower .role-demon     { background: var(--demon);     color: #fff0f0; }
body.game-clocktower .role-hidden    { background: transparent; color: var(--muted); border: 1px dashed var(--border); }
body.game-clocktower .role-overlay { opacity: 0.7; margin-left: 4px; font-size: 11px; }

/* Phase */
body.game-clocktower .phase h2 {
  border-bottom: 2px solid var(--accent);
  color: var(--accent-strong);
  font-size: 18px;
}

/* Section */
body.game-clocktower .section {
  background: var(--section-bg);
  border: 1px solid var(--border);
  color: var(--fg);
}
body.game-clocktower .section-head h3 { color: var(--fg); }

body.game-clocktower .section.scope-evil        { background: var(--scope-evil-bg);        border-color: #4a2626; }
body.game-clocktower .section.scope-storyteller { background: var(--scope-storyteller-bg); border-color: #3a3050; }
body.game-clocktower .section.scope-huddle      { background: var(--scope-huddle-bg);      border-left: 3px solid var(--accent); }
body.game-clocktower .section.scope-self        { background: var(--scope-self-bg);        border-color: #2a463a; }

body.game-clocktower .scope-chip {
  background: #2a2a34;
  color: var(--muted);
  font-size: 11px;
}
body.game-clocktower .scope-chip-evil        { background: #3a2028; color: #ffb5b5; }
body.game-clocktower .scope-chip-storyteller { background: #2b1f38; color: #cfb5ff; }
body.game-clocktower .scope-chip-huddle      { background: #1e2838; color: #8fbce0; }
body.game-clocktower .scope-chip-self        { background: #223025; color: #9fe0b8; }

body.game-clocktower .section.scope-huddle .entry {
  border-left: 2px solid rgba(143, 188, 224, 0.25);
  padding-left: 0.75em;
  margin-left: 0.25em;
}
body.game-clocktower .huddle-leave {
  font-size: 0.85em;
  color: #8fbce0;
  opacity: 0.7;
  font-style: italic;
  margin: 0.5em 0 0.5em 1em;
}

/* Nomination supergroup (spec 1.2+ `### ⚖️ 提名 · A → B` with H4 buckets,
   plus pre-1.2 legacy grouping of three sibling H3s) */
body.game-clocktower .section-nomination-group .nomination-sub {
  margin-top: 10px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.02);
  border-left: 3px solid var(--border);
  border-radius: 0 4px 4px 0;
}
body.game-clocktower .section-nomination-group .nomination-sub h4 {
  margin: 0 0 6px;
  font-size: 14px;
  color: var(--muted);
  font-weight: 600;
}
body.game-clocktower .nomination-sub-propose { border-left-color: #b58c5c; }
body.game-clocktower .nomination-sub-defense { border-left-color: #4f8ab2; }
body.game-clocktower .nomination-sub-vote    { border-left-color: #6a8f4a; }

/* First impressions (spec 1.3+ preamble `### 👀 第一印象`) */
body.game-clocktower .section-first_impressions { padding: 8px 16px; }
body.game-clocktower .section-first_impressions h3 { margin: 0 0 6px; color: var(--fg); }
body.game-clocktower .section-first_impressions ul.impressions {
  list-style: none;
  padding: 0;
  margin: 6px 0;
}
body.game-clocktower .section-first_impressions li {
  padding: 4px 0;
  border-bottom: 1px dashed var(--border);
  font-size: 14px;
  color: var(--fg);
}
body.game-clocktower .section-first_impressions li:last-child { border-bottom: none; }
body.game-clocktower .section-first_impressions li strong { color: var(--accent); }

/* Entry */
body.game-clocktower .entry { border-top: 1px dashed var(--border); }
body.game-clocktower .entry:first-child { border-top: 0; }
body.game-clocktower .speaker-seat {
  background: #2a2a34;
  color: var(--muted);
}
body.game-clocktower .speaker-name { color: var(--fg); }
body.game-clocktower .entry-label,
body.game-clocktower .silent-marker { color: var(--muted); font-size: 13px; }
body.game-clocktower .status-chip {
  background: #3a2830;
  color: #e0b5a8;
  font-size: 11px;
  padding: 1px 5px;
  border-radius: 3px;
  margin-left: 4px;
}

/* Vote-action chip: voter's `投票同意 / 投票反对 / 保留鬼票` instruction
   inside `##### 投票` is hoisted onto the speaker tag (the target name is
   redundant — every voter votes on the same nominee). Rendered as the last
   segment inside the `（…）` block, color-coded by choice. */
body.game-clocktower .vote-chip {
  font-weight: 600;
  letter-spacing: 0.02em;
}
body.game-clocktower .vote-chip-yes   { color: #9fe0b8; }
body.game-clocktower .vote-chip-no    { color: #ffb5b5; }
body.game-clocktower .vote-chip-ghost { color: var(--muted); font-style: italic; }

/* Monologue + perform — dark readability */
body.game-clocktower details.monologue {
  background: var(--mono-bg);
  border-left: 3px solid var(--mono-border);
  color: var(--fg);
  border-radius: 0 4px 4px 0;
}
body.game-clocktower details.monologue summary { color: var(--muted); }
body.game-clocktower details.monologue summary::before { color: var(--mono-border); }
body.game-clocktower details.monologue .mono-body { color: #c0bfb4; }

body.game-clocktower blockquote.perform {
  background: var(--perform-bg);
  border-left: 3px solid var(--perform-border);
  color: var(--fg);
}

/* Events */
body.game-clocktower .events {
  list-style: none;
  padding-left: 0;
  margin: 6px 0;
}
body.game-clocktower .event {
  padding: 3px 0;
  font-size: 14px;
  color: var(--fg);
}
body.game-clocktower .event-poisoner_pick,
body.game-clocktower .event-imp_kill_intent,
body.game-clocktower .event-mayor_redirect { color: #e0a5a5; }
body.game-clocktower .event-monk_pick,
body.game-clocktower .event-monk_saved,
body.game-clocktower .event-soldier_immune { color: #9ac8e0; }
body.game-clocktower .event-butler_pick     { color: #d0b5e0; }
body.game-clocktower .event-day_announce_peaceful { color: var(--townsfolk); }
body.game-clocktower .event-day_announce_death,
body.game-clocktower .event-execution { color: var(--demon); font-weight: 500; }
body.game-clocktower .event-winner { color: var(--accent-strong); font-weight: 600; }
body.game-clocktower .event-slayer_hit  { color: var(--accent-strong); font-weight: 600; }
body.game-clocktower .event-slayer_miss { color: var(--muted); }

/* Role deal */
body.game-clocktower .role-deal-list {
  list-style: none;
  padding-left: 0;
  margin: 6px 0;
}
body.game-clocktower .role-deal-list li { padding: 2px 0; }
body.game-clocktower .seat-num {
  background: #2a2a34;
  color: var(--muted);
  font-family: var(--font-mono);
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 12px;
}
body.game-clocktower .deal-ack { color: var(--muted); font-size: 12px; }

/* Vote tally */
body.game-clocktower .vote-details {
  list-style: none;
  padding-left: 0;
  margin: 6px 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 4px 12px;
}
body.game-clocktower .vote-detail-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 2px 0;
}
body.game-clocktower .voter-name { color: var(--fg); }
body.game-clocktower .arrow { color: var(--muted); }
body.game-clocktower .vote-chip {
  padding: 1px 7px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 600;
}
body.game-clocktower .vote-yea       { background: #263d2f; color: #8fe0a8; }
body.game-clocktower .vote-nay       { background: #3a2428; color: #e0a5a5; }
body.game-clocktower .vote-force-nay { background: #3a2428; color: #e0a5a5; text-decoration: line-through; }
body.game-clocktower .vote-abstain   { background: #2a2a34; color: var(--muted); }
body.game-clocktower .tally-footer {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
  color: var(--fg);
  font-size: 14px;
}
body.game-clocktower .tally-footer.passed { color: var(--accent-strong); }
body.game-clocktower .tally-footer.failed { color: var(--muted); }

/* Reveal table */
body.game-clocktower .reveal-table {
  background: var(--section-bg);
  color: var(--fg);
  border: 1px solid var(--border);
}
body.game-clocktower .reveal-table th,
body.game-clocktower .reveal-table td { border-color: var(--border); padding: 6px 10px; }
body.game-clocktower .reveal-table th { background: #24242e; color: var(--muted); }
body.game-clocktower .reveal-alive { color: var(--townsfolk); font-weight: 600; }
body.game-clocktower .reveal-dead  { color: var(--muted); }

body.game-clocktower details.reveal-sub {
  background: var(--section-bg);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 6px 10px;
  margin: 6px 0;
}
body.game-clocktower details.reveal-sub summary { color: var(--accent); cursor: pointer; }
body.game-clocktower details.reveal-sub ul {
  margin: 6px 0 0 20px;
  color: #c0bfb4;
  font-size: 13px;
}

/* Action bullets (ST decision) */
body.game-clocktower .action-bullets {
  margin: 4px 0;
  padding-left: 22px;
  color: #c0bfb4;
  font-size: 13px;
}
body.game-clocktower .action-bullet-kv {
  color: var(--muted);
  font-family: ui-monospace, Menlo, monospace;
  font-size: 0.88em;
}
body.game-clocktower .outcome {
  padding: 4px 0;
  color: var(--accent-strong);
  font-size: 14px;
}

/* Notes */
body.game-clocktower .note {
  font-size: 13px;
  color: var(--muted);
  padding: 2px 0;
}
body.game-clocktower .note-reason {
  color: var(--fg);
  font-style: italic;
}

/* Pre-v1.0 load-error banner */
body.game-clocktower .load-error {
  background: var(--section-bg);
  border: 1px solid var(--border);
  border-left: 4px solid var(--demon);
  padding: 16px 20px;
  margin: 20px 0;
  border-radius: 4px;
}
body.game-clocktower .load-error-title { color: var(--demon); margin: 0 0 8px; }
body.game-clocktower .load-error-msg { color: var(--fg); margin: 0 0 6px; }
body.game-clocktower .load-error-detail { color: var(--muted); font-size: 13px; margin: 0; }

/* Prod banner */
body.game-clocktower.prod .prod-banner { color: var(--muted); }
body.game-clocktower.prod .prod-banner a { color: var(--accent); }

/* Debug-info blocks pick up the shared display rules from viewer/styles.css.
   Dark-theme tweaks only — color + contrast. */
body.game-clocktower .debug-info {
  border-left-color: #55555f;
  color: #888894;
}
body.game-clocktower .debug-info ul.debug-bullets li { color: #9a9aa4; }

/* ============================================================================
 * v2 (spec 2.0) layout
 * ----------------------------------------------------------------------------
 * Spec 2.0 reframes the chronicle around two block primitives — speech +
 * event — inside a strict H2 → H3 → (H4 → H5) tree. The styles below scope
 * to `.chronicle.v2` so they don't disturb the v1 layout (still needed for
 * the 80 archived 1.x chronicles). The colour tokens come from the
 * shared body-level vars defined above.
 * ============================================================================ */

body.game-clocktower .chronicle.v2 .block-stream {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}

/* Speech block */
body.game-clocktower .chronicle.v2 .speech-block {
  background: var(--section-bg);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 10px 14px;
}
body.game-clocktower .chronicle.v2 .speech-block.scope-public      { border-left: 3px solid #4a8aaa; }
body.game-clocktower .chronicle.v2 .speech-block.scope-storyteller { border-left: 3px solid #a07acc; background: var(--scope-storyteller-bg); }
body.game-clocktower .chronicle.v2 .speech-block.scope-self        { border-left: 3px solid #5aa98b; background: var(--scope-self-bg); }
body.game-clocktower .chronicle.v2 .speech-block.scope-huddle      { border-left: 3px solid #6a8aff; background: var(--scope-huddle-bg); }
body.game-clocktower .chronicle.v2 .speech-block.scope-evil        { border-left: 3px solid var(--minion); background: var(--scope-evil-bg); }

body.game-clocktower .chronicle.v2 .speaker-line {
  margin-bottom: 4px;
  font-size: 14px;
}
body.game-clocktower .chronicle.v2 .speaker-name { color: var(--accent-strong); }
body.game-clocktower .chronicle.v2 .speaker-tags { color: var(--muted); font-weight: normal; font-size: 13px; }

/* Spec 2.2 §6.6: nomination / self-defense bold-prefix entries inside
   `#### 提名 ·` H4 (replaces the old `##### 自辩` H5 wrapper). */
body.game-clocktower .chronicle.v2 .speech-block.nomination-entry {
  border-left: 3px solid #b58c5c;
}
body.game-clocktower .chronicle.v2 .speech-block.defense-entry {
  border-left: 3px solid #4f8ab2;
}
body.game-clocktower .chronicle.v2 .nomination-marker,
body.game-clocktower .chronicle.v2 .defense-marker {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  padding: 1px 6px;
  margin-right: 6px;
  border-radius: 3px;
  vertical-align: middle;
}
body.game-clocktower .chronicle.v2 .nomination-marker { background: #b58c5c33; color: #d6a878; }
body.game-clocktower .chronicle.v2 .defense-marker    { background: #4f8ab233; color: #7eb6d9; }

body.game-clocktower .chronicle.v2 details.speech-mono {
  background: var(--mono-bg);
  border-left: 2px solid var(--mono-border);
  padding: 6px 10px;
  margin: 6px 0;
  font-style: italic;
  color: #c5c0a8;
  font-size: 13px;
}
body.game-clocktower .chronicle.v2 details.speech-mono > summary.speech-mono-summary {
  cursor: pointer;
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
  list-style: none;
  user-select: none;
}
body.game-clocktower .chronicle.v2 details.speech-mono > summary.speech-mono-summary::-webkit-details-marker { display: none; }
body.game-clocktower .chronicle.v2 details.speech-mono > summary.speech-mono-summary::before {
  content: '▸';
  display: inline-block;
  width: 1em;
  color: var(--mono-border);
}
body.game-clocktower .chronicle.v2 details.speech-mono[open] > summary.speech-mono-summary::before { content: '▾'; }
body.game-clocktower .chronicle.v2 details.speech-mono > .speech-mono-body { padding-top: 4px; }
body.game-clocktower .chronicle.v2 .mono-line { padding: 1px 0; white-space: pre-wrap; }

body.game-clocktower .chronicle.v2 .speech-perform {
  background: var(--perform-bg);
  padding: 6px 10px;
  margin: 6px 0;
  color: var(--fg);
  font-size: 14px;
}
body.game-clocktower .chronicle.v2 .perform-line { padding: 1px 0; white-space: pre-wrap; }

body.game-clocktower .chronicle.v2 .speech-instructions {
  margin: 6px 0 0 0;
  padding-left: 22px;
  color: var(--accent);
  font-size: 13px;
}
body.game-clocktower .chronicle.v2 .speech-instructions li { padding: 1px 0; }
body.game-clocktower .chronicle.v2 .speech-instructions li.bullet-debug { color: var(--muted); font-family: ui-monospace, monospace; font-size: 12px; }

/* Event block */
body.game-clocktower .chronicle.v2 .event-block {
  background: var(--section-bg);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 8px 12px;
}
body.game-clocktower .chronicle.v2 .event-block.scope-public      { border-left: 3px solid #4a8aaa; }
body.game-clocktower .chronicle.v2 .event-block.scope-storyteller { border-left: 3px solid #a07acc; background: var(--scope-storyteller-bg); }
body.game-clocktower .chronicle.v2 .event-block.scope-self        { border-left: 3px solid #5aa98b; background: var(--scope-self-bg); }
body.game-clocktower .chronicle.v2 .event-block.scope-huddle      { border-left: 3px solid #6a8aff; background: var(--scope-huddle-bg); }
body.game-clocktower .chronicle.v2 .event-block.scope-evil        { border-left: 3px solid var(--minion); background: var(--scope-evil-bg); }

body.game-clocktower .chronicle.v2 .event-bullets {
  margin: 0;
  padding-left: 22px;
  color: var(--fg);
  font-size: 14px;
}
body.game-clocktower .chronicle.v2 .event-bullets li { padding: 2px 0; }
body.game-clocktower .chronicle.v2 .event-bullets li.bullet-debug { color: var(--muted); font-family: ui-monospace, monospace; font-size: 12px; }
body.game-clocktower .chronicle.v2 .event-sub-bullets {
  margin: 4px 0 0 0;
  padding-left: 22px;
  color: var(--muted);
  font-size: 13px;
}

/* Phase + section nesting */
body.game-clocktower .chronicle.v2 .phase {
  margin: 24px 0;
  padding: 0;
}
body.game-clocktower .chronicle.v2 .phase > h2 {
  font-size: 20px;
  color: var(--accent-strong);
  border-bottom: 1px solid var(--border);
  padding-bottom: 6px;
  margin: 0 0 12px;
}
body.game-clocktower .chronicle.v2 .h3 {
  margin: 20px 0 12px;
  padding: 0;
  background: transparent;
  border-radius: 0;
}
body.game-clocktower .chronicle.v2 .h3 > h3 {
  margin: 0 0 10px;
  font-size: 16px;
  color: var(--accent);
  font-weight: 600;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--border);
}
body.game-clocktower .chronicle.v2 .h4 {
  margin: 12px 0;
  padding: 10px 14px;
  background: rgba(0, 0, 0, 0.18);
  border-left: 2px solid var(--border);
  border-radius: 4px;
}
body.game-clocktower .chronicle.v2 .h4 > h4 {
  margin: 0 0 6px;
  font-size: 14px;
  color: var(--accent-strong);
  font-weight: 600;
}
body.game-clocktower .chronicle.v2 .h5 {
  margin: 10px 0;
  padding: 0 0 0 12px;
  background: transparent;
  border-left: 2px solid var(--accent);
  border-radius: 0;
}
body.game-clocktower .chronicle.v2 .h5 > h5 {
  margin: 0 0 4px;
  font-size: 13px;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Specialized panels */
body.game-clocktower .chronicle.v2 .winner-banner {
  background: linear-gradient(90deg, rgba(209,139,95,0.18), rgba(209,139,95,0.04));
  border: 1px solid var(--accent);
  border-left: 4px solid var(--accent-strong);
}
body.game-clocktower .chronicle.v2 .winner-banner > h3 {
  color: var(--accent-strong);
  font-size: 18px;
}
body.game-clocktower .chronicle.v2 .nomination-panel {
  border-left: 3px solid #6a8aff;
}
body.game-clocktower .chronicle.v2 .vote-panel { border-left: 2px solid var(--accent); }
body.game-clocktower .chronicle.v2 .defense-panel { border-left: 2px solid var(--townsfolk); }
body.game-clocktower .chronicle.v2 .identity-reveal-panel { border-left: 3px solid var(--accent-strong); }
body.game-clocktower .chronicle.v2 .grimoire-panel        { border-left: 3px solid var(--accent); }
body.game-clocktower .chronicle.v2 .st-decision-log-panel { border-left: 3px solid #a07acc; }
body.game-clocktower .chronicle.v2 .st-recap > h3        { font-size: 17px; }

/* Tables (identity reveal / final grimoire) */
body.game-clocktower .chronicle.v2 .chronicle-table-wrap {
  overflow-x: auto;
  margin: 8px 0;
}
body.game-clocktower .chronicle.v2 .chronicle-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--section-bg);
  border: 1px solid var(--border);
  font-size: 13px;
}
body.game-clocktower .chronicle.v2 .chronicle-table th,
body.game-clocktower .chronicle.v2 .chronicle-table td {
  padding: 6px 10px;
  border: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}
body.game-clocktower .chronicle.v2 .chronicle-table th {
  background: #24242e;
  color: var(--muted);
  font-weight: 600;
}

/* Self-intro section */
body.game-clocktower .chronicle.v2 .section-self-intro,
body.game-clocktower .chronicle.v2 .section-first-impressions {
  margin: 16px 0;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 6px;
}
body.game-clocktower .chronicle.v2 .section-self-intro > h3,
body.game-clocktower .chronicle.v2 .section-first-impressions > h3 {
  margin: 0 0 8px;
  color: var(--accent);
}
body.game-clocktower .chronicle.v2 .section-first-impressions .impressions {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
}
body.game-clocktower .chronicle.v2 .section-first-impressions .impressions li { padding: 3px 0; }

