:root{--bg:#0b1220;--card:#0f1724;--accent:#66e0ff;--muted:#9aa6b2}
*{box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,var(--bg),#061125);color:#e6f0f6;display:flex;flex-direction:column}
body > .wrap{flex:1;display:flex;flex-direction:column;justify-content:center;margin:auto;padding:20px 0}
.wrap{width:880px;max-width:95%;text-align:center}
/* ensure wrap appears above background canvas */
.wrap{position:relative;z-index:2}
# Original system font: revert Press Start 2P
h1{margin:8px 0 16px;font-weight:600;letter-spacing:1px}
.canvas-wrap{position:relative}
#game{display:block;background:#08121a;border:6px solid #082a3a;border-radius:6px;margin:0 auto;box-shadow:0 18px 40px rgba(2,17,36,0.6), 0 0 60px rgba(102,224,255,0.06)}
#game:focus{outline:none}
.hud{margin-top:10px;display:flex;justify-content:space-between;align-items:center}
#score{font-size:20px;color:var(--accent)}
.hint{color:var(--muted);font-size:13px}

.controls{display:flex;justify-content:center;margin-bottom:10px}
.diff{color:var(--muted);font-size:12px;margin-right:8px;display:flex;align-items:center}
.diff-buttons button{background:#021524;border:2px solid #07324a;color:var(--accent);padding:8px 12px;margin:0 3px;border-radius:4px;cursor:pointer}
.diff-buttons button.active{background:var(--accent);color:#021124}

.actions{margin-left:12px}
.actions button{background:#072233;border:2px solid #07324a;color:var(--accent);padding:8px 12px;margin:0 3px;border-radius:4px;cursor:pointer}

/* background starfield canvas */
#space-bg{position:fixed;left:0;top:0;width:100%;height:100%;z-index:0;pointer-events:none}

/* Footer Styles - Unified Design */
.site-footer {
  padding: 0.6rem 0;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.03);
  background: linear-gradient(180deg, rgba(2, 6, 23, 0.28), rgba(2, 6, 23, 0.18));
  backdrop-filter: blur(6px) saturate(120%);
  color: rgba(234, 246, 255, 0.86);
  margin-top: auto;
}
.site-footer a {
  color: rgba(0, 212, 255, 1);
  text-decoration: none;
  font-weight: 600;
}
.footer-inner {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0.5rem;
}
.footer-left {
  flex: 0 0 auto;
  color: #99b8d1;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.footer-left > a {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.footer-left .powered-logo {
  height: 20px;
  width: auto;
  max-height: 20px;
  max-width: 120px;
  display: inline-block;
  margin-left: 0;
  vertical-align: middle;
  filter: drop-shadow(0 6px 12px rgba(124, 92, 255, 0.06));
  object-fit: contain;
  flex-shrink: 0;
}
.footer-center {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  gap: 12px;
}
.footer-center a {
  color: #99b8d1;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
  transition: color 0.18s, border-color 0.18s;
  font-size: 0.95rem;
}
.footer-center a:hover {
  color: rgba(0, 212, 255, 1);
  border-color: rgba(0, 212, 255, 0.25);
}
.footer-right {
  flex: 0 0 auto;
  display: flex;
  gap: 8px;
  align-items: center;
}
.social-icon {
  height: 28px;
  width: 28px;
  display: inline-block;
  object-fit: contain;
  filter: drop-shadow(0 6px 16px rgba(124, 92, 255, 0.1));
}
.logo-footer {
  height: 40px;
  margin-right: 12px;
  filter: drop-shadow(0 8px 22px rgba(124, 92, 255, 0.08));
}
@media (max-width:720px){
  .footer-inner {
    flex-direction: column;
    gap: 8px;
    align-items: center;
    text-align: center;
    padding: 0;
  }
  .footer-center {
    order: 3;
  }
  .footer-left {
    justify-content: center;
  }
  .site-footer {
    padding: 1rem 0;
  }
}
