:root{--bg-0: #0a0a14;--bg-1: #1a1330;--accent: #b69bff;--accent-2: #66ffcc;--text: #f5f5f7;--text-dim: #a8a8b8;--danger: #ff5577;--radius: 14px;--shadow: 0 6px 24px rgba(0, 0, 0, .4);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:radial-gradient(ellipse at top,var(--bg-1),var(--bg-0));background-attachment:fixed;color:var(--text);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}main{max-width:1200px;margin:0 auto;padding:2rem 1rem}h1{font-size:clamp(2rem,5vw,3.5rem);margin:0 0 .5rem;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{color:var(--text-dim);margin:0 0 2rem}.badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.15rem .5rem;border-radius:999px;background:var(--accent);color:var(--bg-0)}.badge.beta{background:var(--danger);color:#fff}.game-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media(max-width:640px){.game-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding-bottom:1rem;-webkit-overflow-scrolling:touch}.game-card{flex:0 0 80%;scroll-snap-align:center}}.game-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;transition:transform .15s ease,border-color .15s ease;text-decoration:none;color:inherit;box-shadow:var(--shadow)}.game-card:hover{transform:translateY(-2px);border-color:var(--accent);text-decoration:none}.game-card h2{margin:0;font-size:1.25rem}.game-card p{margin:0;color:var(--text-dim);font-size:.95rem}.nick-badge{position:fixed;top:1rem;right:1rem;z-index:50;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text);font-family:inherit;font-size:.85rem;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:border-color .15s ease,background .15s ease}.nick-badge:hover{border-color:var(--accent);background:#ffffff1a}.nick-badge-label{color:var(--text-dim);font-size:.75rem}.nick-badge strong{font-weight:700}.nick-badge-edit{color:var(--accent);font-size:.75rem;margin-left:.25rem}.nick-modal-backdrop{position:fixed;inset:0;background:#0a0a14bf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.nick-modal{background:var(--bg-1);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:1.75rem;max-width:440px;width:100%;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.75rem}.nick-modal h2{margin:0;font-size:1.5rem;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.nick-modal-sub{margin:0 0 .5rem;color:var(--text-dim);font-size:.9rem}.nick-modal-input{padding:.75rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#0006;color:inherit;font-size:1rem;font-family:inherit}.nick-modal-buttons{display:flex;gap:.5rem;margin-top:.5rem}.nick-modal-btn{flex:1;padding:.75rem;border-radius:8px;border:none;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;transition:opacity .15s ease}.nick-modal-btn.primary{background:var(--accent);color:var(--bg-0)}.nick-modal-btn.primary:disabled{opacity:.4;cursor:not-allowed}.nick-modal-btn.secondary{background:#ffffff14;color:var(--text);border:1px solid rgba(255,255,255,.16)}.nick-modal-foot{margin:.25rem 0 0;color:var(--text-dim);font-size:.75rem;text-align:center}.game-canvas:fullscreen,.game-canvas:-webkit-full-screen{max-width:none!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;border-radius:0!important;background:#000!important;position:fixed;inset:0}.leaderboard{background:#ffffff0a;border-radius:var(--radius);padding:1rem 1.25rem}.leaderboard table{width:100%;border-collapse:collapse}.leaderboard th,.leaderboard td{text-align:left;padding:.5rem .25rem;border-bottom:1px solid rgba(255,255,255,.06);font-size:.95rem}.leaderboard th{font-weight:600;color:var(--text-dim);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.leaderboard td.score{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.leaderboard .skeleton-row{height:1.5rem;background:#ffffff0a;animation:pulse 1.4s infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.7}}
