/* Kushi Games shared theme
 * Load it with: <link rel="stylesheet" href="/shared/theme.css">
 * Chunky, bright, cartoon style: thick dark outlines, rounded corners, "drop shadow" made from a solid offset.
 */
@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&display=swap');

:root{
  --ink:#1D1E2C;        /* outlines and text */
  --cream:#FFFDF5;      /* cards */
  --muted:#4b4d63;      /* small text */
  --kick:#FF5A36;       /* main buttons */
  --sun:#FFE14D;        /* control buttons */
  --gold:#F5B700;       /* Dribble Dash background */
  --field:#2F8A3E;      /* Goal Guard background */
  --grass:#4CB35A;
  --bg:var(--field);    /* each game can change this */
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --field:#1F5E2A; } }
:root[data-theme="dark"]{ --field:#1F5E2A; }
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--bg); color:var(--ink);
  font-family:'Baloo 2','Trebuchet MS','Arial Rounded MT Bold',system-ui,sans-serif;
  -webkit-user-select:none; user-select:none; touch-action:manipulation;
}
button{font-family:inherit;cursor:pointer}

/* cards (start screens, pause screens, popups) */
.card{background:var(--cream);border-radius:22px;padding:22px 20px 20px;max-width:330px;width:100%;
  text-align:center;border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);max-height:100%;overflow-y:auto}
.card h1{font-size:2.4rem;line-height:1;margin:0 0 10px;font-weight:800;letter-spacing:-.5px}
.card p{margin:0 0 10px;font-size:1.05rem;line-height:1.35;color:var(--muted)}
.card .small{font-size:.9rem}

/* the big orange button and its friends */
.kick{background:var(--kick);color:#fff;border:4px solid var(--ink);border-radius:999px;font-size:1.4rem;
  font-weight:800;padding:8px 30px;box-shadow:0 5px 0 var(--ink)}
.kick.alt{background:#fff;color:var(--ink)}
.kick.small{font-size:1.1rem;padding:6px 22px}
.kick:active,.pad:active{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}
.pad{height:68px;border-radius:20px;border:4px solid var(--ink);background:var(--sun);font-size:2rem;
  font-weight:800;color:var(--ink);box-shadow:0 5px 0 var(--ink)}
.kick:focus-visible,.pad:focus-visible,a:focus-visible{outline:4px solid var(--sun);outline-offset:3px}

/* stack of buttons: secondary on top, main button below */
.stack{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:6px}
.stack .kick{min-width:210px}
.homelink{color:var(--muted);font-weight:700;font-size:1rem;text-decoration:underline;padding:4px}

/* full-screen popup layer over a game canvas */
.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(29,30,44,.55);border-radius:18px;padding:16px;z-index:3}
.overlay.hidden{display:none}

@media (prefers-reduced-motion: reduce){ .kick:active,.pad:active{transform:none} }
