/* Puoluekone (puoluekone.html). Käyttää sivuston värejä (style.css). */
.pk-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.pk-q { display: grid; gap: 10px; padding: 18px 0; border-top: 1px solid var(--line); }
.pk-q:first-child { border-top: 0; padding-top: 4px; }
.pk-text { font: 650 1.12rem/1.4 var(--font-display); color: var(--ink); max-width: 68ch; }
.pk-scale { display: flex; flex-wrap: wrap; gap: 8px; }
.pk-scale button { font-size: .88rem; padding: 9px 12px; }
.pk-scale button[aria-checked="true"] { background: var(--ink); color: var(--on-ink); border-color: var(--ink); }
.pk-how summary { cursor: pointer; font-size: .9rem; color: var(--ink-2); }
.pk-how[open] { display: grid; gap: 8px; }
.pk-table { overflow-x: auto; }
.pk-table table { border-collapse: collapse; font-size: .88rem; min-width: 460px; }
.pk-table th, .pk-table td { text-align: left; padding: 6px 10px; border-bottom: 1px solid var(--line); }
.pk-table th { color: var(--ink-3); font-weight: 650; font-size: .78rem; }
.pk-result-panel { border: 1.5px solid var(--accent); }
.pk-results { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pk-results li { display: grid; grid-template-columns: minmax(130px, 200px) minmax(0, 1fr) 3.5rem; gap: 12px; align-items: center; }
.pk-name { font-weight: 650; }
.pk-bar { height: 10px; border-radius: 999px; background: var(--wash); overflow: hidden; }
.pk-bar i { display: block; height: 100%; background: var(--accent); border-radius: 999px; transition: width .3s ease; }
.pk-pct { text-align: right; font-family: var(--font-num); font-variant-numeric: tabular-nums; }
@media (max-width: 560px) { .pk-results li { grid-template-columns: minmax(0, 1fr) 3.5rem; } .pk-bar { grid-column: 1 / -1; grid-row: 2; } }
@media (prefers-reduced-motion: reduce) { .pk-bar i { transition: none; } }
.pk-imp { font-size: .88rem; color: var(--ink-2); }
.pk-gov { font: 600 .72rem/1 var(--font-body, inherit); color: var(--ink-3); border: 1px solid var(--line); border-radius: 999px; padding: 2px 7px; margin-left: 4px; white-space: nowrap; }
.pk-quotes { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pk-quotes li { display: grid; gap: 4px; padding-top: 8px; border-top: 1px solid var(--line); }
.pk-quotes li:first-child { border-top: 0; padding-top: 0; }
.pk-qparty { font-weight: 650; font-size: .92rem; }
.pk-quotes blockquote { margin: 0; padding-left: 10px; border-left: 2px solid var(--line); font-size: .92rem; color: var(--ink); max-width: 68ch; }
.pk-submit { display: grid; gap: 10px; justify-items: start; padding-top: 18px; border-top: 1px solid var(--line); }
.pk-progress { font-weight: 600; }
.pk-submit button:disabled { opacity: .5; cursor: not-allowed; }
