:root{
  --bg: radial-gradient(1200px 800px at 10% 10%, #FEF3C7 0%, #E9FAF2 40%, #F9FAFB 100%);
  --panel: #ffffff;
  --text: #0f172a;
  --accent: #22c55e;
  --accent2: #3b82f6;
  --shadow: 0 14px 40px rgba(15,23,42,.14);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#f9fafb;background-image:var(--bg);color:var(--text);overscroll-behavior:none}

/* HOME */
.screen{position:fixed;inset:0;}
.screen--center{display:flex;align-items:center;justify-content:center;padding:18px}
.home-card{
  width:min(920px,100%);
  background:rgba(255,255,255,.9);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:26px 30px;
  text-align:left;
}
.home-logo{margin-bottom:16px}
.logo-placeholder{
  display:inline-flex;
  background:#ecfdf5;
  border:1px dashed #22c55e;
  border-radius:14px;
  padding:10px 16px;
  font-weight:700;
}
h1{margin:0 0 10px;font-size:30px}
p{margin:0 0 16px;line-height:1.4}
.home-actions{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.btn{
  border:0;
  border-radius:14px;
  padding:10px 18px;
  font-weight:700;
  cursor:pointer;
  background:#e2e8f0;
}
.btn.primary{background:var(--accent);color:#fff}

/* GAME */
.game-screen{position:fixed;inset:0;background:var(--bg);}
.topbar{
  position:absolute;
  top:8px;left:8px;right:8px;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(255,255,255,.9);backdrop-filter:blur(8px);
  border-radius:16px;
  padding:6px 8px;
  z-index:20;
  gap:10px;
}
.topbar .left, .topbar .right{display:flex;align-items:center;gap:8px}
.pill{
  background:#fff;
  border:0;
  border-radius:999px;
  padding:6px 12px;
  font-weight:700;
  box-shadow:0 4px 12px rgba(15,23,42,.08);
  cursor:pointer;
}
.progress{width:140px;background:rgba(148,163,184,.25);overflow:hidden}
.progress div{height:100%;width:0%;background:linear-gradient(90deg,#34d399,#60a5fa);}
.mode-label{font-weight:700}

canvas{
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  width:100%;height:100%;
  display:block;
  z-index:1;
}

/* Overlay panels */
.overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(15,23,42,.4);
  z-index:50;
}
.panel{
  background:#fff;
  padding:20px;
  border-radius:20px;
  box-shadow:var(--shadow);
  text-align:center;
  width:min(90%,380px);
}
.crash{
  position:absolute;top:16px;left:50%;transform:translateX(-50%);
  background:#fee2e2;color:#7f1d1d;padding:10px 16px;border-radius:12px;z-index:80;
}
