.vote-strip { display: flex; align-items: center; gap: 1.5rem; } .vote-form { margin: 0; } .vote-arrow { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 12px; border: 1px solid rgba(199, 212, 222, 0.4); background: rgba(15, 173, 185, 0.04); color: var(--muted); font-size: 1.2rem; cursor: pointer; transition: all 200ms ease; } .vote-arrow:hover, .vote-arrow:focus-visible { color: var(--accent); border-color: var(--accent); background: var(--accent-soft); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(15, 173, 185, 0.2); outline: none; } .vote-arrow.is-active { color: #ffffff; border-color: var(--accent); background: var(--accent); box-shadow: 0 4px 12px rgba(15, 173, 185, 0.3); } .vote-arrow.is-active:hover { background: var(--accent-hover); border-color: var(--accent-hover); transform: translateY(-1px); } .vote-arrow span { pointer-events: none; font-weight: 600; } .vote-totals { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; row-gap: 0.5rem; padding: 0.5rem 1rem; background: rgba(15, 173, 185, 0.06); border-radius: 12px; border: 1px solid rgba(15, 173, 185, 0.1); } .vote-score { font-weight: 700; color: var(--text); font-size: 1rem; } .vote-breakdown { font-size: 0.85rem; color: var(--muted); font-weight: 500; } @media (max-width: 640px) { .vote-strip { gap: 1rem; } .vote-arrow { width: 2.2rem; height: 2.2rem; font-size: 1.1rem; } .vote-totals { padding: 0.4rem 0.8rem; gap: 0.8rem; } }