:root{
  --ink:#2b2240;
  --paper:#fff8ec;
  --accent:#ff5da2;
  --accent2:#ffd166;
  --good:#3ddc84;
  --bad:#ff5577;
  --sky1:#bce6ff;
  --sky2:#ffe6f1;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;font-family:"Comic Sans MS",ui-rounded,system-ui,sans-serif;background:#1a1330;color:var(--ink);user-select:none;-webkit-user-select:none;overflow:hidden}
#app{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#3a2c5e 0%,#1a1330 70%)}
#stage{width:min(100vw,calc(100vh*16/9));height:min(100vh,calc(100vw*9/16));background:linear-gradient(#bce6ff,#ffe6f1);box-shadow:0 20px 60px rgba(0,0,0,.5);border-radius:8px;display:block;image-rendering:auto}
#hud{position:absolute;top:14px;left:0;right:0;display:flex;justify-content:space-between;padding:0 22px;pointer-events:none;font-size:22px;font-weight:bold;color:#fff;text-shadow:2px 2px 0 #2b2240,0 0 8px rgba(0,0,0,.4)}
#hud-left,#hud-right{display:flex;gap:14px;align-items:center;pointer-events:auto}
#hud button{font:inherit;font-size:18px;padding:6px 12px;border-radius:12px;border:3px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;text-shadow:none;box-shadow:0 4px 0 var(--ink)}
#hud button:active{transform:translateY(2px);box-shadow:0 2px 0 var(--ink)}
#hud-lives{color:#ff95b4}
#hud-stars{color:#ffd166}
#hud-name{color:#fff;font-size:18px;padding-left:6px;opacity:.95}
#hud-name:empty{display:none}
#overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(20,12,40,.55);backdrop-filter:blur(4px);transition:opacity .25s}
#overlay.hidden{opacity:0;pointer-events:none}
#overlay .card{background:var(--paper);padding:28px 36px;border-radius:24px;border:5px solid var(--ink);box-shadow:0 12px 0 var(--ink);max-width:640px;text-align:center}
#overlay h1{margin:0 0 10px;font-size:38px;color:var(--accent)}
#overlay p{font-size:22px;line-height:1.4;margin:6px 0 18px}
#ov-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
#ov-buttons button{font:inherit;font-size:22px;font-weight:bold;padding:12px 22px;border-radius:16px;border:4px solid var(--ink);background:var(--accent2);color:var(--ink);cursor:pointer;box-shadow:0 6px 0 var(--ink)}
#ov-buttons button.primary{background:var(--accent);color:#fff}
#ov-buttons button.good{background:var(--good)}
#ov-buttons button:active{transform:translateY(3px);box-shadow:0 3px 0 var(--ink)}
#bootloader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1a1330;z-index:50;transition:opacity .4s}
#bootloader.gone{opacity:0;pointer-events:none}
.boot-card{text-align:center;color:var(--paper);max-width:520px;padding:24px}
.boot-card h1{font-size:46px;color:var(--accent);text-shadow:4px 4px 0 var(--ink)}
.bar{height:18px;border-radius:10px;background:#2b2240;overflow:hidden;border:3px solid var(--paper)}
#boot-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .15s}
.hidden{display:none !important}
