/* Geo Drag Queen: ギラギラ。ホログラムの箔・スポットライト・きらめく星 */
:root {
  --bg: #12001f; --bg2: #24003a; --card: rgba(48, 0, 72, .78); --line: #6b2a8f; --text: #fff4fd; --muted: #d8a8e8;
  --accent: #ff2bd6; --accent2: #ffd447; --ok: #3cff9a; --ng: #ff4d6d;
  --page-bg: radial-gradient(circle at 15% 8%, rgba(255, 43, 214, .45), transparent 38%), radial-gradient(circle at 85% 22%, rgba(255, 212, 71, .3), transparent 36%), radial-gradient(circle at 50% 105%, rgba(110, 50, 255, .5), transparent 55%), #12001f;
  --cover-bg: radial-gradient(70% 50% at 50% 65%, rgba(255, 43, 214, .55) 0%, rgba(80, 0, 120, .9) 55%, #12001f 100%);
  --btn-bg: linear-gradient(110deg, #ff2bd6, #ffd447, #29f0ff, #b06bff, #ff2bd6); --btn-text: #1a0026; --btn-shadow: 0 0 22px rgba(255, 43, 214, .7), 0 0 44px rgba(255, 212, 71, .35);
  --debug-bg: rgba(18, 0, 31, .94);
}
@keyframes foil { from { background-position: 0% 50%; } to { background-position: 300% 50%; } }
@keyframes twinkle { 0% { opacity: .35; } 50% { opacity: 1; } 100% { opacity: .5; } }
body::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    radial-gradient(2px 2px at 8% 18%, #fff, transparent), radial-gradient(1.5px 1.5px at 22% 64%, #ffd447, transparent),
    radial-gradient(2px 2px at 37% 30%, #ff9cf0, transparent), radial-gradient(1.5px 1.5px at 51% 82%, #fff, transparent),
    radial-gradient(2px 2px at 66% 12%, #ffd447, transparent), radial-gradient(1.5px 1.5px at 79% 55%, #fff, transparent),
    radial-gradient(2px 2px at 91% 35%, #29f0ff, transparent), radial-gradient(1.5px 1.5px at 14% 88%, #ff9cf0, transparent);
  animation: twinkle 2.4s ease-in-out infinite;
}
#app { z-index: 1; }
.btn { background-size: 300% 100%; animation: foil 5s linear infinite; text-transform: uppercase; letter-spacing: .04em; }
.hero h1, .logo b, #logoB, .result-head .total {
  background: linear-gradient(90deg, #ffd447, #ff2bd6, #29f0ff, #ffd447); background-size: 300% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; animation: foil 6s linear infinite;
}
.rules, .reveal, .rows, .choice { box-shadow: 0 0 0 1px rgba(255, 212, 71, .25), 0 0 18px rgba(255, 43, 214, .18); }
.choice:hover:not(:disabled) { border-color: var(--accent2); box-shadow: 0 0 16px rgba(255, 212, 71, .5); }
.cover b { color: #ffd447; text-shadow: 0 0 18px #ff2bd6, 0 0 36px #ff2bd6; }
.globe { filter: drop-shadow(0 0 16px rgba(255, 212, 71, .8)); }
.badge { background: #ffd447; color: #2a0040; }
