/* Central platform overlays (location picker) and the result-page Participant ID card. Colours follow each game's theme. */
:root{--cg-ac:#ff4d6d;--cg-ac2:#be123c;--cg-bg:#170407}
html[data-cg="payment-iq"]{--cg-ac:#10b981;--cg-ac2:#047857;--cg-bg:#0f1412}
html[data-cg="safe-vs-unsafe"]{--cg-ac:#3b82f6;--cg-ac2:#1d4ed8;--cg-bg:#0a1733}
html[data-cg="detect-ai"]{--cg-ac:#a855f7;--cg-ac2:#7e22ce;--cg-bg:#0d0618}
.cg-ov{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:22px;background:var(--cg-bg);color:#fff;font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;max-width:480px;margin:0 auto;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px}
.cg-ov.on{display:flex}
.cg-box{width:100%;max-width:360px;text-align:center}
.cg-box small.ev{display:block;font-size:10.5px;letter-spacing:3px;color:#cbd5e1;font-weight:700}
.cg-box h2{font-size:24px;margin:10px 0 6px}.cg-box p{color:#cbd5e1;font-size:14.5px;line-height:1.5;margin:0 0 16px}
.cg-loc{display:block;width:100%;text-align:left;background:rgba(0,0,0,.35);border:1.5px solid rgba(255,255,255,.18);color:#fff;border-radius:14px;padding:14px 16px;margin-bottom:10px;font:inherit;cursor:pointer}
.cg-loc b{display:block;font-size:16px}.cg-loc span{font-size:12.5px;color:#cbd5e1}
.cg-loc:focus-visible,.cg-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.cg-btn{display:block;width:100%;border:0;border-radius:13px;padding:14px;font-weight:800;font-size:16px;color:#fff;background:linear-gradient(90deg,var(--cg-ac2),var(--cg-ac));cursor:pointer;margin-top:8px}
.cg-btn.sec{background:transparent;border:1.5px solid rgba(255,255,255,.35)}
.cg-id{border:1.5px dashed var(--cg-ac);border-radius:16px;padding:14px;background:rgba(0,0,0,.35);margin:6px 0 12px}
.cg-id small{display:block;font-size:11px;letter-spacing:2.5px;color:#cbd5e1}
.cg-id b{display:block;font-family:Consolas,Menlo,monospace;font-size:32px;letter-spacing:3px;margin:4px 0}
.cg-id em{font-style:normal;font-size:12px;color:#cbd5e1}
.cg-me{font-size:13px;color:#cbd5e1;text-align:center;margin-top:8px}.cg-me button{background:none;border:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}
.cg-res{margin:16px 16px 0}.cg-res .cg-id{margin:0}
.cg-id-big{padding:18px 12px;border-width:2.5px;background:rgba(0,0,0,.45);box-shadow:0 0 0 4px rgba(255,255,255,.04)}
.cg-id-big small{font-size:12px;letter-spacing:3px;font-weight:800;color:#fff}
.cg-id-big b{font-size:44px;letter-spacing:5px;margin:8px 0 4px;color:#fff;user-select:all;-webkit-user-select:all}
.cg-id-big em{font-size:13px}
.cg-save{margin:10px 0 0;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);text-align:left;font-size:13.5px;line-height:1.45;color:#e2e8f0}
.cg-save b{display:block;font-size:15px;color:#fff;margin-bottom:2px}
.cg-copy{display:block;width:100%;margin-top:10px;border:1.5px solid var(--cg-ac);background:transparent;color:#fff;border-radius:12px;padding:11px;font:inherit;font-weight:800;cursor:pointer}
.cg-loc.on{border-color:var(--cg-ac);background:rgba(255,255,255,.06)}.cg-loc.on i{font-style:normal;color:var(--cg-ac);float:right}
.cg-err{color:#fda4af;font-size:13.5px;margin-top:8px;min-height:18px}
