html, body { margin:0; width:100%; height:100%; overflow:hidden; background:#0b1020; font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:white; }
canvas { display:block; width:100vw; height:100vh; background:#0b1020; }
.join-panel { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at top, rgba(0,118,253,.28), rgba(5,8,18,.95)); z-index:10; padding:24px; }
.card { width:min(430px, 94vw); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); box-shadow:0 20px 70px rgba(0,0,0,.45); border-radius:28px; padding:28px; backdrop-filter:blur(18px); }
.badge { display:inline-flex; padding:7px 11px; border-radius:999px; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:#9ed0ff; background:rgba(0,118,253,.16); border:1px solid rgba(0,118,253,.35); }
h1 { margin:16px 0 8px; font-size:38px; line-height:1; }
p { color:#cbd5e1; line-height:1.5; }
label { display:block; margin-top:16px; margin-bottom:7px; color:#dbeafe; font-size:14px; }
input { width:100%; box-sizing:border-box; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.10); color:white; padding:13px 14px; border-radius:14px; outline:none; font-size:16px; }
input[type=color] { height:48px; padding:5px; cursor:pointer; }
button { margin-top:20px; width:100%; border:0; border-radius:16px; padding:14px 18px; background:#0076fd; color:white; font-weight:800; font-size:16px; cursor:pointer; box-shadow:0 14px 30px rgba(0,118,253,.35); }
.hud { position:fixed; left:16px; top:16px; display:flex; gap:10px; align-items:center; z-index:3; pointer-events:none; }
.score, .hint, .status { background:rgba(2,6,23,.68); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:10px 12px; box-shadow:0 10px 30px rgba(0,0,0,.25); backdrop-filter:blur(10px); }
.hint { color:#cbd5e1; }
.status { position:fixed; left:16px; bottom:16px; color:#cbd5e1; z-index:4; }
.leaderboard { position:fixed; right:16px; top:16px; width:230px; background:rgba(2,6,23,.68); border:1px solid rgba(255,255,255,.12); border-radius:20px; padding:14px 16px; box-shadow:0 10px 30px rgba(0,0,0,.25); backdrop-filter:blur(10px); z-index:3; }
.leaderboard h2 { margin:0 0 10px; font-size:18px; }
ol { margin:0; padding-left:24px; }
li { margin:6px 0; color:#e2e8f0; }
@media (max-width: 760px) { .leaderboard { display:none; } .hint { display:none; } h1{font-size:32px;} }
