.simulation-panel { padding: 20px 24px; margin-bottom: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }
.simulation-panel h2, .match-members h2 { margin: 0 0 12px; font-size: 15px; }
.simulation-form { display: flex; align-items: end; flex-wrap: wrap; gap: 16px; }
.simulation-form label { display: grid; gap: 5px; font-size: 12px; }
.simulation-form select, .simulation-form input, #view-player { max-width: 100%; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); }
.simulation-form input { width: 230px; }
.view-switch { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.view-switch label { font-size: 12px; }
.connection-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.theme-form { margin: 20px 0; }
.match-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 0.7fr); gap: 24px; align-items: start; }
.match-game { padding-bottom: 25px; }
.match-theme { margin: 20px 0; padding: 15px; background: var(--accent-light); border-radius: 8px; }
.match-theme p { margin: 0; font-size: 12px; }
.match-theme h3 { margin: 4px 0 0; font-size: 18px; overflow-wrap: anywhere; }
.turn-timer { margin: 18px 0 0; padding: 9px 12px; border-radius: 8px; background: var(--accent-light); color: var(--accent); font-size: 12px; font-variant-numeric: tabular-nums; }
.match-message { padding: 26px 0; }
.match-message h3 { margin: 0 0 8px; }
.match-member { padding: 15px 0; border-top: 1px solid var(--line); }
.member-title { display: flex; justify-content: space-between; gap: 8px; align-items: center; font-size: 12px; }
.member-title strong { overflow-wrap: anywhere; min-width: 0; }
.member-name { display: grid; grid-template-columns: repeat(var(--slot-count), minmax(0, 1fr)); gap: 4px; margin: 9px 0; }
.member-name span { display: grid; place-items: center; height: 37px; border-radius: 4px; background: #eee8df; font: 20px/1 var(--serif); }
.member-state { color: var(--muted); font-size: 10px; }
.voting-options { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.voting-options [aria-pressed="true"] { border-color: var(--accent); background: var(--accent-light); }
.vote-confirmation { margin-top: 20px; padding: 16px; border: 1px solid var(--accent); border-radius: 8px; }
.vote-confirmation p { margin: 0 0 12px; overflow-wrap: anywhere; }
.vote-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.round-result { width: 100%; border-collapse: collapse; font-size: 12px; }
.round-result th, .round-result td { text-align: left; padding: 9px 6px; border-bottom: 1px solid var(--line); }
.round-result caption { text-align: left; margin-bottom: 12px; font-size: 16px; font-weight: 700; }
.length-reveal { padding: 35px 0; }
#match-status { min-height: 24px; color: var(--accent); }
@media (max-width: 1050px) { .match-workspace { grid-template-columns: 1fr; } .match-members { display: block; } #match-members { display: block; } }
@media (max-width: 520px) { .simulation-panel { padding: 16px; } .simulation-form { gap: 12px; } .simulation-form input { width: 100%; } .simulation-form label { max-width: 100%; } #match-members { grid-template-columns: 1fr; } }

#round-length-settings { padding: 12px; border: 1px solid var(--line); border-radius: 6px; }
.players-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 12px; }
.players-table caption { text-align: left; margin-bottom: 10px; }
.players-table th, .players-table td { padding: 10px 4px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.players-table th:first-child { width: 38%; }
.players-table tbody th { font-weight: 400; }
.players-table .member-name { gap: 2px; }
.players-table .member-name span { height: 25px; font-size: 14px; }

.member-time { font-size: 10px; font-variant-numeric: tabular-nums; }

.rematch-panel { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 20px; }
