:root{--bg: #ffffff;--panel: #f7f7f9;--text: #111111;--muted: #555e68;--accent: #1a73e8;--danger: #b00020;--ok: #1e8e3e;--rank-box: 2.25rem;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, "Courier New", monospace}html{font-size:112.5%;line-height:1.5}body,input,button,select,textarea,label{font:inherit}html,body{background:var(--bg);color:var(--text)}main#app{max-width:900px;margin:2rem auto;padding:0 1rem}.card{background:var(--panel);border:1px solid #e6e8ee}h1,h2{margin:.25rem 0 1rem}fieldset{border:1px solid #2a3240;border-radius:10px;margin:1rem 0}legend{color:var(--muted);padding:0 .5rem}label{display:block;margin:.5rem 0 .25rem}input[type=text],textarea{background:#fff;color:var(--text);border:1px solid #cfd6e4}textarea{min-height:160px}.row{display:flex;gap:.75rem;flex-wrap:wrap}.row>*{flex:1}.row.controls .sort-wrap{display:inline-flex;align-items:center;gap:0 rem}.row.controls .sort-wrap label{display:inline;margin:0;font:inherit}.row.controls .sort-select{font-family:inherit;font-size:1rem;line-height:1.1;padding:.45rem .6rem;border:1px solid #cfd6e4;border-radius:10px;background:#fff;height:auto;white-space:nowrap}.sort-select{border:1px solid #cfd6e4;border-radius:8px;background:#fff;padding:.35rem .5rem}.sort-label{color:var(--muted)}button{background:var(--accent);border:none;color:#0a0a0a;border-radius:10px;padding:.6rem 1rem;font-weight:700;cursor:pointer}button.secondary{background:#2a3240;color:var(--text)}button.danger{background:var(--danger);color:#0a0a0a}hr{border:none;height:1px;background:#2a3240;margin:1rem 0}pre{background:#f5f7fb;border:1px solid #e6e8ee}.privacy-note{color:var(--muted);text-align:center;margin:2rem 0 3rem;font-size:.9rem}#rank-table-host{max-width:600px;margin-inline:auto;width:100%;box-sizing:border-box;flex:0 0 auto}#rank-table-host>.rank-grid{width:100%}#rank-table-host>.rank-grid input[type=text],#rank-table-host>.rank-grid input[type=number]{width:auto}.rank-grid{display:grid;grid-template-columns:minmax(0,var(--rank-box)) 1fr;gap:.5rem 1rem;align-items:center}@media (max-width: 420px){.rank-grid{grid-template-columns:minmax(0,var(--rank-box)) 1fr}}.rank-row{display:contents}.rank-head .rank-cell{font-weight:700;color:var(--muted);padding-bottom:.25rem;border-bottom:1px solid #e6e8ee}.rank-cell:nth-child(2){white-space:normal;overflow-wrap:anywhere}.rank-cell{padding:.25rem 0}.rank-cell:nth-child(1){justify-self:end}.rank-cell:nth-child(1) input[type=text],.rank-cell:nth-child(1) input[type=number]{width:var(--rank-box);height:var(--rank-box);aspect-ratio:1 / 1;padding:.25rem;box-sizing:border-box;text-align:center;font-variant-numeric:tabular-nums;border:1px solid #cfd6e4;border-radius:6px}.row.controls{justify-content:center;align-items:center;gap:.5rem}.row.controls>*{flex:0 0 auto}.iter-wrap{display:inline-flex;align-items:center;gap:.4rem}.iter-btn{background:#fff;color:var(--text);border:1px solid #cfd6e4;border-radius:6px;padding:.28rem .44rem;font:inherit;line-height:1;cursor:pointer}.iter-input{width:4ch;text-align:center;font:inherit;padding:.2rem .25rem;border:1px solid #cfd6e4;border-radius:6px;font-variant-numeric:tabular-nums}button{background:var(--accent);color:#fff;border:1px solid transparent}button.secondary{background:#eef2f7;color:var(--text);border:1px solid #cfd6e4}button.danger{background:#b00020;color:#fff;border-color:transparent}button:hover{filter:brightness(.95)}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid #5b9df9;outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}button:not(.iter-btn){background:var(--accent);border:none;color:#fff;border-radius:10px;padding:.6rem 1rem;font-weight:700;cursor:pointer}.iter-pager{display:inline-flex;align-items:center;gap:.25rem}.iter-btn{background:#fff;color:var(--text);border:1px solid #cfd6e4;border-radius:6px;padding:.28rem .48rem;font:inherit;line-height:1;cursor:pointer;appearance:none}.iter-btn:hover{background:#f7f7f9}.iter-btn:disabled{opacity:.6;cursor:not-allowed}.iter-display{min-width:3ch;padding:0 .1rem;text-align:center;font:inherit;font-variant-numeric:tabular-nums}.iter-pager.disabled{opacity:.6;pointer-events:none}.result-table{width:100%;max-width:900px;margin:0 auto;border-collapse:collapse;border:1px solid #e6e8ee;border-radius:10px;overflow:hidden;background:#fff}.result-table th,.result-table td{padding:.6rem .75rem;border-bottom:1px solid #eef1f6;text-align:left;font-variant-numeric:tabular-nums}.result-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.result-table thead th{background:#f7f7f9;color:#555e68}.result-table td.elected{color:#1e8e3e;font-weight:600}.result-table td.excluded{color:#b00020;font-weight:600}.result-table td.continuing{color:#555e68}.result-info{max-width:900px;margin:.5rem auto .25rem;text-align:left;font-size:1rem}.result-info-line+.result-info-line{margin-top:.15rem}.explainer-row{display:flex;flex-direction:column;gap:.75rem}@media (max-width: 520px){.row.controls{flex-wrap:wrap;gap:.5rem .75rem;justify-content:center}.row.controls>*{flex:0 1 auto}.row.controls button:not(.iter-btn),.row.controls .iter-wrap{order:1}.row.controls .sort-wrap,.row.controls .detail-wrap{order:2;flex:1 1 calc(50% - .75rem);min-width:180px;justify-content:center}.row.controls .sort-select{width:100%;max-width:320px}}@media (max-width: 520px){.row.controls .sort-wrap,.row.controls .detail-wrap{order:2;flex:1 1 100%}}
