/* ---------------- overlay ---------------- */
.veil{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;
      justify-content:center;gap:13px;padding:18px 16px;text-align:center;
      overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;
      background:radial-gradient(ellipse at 50% 45%,rgba(7,10,22,.7),rgba(7,10,22,.95))}
.veil.hide{display:none}
.title{font-family:'Bungee',cursive;font-size:clamp(30px,10vw,64px);line-height:.92;margin:0;color:#fff;
       text-shadow:3px 0 0 var(--p1),-3px 0 0 var(--p2),0 0 32px rgba(90,140,255,.55)}
.tag{max-width:42ch;font-size:clamp(13.5px,3.4vw,16px);color:var(--dim);margin:0;line-height:1.45}
.tag em{color:var(--ink);font-style:normal}
.keys{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center}
.keycol{min-width:168px;text-align:left}
.keycol h4{margin:0 0 3px;font-size:12px;letter-spacing:.08em;font-weight:600}
.keycol.a h4{color:var(--p1)} .keycol.b h4{color:var(--p2)}
.keycol p{margin:2px 0;font-size:13px;color:var(--dim)}
kbd{display:inline-block;min-width:17px;padding:1px 5px;margin-right:2px;border-radius:2px;
    border:1px solid var(--edge);background:rgba(255,255,255,.05);color:var(--ink);
    font-family:inherit;font-size:12px}
.gl{display:inline-block;min-width:17px;margin-right:4px;color:var(--ink)}
body.touch .kb{display:none}
body:not(.touch) .tc{display:none}
.btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
#appbtns:empty{display:none}
button.go{cursor:pointer;font-family:'Saira Condensed',sans-serif;font-size:16px;font-weight:600;
      letter-spacing:.02em;padding:0 20px;min-height:46px;color:#07101c;background:var(--p2);
      border:0;border-radius:3px;box-shadow:0 0 24px rgba(50,227,255,.35)}
button.go.alt{background:var(--p1);color:#1a0512;box-shadow:0 0 24px rgba(255,79,176,.35)}
button.go.ghost{background:transparent;color:var(--ink);border:1px solid var(--edge);box-shadow:none}
button.go:focus-visible{outline:2px solid #fff;outline-offset:3px}
button.go:active{transform:translateY(1px)}
.result{font-family:'Bungee',cursive;font-size:clamp(20px,5.5vw,32px);margin:0;line-height:1.1}
.scoreline{display:flex;gap:24px;justify-content:center;font-size:14px;color:var(--dim)}
.scoreline div{min-width:104px}
.scoreline b{display:block;font-size:27px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}
.sl1 b{color:var(--p1)} .sl2 b{color:var(--p2)}
