.room-config{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.room-config label,.room-join label{display:grid;gap:8px;color:var(--muted)}.room-config select,.room-join input{width:100%;border:1px solid var(--line,#484342);border-radius:8px;padding:10px;background:#252a33;color:#f5ecd8;font:inherit}.room-join{margin-top:26px;padding-top:22px;border-top:1px solid var(--line,#484342)}.room-join>div{display:flex;gap:10px;margin-top:8px}.room-join input{min-width:0;letter-spacing:.2em}.room-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.room-seat{display:flex;flex-direction:column;align-items:center;gap:9px;padding:20px 8px;border:1px solid #4d4840;border-radius:12px;min-width:0}.room-seat b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-seat small,.room-seat>span:last-child{color:var(--muted);font-size:12px}.room-seat.is-ready{border-color:#64bfa6;background:#64bfa60b}.room-seat.is-ready>span:last-child{color:#64bfa6}.room-empty{font-size:30px;color:var(--muted)}.room-code{letter-spacing:.15em;color:var(--gold,#efbe62)}.room-actions{flex-wrap:wrap}.room-final p{display:flex;justify-content:space-between;gap:20px}.room-network-status{position:fixed;left:50%;top:78px;transform:translateX(-50%);z-index:80;max-width:90vw;background:#242b38ed;color:#ffdb94;padding:10px 18px;border:1px solid #b99c62;border-radius:8px;font-size:14px;pointer-events:none;text-align:center}.room-network-status:empty{display:none}@media(max-width:600px){.room-seats{grid-template-columns:repeat(2,minmax(0,1fr))}.room-config{grid-template-columns:1fr}.room-actions .btn{flex:1;min-width:40%}.room-join>div{flex-wrap:wrap}}
.room-actions .btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.modal-card .room-notice{color:var(--muted);line-height:1.7}.room-config select:disabled{opacity:.7}
/* 斷線處理面板：等待／同意電腦接手／解散 */
.room-pause{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:85;width:min(440px,calc(100vw - 32px));background:#1d222bf2;border:1px solid #b99c62;border-radius:14px;padding:22px 24px;color:#f5ecd8;box-shadow:0 20px 60px #0009}
.room-pause h2{margin:0 0 14px;font-size:20px}
.room-pause ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.room-pause-list li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;background:#ffffff0a;border-radius:8px;padding:10px 12px}
.room-pause-list span{color:#ffdb94;font-size:13px;text-align:right}
.room-pause-hint{color:var(--muted,#a8a29a);font-size:13px;margin:14px 0}
.room-pause-votes li{display:flex;align-items:center;gap:8px;font-size:14px}
.room-pause-votes small{color:var(--muted,#a8a29a)}
.room-pause-votes b{margin-left:auto;font-weight:500;font-size:13px;padding:2px 8px;border-radius:6px;background:#ffffff12}
.room-pause-votes .vote-bot{background:#64bfa626;color:#8fe0c8}
.room-pause-votes .vote-dissolve{background:#ff6b6b26;color:#ff9c9c}
.room-pause-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.room-pause-actions .btn{flex:1;min-width:0;padding:10px 8px;font-size:14px}
/* 自動配對 */
.match-me{margin:4px 0 0;font-size:15px}.match-me b{color:var(--gold,#efbe62);font-size:18px}
.match-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.match-tier{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:16px;border:1px solid #4d4840;border-radius:12px;background:#ffffff08;color:#f5ecd8;font:inherit;cursor:pointer;transition:border-color .2s,transform .15s,background .2s}
.match-tier:hover:not(:disabled){transform:translateY(-2px);border-color:var(--gold,#efbe62);background:#efbe620f}
.match-tier:disabled{opacity:.45;cursor:not-allowed}
.match-tier strong{font-size:18px;letter-spacing:.08em}
.match-stakes{font-weight:700;color:var(--gold,#efbe62)}
.match-tier small{color:var(--muted,#a8a29a);font-size:12px;display:flex;flex-wrap:wrap;gap:0 8px}
.match-tier em{font-style:normal;font-size:12px;color:#8fe0c8}
.match-tier:disabled em{color:#ff9c9c}
.tier-rookie{border-left:4px solid #64bfa6}.tier-normal{border-left:4px solid #6ea8ff}.tier-expert{border-left:4px solid #efbe62}.tier-master{border-left:4px solid #ff6b7d}
.match-wait{display:grid;justify-items:center;gap:6px;margin:20px 0;text-align:center}.match-wait p{margin:0}
.match-spinner{width:42px;height:42px;border-radius:50%;border:3px solid #ffffff1a;border-top-color:var(--gold,#efbe62);animation:match-spin 1s linear infinite;margin-bottom:8px}
@keyframes match-spin{to{transform:rotate(360deg)}}
.match-rating{font-size:16px;text-align:center;margin:16px 0}.match-rating b{font-size:20px}
.match-rating .up{color:#8fe0c8;font-weight:700}.match-rating .down{color:#ff9c9c;font-weight:700}
.room-final p.is-me{color:var(--gold,#efbe62)}
@media(max-width:600px){.match-tiers{grid-template-columns:1fr}}
