:root{
  --bg:#071025;
  --card:#0f1720;
  --accent:#6ee7b7;
  --muted:rgba(255,255,255,0.7);
  --glass: rgba(255,255,255,0.04);
  --accent-2: #7dd3fc;
  --danger: #ff6b6b;
  --radius: 12px;
  --pad:16px;
  --shadow: 0 6px 30px rgba(2,6,23,0.7);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
  background: radial-gradient(1200px 600px at 10% 10%, rgba(50,60,160,0.12), transparent 10%),
              linear-gradient(180deg,#071025 0%, #051226 60%);
  color:#e6eef6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.page{max-width:1100px;margin:28px auto;padding:20px}

.gd-header{
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}

.gd-title{display:flex;align-items:center;gap:12px}
.gd-icon{
  width:68px;height:68px;border-radius:14px;background:linear-gradient(135deg,#38bdf8,#60a5fa);
  display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 8px 30px rgba(96,165,250,0.14);
}
.gd-title h1{margin:0;font-size:20px}
.subtitle{margin:0;color:var(--muted);font-size:13px}

.controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.btn{
  border:0;padding:10px 12px;border-radius:10px;background:var(--glass);color:inherit;cursor:pointer;
  box-shadow:var(--shadow);backdrop-filter: blur(6px);
}
.btn.primary{background:linear-gradient(90deg,#06b6d4,#7dd3fc);color:#052025;font-weight:600}

.control-inline{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.control-inline input[type="range"]{width:90px}
.open-new{color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:10px}

.gd-main{display:flex;gap:18px;margin-top:16px}
.canvas-wrap{
  flex:1; min-height:520px; position:relative; border-radius:16px; overflow:hidden;
  background-image: url("https://source.unsplash.com/1600x900/?water,drop,macro");
  background-size:cover; background-position:center;
  box-shadow: 0 20px 50px rgba(2,6,23,0.6);
  border:1px solid rgba(255,255,255,0.03);
}

/* Canvas fills */
#gameCanvas{width:100%;height:100%;display:block;}

/* overlay messages */
.overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;
  pointer-events:none;
}
.overlay.hidden{display:none}
.overlay .card{
  background:linear-gradient(180deg,rgba(0,0,0,0.5),rgba(6,10,20,0.6));border-radius:14px;padding:18px 22px;text-align:center;
  backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,0.04);
}
.instructions{width:300px;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); padding:16px;border-radius:12px;box-shadow:var(--shadow)}
.instructions h3{margin-top:0}
.instructions ol{padding-left:18px;color:var(--muted)}
.instructions .credits{font-size:12px;color:var(--muted);margin-top:12px}

/* HUD */
.hud{position:absolute;top:12px;left:12px;display:flex;gap:10px;z-index:50}
.hud .stat{background:linear-gradient(90deg, rgba(255,255,255,0.03), rgba(0,0,0,0.1));padding:8px 12px;border-radius:10px;font-weight:600;font-size:14px;backdrop-filter: blur(6px)}

/* small screens */
@media (max-width:900px){
  .gd-main{flex-direction:column}
  .instructions{width:100%}
  .page{padding:12px}
}
