/* Lyn Harmony Kung Fu — Fun  |  shared look for the newer games (gamekit.css + gamekit.js) */
:root{
  --bg1:#141A27; --bg2:#1B2230; --bg3:#C2452D;
  --panel:rgba(27,34,48,.92); --panel2:rgba(255,255,255,.07); --line:#3A4458;
  --acc:#E2B961; --acc2:#C2452D; --text:#F1F2F0; --dim:#A9B3C5;
  --good:#3ddc84; --bad:#ff6b7a; --btn-text:#1B2230;
  --safe-bottom:64px; /* room for the small music player */
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--text);
  background:radial-gradient(120% 90% at 12% 0%,#2a3550 0%,transparent 55%),
             radial-gradient(90% 70% at 100% 100%,rgba(194,69,45,.22) 0%,transparent 60%),
             linear-gradient(160deg,var(--bg1),var(--bg2));
  background-attachment:fixed;
  min-height:100vh; min-height:100dvh;
  -webkit-user-select:none;user-select:none;
  overflow-x:hidden;
}
.gk-app{max-width:720px;margin:0 auto;padding:10px 12px calc(var(--safe-bottom) + 8px);display:flex;flex-direction:column;gap:10px;min-height:100vh;min-height:100dvh}
.gk-top{display:flex;align-items:center;gap:8px}
.gk-back,.gk-icon{
  all:unset;box-sizing:border-box;cursor:pointer;background:var(--panel);border:1px solid var(--line);color:var(--text);
  border-radius:999px;height:38px;min-width:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;
}
.gk-back:hover,.gk-icon:hover{border-color:var(--acc)}
.gk-back:focus-visible,.gk-icon:focus-visible,.gk-btn:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.gk-title{flex:1;text-align:center;font-weight:800;font-size:clamp(19px,5.4vw,26px);letter-spacing:.01em;margin:0;line-height:1.1}
.gk-title span{color:var(--acc)}
.gk-stats{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.gk-chip{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:3px 12px 4px;text-align:center;min-width:76px}
.gk-chip small{display:block;font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.gk-chip b{font-size:21px;line-height:1.05}
.gk-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}
.gk-btn{
  all:unset;box-sizing:border-box;cursor:pointer;text-align:center;
  background:linear-gradient(180deg,#F0D088,var(--acc));color:var(--btn-text);font-weight:800;font-size:17px;
  padding:9px 20px;border-radius:14px;box-shadow:0 4px 0 #B8862F,0 8px 16px rgba(0,0,0,.25);transition:transform .08s,box-shadow .08s;
}
.gk-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #B8862F}
.gk-btn.alt{background:var(--panel);color:var(--text);border:1px solid var(--line);box-shadow:0 3px 0 rgba(0,0,0,.35);font-size:15px;padding:7px 14px}
.gk-btn.alt.on{border-color:var(--acc);background:rgba(226,185,97,.18)}
.gk-btn.small{font-size:14px;padding:6px 12px;border-radius:12px}
.gk-btn[disabled]{opacity:.45;pointer-events:none}
.gk-seg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:3px;gap:2px}
.gk-seg button{all:unset;cursor:pointer;padding:6px 14px;border-radius:11px;font-weight:700;font-size:14px;color:var(--dim)}
.gk-seg button.on{background:var(--acc);color:var(--btn-text)}
.gk-seg button:focus-visible{outline:2px solid var(--acc)}
.gk-msg{text-align:center;color:var(--dim);font-weight:600;min-height:1.4em;font-size:15px}
.gk-msg b{color:var(--text)}
.gk-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:12px}
.gk-grow{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:0}
.gk-hint{font-size:13px;color:var(--dim);text-align:center}
.gk-overlay{position:fixed;inset:0;z-index:60;background:rgba(10,14,24,.74);display:flex;align-items:center;justify-content:center;padding:16px;animation:gkfade .18s}
.gk-panel{background:linear-gradient(180deg,#262F44,#151B27);border:2px solid var(--line);border-radius:22px;padding:20px 22px;max-width:420px;width:100%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.5);max-height:90vh;overflow:auto}
.gk-panel h2{margin:0 0 6px;font-size:28px;line-height:1.1}
.gk-panel p{margin:6px 0;color:var(--dim);font-size:16px}
.gk-panel .gk-row{margin-top:14px}
.gk-scores{list-style:none;padding:0;margin:10px 0 0;text-align:left;font-size:15px}
.gk-scores li{display:flex;justify-content:space-between;padding:3px 10px;border-radius:8px}
.gk-scores li:nth-child(odd){background:rgba(255,255,255,.05)}
.gk-scores li.me{background:rgba(226,185,97,.22);color:var(--acc)}
@keyframes gkfade{from{opacity:0}to{opacity:1}}
@keyframes gkpop{0%{transform:scale(.6)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes gkshake{0%,100%{transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
.gk-shake{animation:gkshake .35s}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
