html,body{margin:0;height:100%;background:#070a18;overflow:hidden;color:#e8ecff;touch-action:manipulation;user-select:none;-webkit-user-select:none;
  font-family:system-ui,-apple-system,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
canvas{display:block;width:100vw;height:100vh}
#ui{position:fixed;left:10px;top:10px;display:flex;gap:6px;z-index:2;font-size:12px}
#ui select,#ui button{background:#141a36cc;color:#e8ecff;border:1px solid #3a4580;border-radius:8px;padding:6px 8px;font:inherit;cursor:pointer}
#lobby{position:fixed;inset:0;display:grid;place-items:center;background:#070a18f0;z-index:3;padding:16px;overflow:auto}
#lobby .box{width:min(520px,100%);text-align:center}
#lobby h1{font-size:clamp(34px,9vw,56px);margin:0 0 6px;letter-spacing:4px;font-weight:900;
  background:linear-gradient(90deg,#3ff0ff,#ff3fd8,#ffd23f);-webkit-background-clip:text;background-clip:text;color:transparent}
#lobby .sub{opacity:.7;margin:0 0 18px;font-size:13px}
#lobby .row{display:flex;align-items:center;gap:10px;margin:10px 0}
#lobby .row>span{width:56px;flex:none;text-align:right;font-weight:800;color:#9fb0ff;font-size:14px}
#lobby .seg{display:flex;gap:6px;flex:1;flex-wrap:wrap}
#lobby .seg button{flex:1;min-width:64px;padding:11px 8px;border-radius:10px;border:1px solid #3a4580;background:#121838;color:#e8ecff;font:800 14px system-ui,sans-serif;cursor:pointer}
#lobby .seg button.on{background:linear-gradient(135deg,#3ff0ff33,#ff3fd833);border-color:#3ff0ff;box-shadow:0 0 12px #3ff0ff55}
#lobby .row.lv .seg button{min-width:52px;padding:6px 4px;font-size:12px;line-height:1.3}
#lobby .seg button:disabled{opacity:.25;cursor:not-allowed}
#lobby #desc{min-height:48px;font-size:13px;line-height:1.55;color:#c9d1ff;opacity:.85;margin:14px 0}
#go{width:100%;padding:16px;border:0;border-radius:14px;font:900 20px system-ui,sans-serif;color:#070a18;cursor:pointer;
  background:linear-gradient(90deg,#3ff0ff,#ff3fd8,#ffd23f);animation:pulse 1.2s infinite}
#go small{display:block;font-size:12px;font-weight:700;opacity:.75;margin-top:2px}
@keyframes pulse{50%{transform:scale(1.03)}}
#lobby .home{position:absolute;left:16px;top:14px;color:#9fb0ff;text-decoration:none;font:800 13px system-ui,sans-serif;opacity:.8}
#lobby .home:hover{opacity:1}
#lobby .ver{font-size:11px;opacity:.45;margin:0 0 10px}
#lobby{position:fixed}

/* 온라인 방 */
#online .nick{flex:1;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid #3a4580;background:#121838;color:#e8ecff;font:800 15px system-ui,sans-serif}
#online .net-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}
#online .net-actions button,#online .room button{padding:11px 14px;border-radius:10px;border:1px solid #3a4580;background:#121838;color:#e8ecff;font:800 14px system-ui,sans-serif;cursor:pointer}
#online .net-actions button.big{flex:1;padding:14px;font-size:16px;border-color:#3ff0ff;background:linear-gradient(135deg,#3ff0ff22,#ff3fd822);box-shadow:0 0 14px #3ff0ff44}
#online button:disabled{opacity:.4;cursor:wait}
#online .room{margin:12px 0 4px;padding:12px;border:1px solid #3a4580;border-radius:14px;background:#0d1230;text-align:left}
#online .room-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
#online .room-head b{font:900 18px system-ui,sans-serif;letter-spacing:2px;color:#3ff0ff}
#online .room-head small{color:#ffd23f;font-weight:800}
#online .link-row{display:flex;gap:6px}
#online .link{flex:1;min-width:0;padding:9px 10px;border-radius:10px;border:1px solid #3a4580;background:#070a18;color:#9fb0ff;font:600 12px system-ui,sans-serif}
#online .hint{font-size:12px;opacity:.7;margin:6px 0 10px}
#online .members{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#online .mem{padding:8px 10px;border-radius:10px;border:2px solid #3a4580;background:#121838;display:flex;flex-direction:column;gap:2px;font-size:12px}
#online .mem b{font-size:14px}
#online .mem.empty{border-style:dashed;opacity:.5}
#online .room .leave{margin-top:10px;width:100%;opacity:.75}
#online .err{color:#ff6b81;font-weight:800;font-size:13px}
