:root{
  --bg:#0b1020;
  --panel:#0f1724;
  --accent:#7c5cff;
  --accent-2:#00e5ff;
  --glass: rgba(255,255,255,0.04);
  --glass-2: rgba(255,255,255,0.02);
  --text:#e6eef8;
  --muted:#9fb0c8;
}

*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;color:var(--text);background:
radial-gradient(1200px 600px at 10% 10%, rgba(124,92,255,0.12), transparent 8%),
radial-gradient(800px 400px at 90% 90%, rgba(0,229,255,0.06), transparent 6%),
var(--bg);}

.page{max-width:1200px;margin:24px auto;padding:20px}

.rc-header h1{font-size:28px;margin:6px 0}
.rc-header .subtitle{color:var(--muted);margin:0 0 16px 0}

.rc-main{display:grid;grid-template-columns: 1fr 360px;gap:20px;align-items:start}
@media (max-width:980px){.rc-main{grid-template-columns:1fr} .info-panel{order:2}}

.game-area{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);padding:16px;border-radius:14px;box-shadow:0 10px 30px rgba(2,6,23,0.6);position:relative;overflow:hidden}

/* Canvas style */
#gameCanvas{width:100%;height:auto;border-radius:10px;background:
linear-gradient(180deg, rgba(10,12,24,0.9), rgba(6,8,16,0.8));display:block;}

/* HUD */
.top-hud{position:absolute;top:12px;left:14px;right:14px;display:flex;justify-content:space-between;gap:12px;pointer-events:none}
.top-hud .control{pointer-events:all}
.control{background:linear-gradient(90deg,var(--accent),var(--accent-2));border:none;padding:8px 12px;border-radius:8px;color:#061023;font-weight:700;margin-right:8px;cursor:pointer;box-shadow:0 8px 24px rgba(124,92,255,0.16);transition:transform .12s ease}
.control:active{transform:translateY(2px)}
.small{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}

.scoreboard{position:absolute;left:18px;bottom:14px;background:var(--glass);padding:8px 12px;border-radius:10px;display:flex;gap:14px;align-items:center;backdrop-filter: blur(6px)}
.scoreboard div{font-weight:700;color:var(--text)}

.mobile-controls{display:none}
@media (max-width:640px){
  .mobile-controls{display:flex;gap:12px;justify-content:center;position:fixed;bottom:16px;left:50%;transform:translateX(-50%);pointer-events:all}
  .touch{padding:14px 18px;border-radius:12px;background:linear-gradient(180deg,var(--accent),#5aa8ff87);border:none;color:#021; font-weight:800; box-shadow:0 10px 30px rgba(0,0,0,0.45)}
  .top-hud{display:none}
}

.info-panel{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent);padding:18px;border-radius:12px}
.info-panel h2{margin-top:0}
.info-panel ul{padding-left:18px;color:var(--muted)}
.note{color:var(--muted);font-size:13px}
.metadata{margin-top:8px;color:var(--muted)}
.play-now{margin-top:16px;display:flex;gap:10px}
.play-button, .open-new-tab{display:inline-block;padding:8px 12px;border-radius:8px;text-decoration:none;font-weight:700}
.play-button{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#021}
.open-new-tab{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--text)}

.subtitle{color:var(--muted)}

.rc-footer{margin-top:10px;color:var(--muted);text-align:center;font-size:13px}

/* Accuracy popup */
.hit-pop{
  position:absolute;
  left:50%; transform:translateX(-50%);
  top:50px; pointer-events:none;
  font-weight:900;font-size:20px;padding:6px 12px;border-radius:8px;
  background:linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  color:var(--text);
  animation:pop .9s ease forwards;
  box-shadow:0 8px 30px rgba(0,0,0,0.4);
}
@keyframes pop{
  0%{opacity:0; transform:translate(-50%, -6px) scale(.98)}
  10%{opacity:1; transform:translate(-50%,0) scale(1.06)}
  100%{opacity:0; transform:translate(-50%,-18px) scale(.96)}
}
