.online-entry{max-width:840px;margin:40px auto;padding:24px}.online-entry h1{font-size:38px}.online-entry .panel{margin-top:20px}.online-entry .entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.online-entry .room-code{font-size:28px;letter-spacing:4px;color:var(--gold);font-weight:600}.online-entry label{margin-bottom:12px}.online-entry input,.online-entry select{width:100%}.online-player{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}.online-player .hint{margin-left:auto}.online-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#1b2c32;border:1px solid #43575d;border-radius:8px;padding:10px 14px;margin:0 0 12px;font-size:12px}.online-bar .room-code{color:var(--gold);letter-spacing:2px;font-weight:700}.online-statuses{display:flex;gap:14px;flex-wrap:wrap}.online-statuses span{display:flex;gap:5px;align-items:center}.connection-dot{height:6px;width:6px;border-radius:50%;background:#839295;display:inline-block}.connection-dot.connected{background:#8dbc99}.online-connection{color:var(--muted)}.online-connection.error,.online-error{color:#e8a2a2}.online-error{min-height:1em;white-space:pre-wrap}.online-entry .row{margin:12px 0}.online-waiting{color:var(--gold)}.online-key{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.online-key input{font-size:12px}.online-entry .invite{overflow-wrap:anywhere}.online-bar button{font-size:11px;padding:6px 10px}.online-entry .restore-save{margin-top:24px}.online-help{color:var(--muted);font-size:12px}.online-entry button.primary{min-height:42px}.online-entry button[disabled]{opacity:.5}.online-entry .host-note{margin:12px 0}.online-bar .online-actions{display:flex;gap:8px;align-items:center}.online-entry .resume-list{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:650px){.online-entry{padding:12px;margin:15px auto}.online-entry h1{font-size:29px}.online-entry .entry-grid{grid-template-columns:1fr}.online-bar{align-items:flex-start;gap:8px;padding:9px}.online-statuses{gap:8px}.online-bar .online-actions{width:100%;justify-content:space-between}}
