:root { --accent:#f7a600; }
  * { margin:0; padding:0; box-sizing:border-box; }
  html,body {
    height:100%; background:#0b0e14; overflow:hidden;
    font-family:"Segoe UI",system-ui,-apple-system,sans-serif;
    display:flex; align-items:center; justify-content:center;
    -webkit-tap-highlight-color:transparent;
  }
  #wrap { position:relative; height:100vh; aspect-ratio:448/680; max-width:100vw; }
  canvas { display:block; width:100%; height:100%; background:#0b0e14; touch-action:none; }
  #overlay {
    position:absolute; inset:0; display:flex; flex-direction:column;
    align-items:center; justify-content:center; text-align:center; color:#e8eaed;
    pointer-events:none; gap:14px; padding:24px;
  }
  #overlay.hidden { display:none; }
  .card {
    background:rgba(13,17,23,.82); border:1px solid rgba(247,166,0,.4);
    border-radius:16px; padding:24px 26px; backdrop-filter:blur(4px);
    box-shadow:0 8px 40px rgba(0,0,0,.5); max-width:88%;
  }
  h1 { font-size:clamp(24px,5.5vw,38px); color:var(--accent); letter-spacing:.5px;
    text-shadow:0 2px 12px rgba(247,166,0,.4); margin-bottom:4px; }
  .sub { font-size:13px; opacity:.7; margin-bottom:14px; }
  .big { font-size:46px; font-weight:700; color:#fff; }
  .lbl { font-size:12px; text-transform:uppercase; letter-spacing:2px; opacity:.6; }
  .best { color:var(--accent); font-size:20px; font-weight:600; }
  .medal { font-size:18px; font-weight:700; margin-top:8px; }
  .hint { font-size:13px; opacity:.75; margin-top:12px; }
  .pulse { animation:pulse 1.4s ease-in-out infinite; }
  @keyframes pulse { 0%,100%{opacity:.55} 50%{opacity:1} }
  /* skin picker */
  #picker { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:6px 0 4px;
    pointer-events:auto; }
  #picker button {
    pointer-events:auto; cursor:pointer; background:rgba(255,255,255,.04);
    border:2px solid rgba(255,255,255,.12); border-radius:12px; padding:5px;
    flex:0 0 60px; width:60px; height:60px; display:flex; align-items:center; justify-content:center;
    transition:border-color .15s, transform .15s;
  }
  #picker button.sel { border-color:var(--accent); transform:translateY(-3px);
    box-shadow:0 4px 16px rgba(247,166,0,.35); }
  #picker img { width:100%; height:100%; object-fit:contain; image-rendering:pixelated; }
  .pickLbl { font-size:11px; opacity:.55; letter-spacing:1px; }
  #mute {
    position:absolute; top:32px; left:10px; z-index:5; cursor:pointer; pointer-events:auto;
    background:rgba(13,17,23,.7); border:1px solid rgba(255,255,255,.15);
    color:#e8eaed; border-radius:10px; width:44px; height:44px; font-size:20px; padding:0;
    display:flex; align-items:center; justify-content:center; font-family:inherit;
  }
  #mute:hover, #mute:focus-visible { border-color:var(--accent); color:#fff; outline:none; }
