/* GamesQuiz — stile "sticker pop" v1.0
   Card bianche con bordo spesso e ombra piena che si preme al tocco.
   Palette: viola elettrico, rosa bubblegum, giallo sole, lime.
   Mobile first, emoji native (le stesse di WhatsApp), zero webfont. */

.gq {
  --gq-ink: #241553;
  --gq-grape: #6C2BD9;
  --gq-bubble: #FF4D8D;
  --gq-sun: #FFC93C;
  --gq-lime: #3ECF8E;
  --gq-red: #FF5A5A;
  --gq-paper: #ffffff;
  position: relative;
  margin: 28px auto;
  max-width: 560px;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: var(--gq-ink);
}

.gq * { box-sizing: border-box; }

.gq-card {
  background: var(--gq-paper);
  border: 3px solid var(--gq-ink);
  border-radius: 22px;
  box-shadow: 6px 6px 0 var(--gq-ink);
  padding: 22px 18px;
  text-align: center;
}

/* ---------- intro ---------- */
.gq-badge {
  display: inline-block;
  background: var(--gq-grape);
  color: #fff;
  font-weight: 800;
  letter-spacing: 2px;
  padding: 8px 20px;
  border-radius: 999px;
  border: 3px solid var(--gq-ink);
  box-shadow: 4px 4px 0 var(--gq-ink);
  transform: rotate(-2deg);
  font-size: 18px;
}
.gq-intro-sub { font-size: 17px; margin: 18px 0 6px; font-weight: 600; }

/* ---------- bottoni ---------- */
.gq-btn {
  display: inline-block;
  margin-top: 16px;
  background: var(--gq-bubble);
  color: #fff;
  font-size: 19px;
  font-weight: 800;
  padding: 14px 34px;
  border: 3px solid var(--gq-ink);
  border-radius: 999px;
  box-shadow: 5px 5px 0 var(--gq-ink);
  cursor: pointer;
  transition: transform .08s, box-shadow .08s;
  -webkit-tap-highlight-color: transparent;
}
.gq-btn:active { transform: translate(4px,4px); box-shadow: 1px 1px 0 var(--gq-ink); }
.gq-next, .gq-again { background: var(--gq-grape); }
.gq-again { font-size: 16px; padding: 11px 26px; }

/* ---------- trivia ---------- */
.gq-qhead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.gq-qnum {
  background: var(--gq-sun);
  border: 2px solid var(--gq-ink);
  border-radius: 999px;
  font-weight: 800;
  font-size: 14px;
  padding: 4px 12px;
}
.gq-dots { display: flex; gap: 5px; }
.gq-dot { width: 9px; height: 9px; border-radius: 50%; background: #e4defa; border: 1.5px solid var(--gq-ink); }
.gq-dot.done { background: var(--gq-lime); }
.gq-dot.now { background: var(--gq-bubble); transform: scale(1.25); }

.gq-qtext { font-size: 20px; line-height: 1.35; margin: 12px 0 18px; font-weight: 800; }

.gq-opts { display: grid; gap: 10px; }
.gq-opt {
  background: #F6F3FF;
  border: 3px solid var(--gq-ink);
  border-radius: 16px;
  box-shadow: 4px 4px 0 var(--gq-ink);
  padding: 13px 14px;
  font-size: 17px;
  font-weight: 700;
  color: var(--gq-ink);
  cursor: pointer;
  text-align: left;
  transition: transform .08s, box-shadow .08s, background .15s;
  -webkit-tap-highlight-color: transparent;
}
.gq-opt:active { transform: translate(3px,3px); box-shadow: 1px 1px 0 var(--gq-ink); }
.gq-opt.ok { background: var(--gq-lime); color: #063; }
.gq-opt.ko { background: var(--gq-red); color: #fff; animation: gq-shake .35s; }
.gq-opt:disabled { cursor: default; opacity: .95; }

@keyframes gq-shake {
  0%,100% { transform: translateX(0); }
  25% { transform: translateX(-6px); }
  75% { transform: translateX(6px); }
}

.gq-explain {
  margin: 14px 0 0;
  font-size: 15px;
  background: #FFF6DC;
  border: 2px dashed var(--gq-sun);
  border-radius: 12px;
  padding: 10px 12px;
  text-align: left;
}

/* ---------- memory ---------- */
.gq-mbar { display: flex; justify-content: space-between; margin-bottom: 12px; }
.gq-mstat {
  background: var(--gq-sun);
  border: 2px solid var(--gq-ink);
  border-radius: 999px;
  font-weight: 800;
  font-size: 14px;
  padding: 5px 13px;
}
.gq-mgrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.gq-mcard {
  aspect-ratio: 1;
  background: none;
  border: 0;
  padding: 0;
  perspective: 500px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.gq-minner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform .35s;
}
.gq-mcard.flip .gq-minner, .gq-mcard.match .gq-minner { transform: rotateY(180deg); }
.gq-mface {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid var(--gq-ink);
  border-radius: 14px;
  backface-visibility: hidden;
  font-size: clamp(24px, 8vw, 42px);
  overflow: hidden;
}
.gq-mback { background: var(--gq-grape); box-shadow: 3px 3px 0 var(--gq-ink); }
.gq-mfront { background: #fff; transform: rotateY(180deg); }
.gq-mfront img { width: 100%; height: 100%; object-fit: cover; }
.gq-mcard.match .gq-mfront { background: #E9FBF2; border-color: var(--gq-lime); }
.gq-mcard.match { animation: gq-pop .3s; }
@keyframes gq-pop { 50% { transform: scale(1.12); } }

/* ---------- verdetto ---------- */
.gq-vemoji { font-size: 74px; line-height: 1; animation: gq-drop .5s; }
@keyframes gq-drop {
  0% { transform: translateY(-40px) scale(.4); opacity: 0; }
  70% { transform: translateY(6px) scale(1.1); }
  100% { transform: translateY(0) scale(1); opacity: 1; }
}
.gq-vtitle { font-size: 26px; margin: 10px 0 4px; font-weight: 900; }
.gq-vtext { font-size: 16px; margin: 0 0 12px; }
.gq-vscore {
  display: inline-block;
  background: var(--gq-sun);
  border: 3px solid var(--gq-ink);
  border-radius: 999px;
  box-shadow: 4px 4px 0 var(--gq-ink);
  padding: 9px 22px;
  font-size: 18px;
}
.gq-vstats { font-size: 14px; margin: 14px 0 2px; min-height: 18px; color: #5c5482; }

/* ---------- condivisione ---------- */
.gq-share { margin-top: 12px; }
.gq-share-label { font-weight: 800; font-size: 15px; margin: 6px 0 10px; }
.gq-share-row { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.gq-sbtn {
  display: inline-block;
  border: 3px solid var(--gq-ink);
  border-radius: 999px;
  box-shadow: 4px 4px 0 var(--gq-ink);
  padding: 10px 18px;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: transform .08s, box-shadow .08s;
  -webkit-tap-highlight-color: transparent;
}
.gq-sbtn:active { transform: translate(3px,3px); box-shadow: 1px 1px 0 var(--gq-ink); }
.gq-wa { background: #25D366; color: #fff; }
.gq-tg { background: #229ED9; color: #fff; }
.gq-more { background: #fff; color: var(--gq-ink); }

/* ---------- pioggia emoji ---------- */
.gq-burst {
  position: absolute;
  top: -10px;
  pointer-events: none;
  animation: gq-fall 2.4s ease-in forwards;
  z-index: 3;
}
@keyframes gq-fall {
  to { transform: translateY(420px) rotate(340deg); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .gq * { animation: none !important; transition: none !important; }
}

/* ================= v1.2: nuovi engine ================= */
.gq-hint { font-size: 14px; color: #5c5482; margin: 4px 0 12px; }
.gq-input {
  width: 100%; box-sizing: border-box;
  border: 3px solid var(--gq-ink); border-radius: 14px;
  padding: 12px 14px; font-size: 17px; font-weight: 700;
  margin: 6px 0 10px; text-align: center;
}
.gq-input:focus { outline: none; border-color: var(--gq-grape); }
.gq-input.ok { background: var(--gq-lime); }
.gq-input.ko { background: #ffd9d9; }
.gq-opt.sel { background: var(--gq-sun); }
.gq-explain.ok2 { background: #E9FBF2; border-color: var(--gq-lime); }

/* metti in ordine */
.gq-order { display: grid; gap: 8px; }
.gq-onum {
  display: inline-block; background: var(--gq-grape); color: #fff;
  border-radius: 999px; width: 24px; height: 24px; line-height: 24px;
  text-align: center; font-size: 13px; margin-right: 6px;
}

/* guess it */
.gq-guess-stage { display: flex; justify-content: center; margin-bottom: 10px; }
.gq-guess-img {
  max-width: 100%; max-height: 260px; border: 3px solid var(--gq-ink);
  border-radius: 16px; transition: filter .4s;
}
.gq-guess-emoji { font-size: 110px; line-height: 1.2; transition: filter .4s; }
.gq-hints { text-align: left; }

/* typerush */
.gq-found { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 8px; }
.gq-tag {
  border: 2px solid var(--gq-ink); border-radius: 999px;
  font-size: 13px; font-weight: 800; padding: 3px 11px;
}
.gq-tag.ok { background: var(--gq-lime); }
.gq-tag.ko { background: #ffd9d9; text-decoration: line-through; opacity: .7; }

/* wordle */
.gq-wgrid {
  display: grid; grid-template-columns: repeat(5, 52px);
  gap: 6px; justify-content: center; margin: 8px 0 14px;
}
.gq-wcell {
  width: 52px; height: 52px; border: 3px solid #d8ccf5; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; font-weight: 900; background: #fff;
}
.gq-wcell.si { background: var(--gq-lime); border-color: var(--gq-ink); color: #063; }
.gq-wcell.quasi { background: var(--gq-sun); border-color: var(--gq-ink); }
.gq-wcell.no { background: #e7e2f5; }
.gq-kb { user-select: none; }
.gq-kb-row { display: flex; justify-content: center; gap: 4px; margin-bottom: 5px; }
.gq-key {
  border: 2px solid var(--gq-ink); border-radius: 8px; background: #fff;
  font-size: 14px; font-weight: 800; padding: 9px 0; width: 30px; cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.gq-key.wide { width: 46px; }
.gq-key.si { background: var(--gq-lime); }
.gq-key.quasi { background: var(--gq-sun); }
.gq-key.no { background: #cfc8e6; opacity: .6; }

/* cruciverba */
.gq-xgrid { display: grid; gap: 3px; justify-content: center; margin-bottom: 12px; }
.gq-xempty { width: 100%; aspect-ratio: 1; }
.gq-xcell {
  position: relative; width: 100%; aspect-ratio: 1; min-width: 30px;
  border: 2px solid var(--gq-ink); border-radius: 6px; background: #fff;
}
.gq-xnum {
  position: absolute; top: 1px; left: 3px; font-size: 9px;
  font-style: normal; font-weight: 800; color: var(--gq-grape);
}
.gq-xcell input {
  width: 100%; height: 100%; border: 0; text-align: center;
  font-size: 18px; font-weight: 900; background: none; text-transform: uppercase;
  color: var(--gq-ink);
}
.gq-xcell input:focus { outline: 3px solid var(--gq-bubble); border-radius: 4px; }
.gq-xcell input.ok { background: var(--gq-lime); }
.gq-xdefs { text-align: left; }
.gq-xdefs p { margin: 4px 0; }

/* poll: barre percentuali */
.gq-bar { display: flex; align-items: center; gap: 8px; margin: 9px 0; }
.gq-bar-label { flex: 0 0 38%; text-align: right; font-size: 14px; font-weight: 700; }
.gq-bar-track {
  flex: 1; height: 22px; background: #EDE7FB;
  border: 2px solid var(--gq-ink); border-radius: 999px; overflow: hidden;
}
.gq-bar-fill { display: block; height: 100%; background: var(--gq-grape); transition: width .6s; }
.gq-bar.hot .gq-bar-fill { background: var(--gq-bubble); }
.gq-bar-pct { flex: 0 0 42px; font-weight: 900; font-size: 14px; text-align: left; }

/* this or that */
.gq-duo { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
.gq-duo-btn { position: relative; font-size: 18px; padding: 18px 14px; text-align: center; }
.gq-duo-pct {
  display: block; margin-top: 4px; font-size: 22px; color: var(--gq-grape);
}
.gq-vs {
  align-self: center; background: var(--gq-sun); border: 2px solid var(--gq-ink);
  border-radius: 999px; font-weight: 900; font-size: 13px; padding: 3px 12px;
}

/* tier list */
.gq-tiers { display: grid; gap: 6px; margin-bottom: 12px; }
.gq-tier { display: flex; gap: 6px; }
.gq-tier-label {
  flex: 0 0 44px; border: 3px solid var(--gq-ink); border-radius: 12px;
  font-size: 20px; font-weight: 900; cursor: pointer; background: var(--gq-sun);
}
.gq-tier-label.t-s { background: #FF4D8D; color: #fff; }
.gq-tier-label.t-a { background: #FFC93C; }
.gq-tier-label.t-b { background: #3ECF8E; }
.gq-tier-label.t-c { background: #9AD0FF; }
.gq-tier-slot {
  flex: 1; min-height: 46px; border: 3px dashed #d8ccf5; border-radius: 12px;
  display: flex; flex-wrap: wrap; gap: 5px; padding: 5px; align-items: center;
}
.gq-pool { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; min-height: 40px; }
.gq-chip {
  border: 2px solid var(--gq-ink); border-radius: 999px; background: #fff;
  font-size: 14px; font-weight: 800; padding: 7px 13px; cursor: pointer;
  box-shadow: 3px 3px 0 var(--gq-ink);
  -webkit-tap-highlight-color: transparent;
}
.gq-chip.sel { background: var(--gq-bubble); color: #fff; transform: scale(1.06); }

/* listicle */
.gq-list { display: grid; gap: 7px; text-align: left; }
.gq-litem {
  display: flex; align-items: center; gap: 8px;
  border: 2px solid var(--gq-ink); border-radius: 12px; padding: 8px 10px; background: #fff;
}
.gq-lrank { font-weight: 900; color: var(--gq-grape); flex: 0 0 32px; }
.gq-ltext { flex: 1; font-size: 14px; font-weight: 700; }
.gq-lscore { font-weight: 900; font-size: 13px; color: #5c5482; }
.gq-lvote {
  border: 2px solid var(--gq-ink); border-radius: 8px; background: #fff;
  font-size: 15px; padding: 4px 8px; cursor: pointer;
}
.gq-lvote.sel { background: var(--gq-sun); }
.gq-lvote:disabled { opacity: .55; cursor: default; }
.gq-lvote.sel:disabled { opacity: 1; }

/* tap and find + differenze */
.gq-photo { position: relative; display: inline-block; max-width: 100%; }
.gq-photo img {
  max-width: 100%; border: 3px solid var(--gq-ink); border-radius: 14px; display: block;
}
.gq-zona {
  position: absolute; transform: translate(-50%, -50%);
  background: var(--gq-lime); border: 2px solid var(--gq-ink); border-radius: 999px;
  width: 30px; height: 30px; line-height: 27px; font-weight: 900; pointer-events: none;
  animation: gq-pop .3s;
}
.gq-diff { display: grid; gap: 10px; }
@media (min-width: 560px) { .gq-diff { grid-template-columns: 1fr 1fr; } }

/* classifica */
.gq-board { margin-top: 14px; }
.gq-board-form { display: flex; gap: 8px; justify-content: center; margin-bottom: 8px; }
.gq-nick {
  border: 3px solid var(--gq-ink); border-radius: 999px; padding: 9px 14px;
  font-size: 15px; font-weight: 700; width: 45%;
}
.gq-board-list {
  text-align: left; max-width: 300px; margin: 6px auto 0; padding-left: 26px;
  font-size: 14px; font-weight: 700;
}
.gq-board-list li { margin: 3px 0; }

/* ================= v1.2b: sudoku, ruota, slot ================= */
.gq-sgrid {
  display: grid; grid-template-columns: repeat(9, 1fr);
  max-width: 396px; margin: 0 auto; border: 3px solid var(--gq-ink);
  border-radius: 10px; overflow: hidden; background: var(--gq-ink); gap: 1px;
}
.gq-scell {
  position: relative; aspect-ratio: 1; background: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; font-weight: 800;
}
.gq-scell.fix { background: #F3EFFC; color: var(--gq-ink); }
.gq-scell.br { border-right: 3px solid var(--gq-ink); }
.gq-scell.bb { border-bottom: 3px solid var(--gq-ink); }
.gq-scell input {
  width: 100%; height: 100%; border: 0; text-align: center;
  font-size: 17px; font-weight: 900; color: var(--gq-grape); background: none;
}
.gq-scell input:focus { outline: 3px solid var(--gq-bubble); outline-offset: -3px; }
.gq-scell input.ok { background: var(--gq-lime); }

/* ruota della fortuna */
.gq-wheel-stage { position: relative; width: 240px; height: 240px; margin: 6px auto 12px; }
.gq-wheel {
  width: 100%; height: 100%; border-radius: 50%;
  border: 5px solid var(--gq-ink); box-shadow: 6px 6px 0 var(--gq-ink);
  position: relative;
}
.gq-wheel-label {
  position: absolute; left: 50%; top: 50%; margin-left: -12px; margin-top: -104px;
  width: 24px; text-align: center; font-size: 18px;
  transform-origin: 12px 104px;
}
.gq-wheel-pin {
  position: absolute; top: -16px; left: 50%; transform: translateX(-50%);
  font-size: 26px; color: var(--gq-ink); z-index: 2;
  text-shadow: 0 2px 0 #fff;
}
.gq-wheel-legend {
  display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-bottom: 10px;
}
.gq-wheel-legend .gq-tag { border-width: 3px; background: #fff; }

/* slot machine */
.gq-slot {
  display: flex; gap: 10px; justify-content: center; margin: 8px 0 14px;
}
.gq-reel {
  width: 76px; height: 76px; border: 4px solid var(--gq-ink); border-radius: 14px;
  background: #fff; box-shadow: inset 0 -10px 0 #EDE7FB, 4px 4px 0 var(--gq-ink);
  display: flex; align-items: center; justify-content: center; font-size: 40px;
}
.gq-reel.stop { animation: gq-pop .3s; }

/* ============================================================
   v1.7 — tema "Guida Misteriosa" per i giochi
   Override del tema sticker pop: carta, matita, acquerello.
   ============================================================ */
.gq{
  --gq-ink:#4D4030; --gq-grape:#79B865; --gq-bubble:#EE8A6E;
  --gq-sun:#F1C75B; --gq-lime:#8FCB7B; --gq-red:#E06A5A; --gq-paper:#FFFDF6;
  font-family:'Nunito',system-ui,sans-serif;
}
.gq-card{
  border-width:2.5px;
  border-radius:255px 18px 225px 18px/18px 225px 18px 255px;
  box-shadow:5px 6px 0 rgba(77,64,48,.16);
}
.gq-btn,.gq-start,.gq-next,.gq-again{
  font-family:'Baloo 2',sans-serif;
  border-radius:255px 15px 225px 15px/15px 225px 15px 255px;
  box-shadow:3px 3px 0 rgba(77,64,48,.22);
}
.gq-opt,.gq-sbtn,.gq-chip,.gq-key,.gq-input,.gq-nick{
  border-radius:18px 10px 16px 10px/10px 16px 10px 18px;
}
.gq-vtitle,.gq-qtext,.gq-intro-sub{font-family:'Baloo 2',sans-serif}
.gq-badge{
  background:var(--gq-bubble);color:var(--gq-paper);
  font-family:'Baloo 2',sans-serif;rotate:-2deg;
  border-radius:12px;box-shadow:2px 3px 0 rgba(77,64,48,.25);
}
.gq-vstats,.gq-share-label,.gq-hint{font-family:'Caveat',cursive;font-size:19px;color:#7A6A54}
.gq-bar-track{border-width:2px;background:#F3E7C9}
.gq-wcell{border-color:#E4D9BE;background:var(--gq-paper)}
.gq-wcell.no{background:#EFE6CE}
.gq-key.no{background:#E4D9BE}
.gq-mcard,.gq-mface{border-radius:16px 10px 18px 10px/10px 18px 10px 16px}
.gq-tier-slot{border-color:#E4D9BE}
.gq-litem{border-radius:14px 9px 16px 9px/9px 16px 9px 14px}

/* v1.9.4: il tasto GIRA sta tra la ruota e la legenda */
.gq-wheel-stage + .gq-btn { display: block; margin: 4px auto 14px; }

/* ============================================================
   v2.0 — GIOCO CUCINA con Chef Mia
   ============================================================ */
.gqk-cucina{position:relative;margin:-16px -16px 12px;padding:10px 10px 0;text-align:center;
  background:linear-gradient(#D3EEF2 0 62%,#C89B6A 62% 100%);
  border-radius:14px 14px 0 0;overflow:hidden}
.gqk-cucina::before{content:'';position:absolute;top:0;left:0;right:0;height:62%;
  background-image:linear-gradient(rgba(130,184,220,.4) 1px,transparent 1px),
    linear-gradient(90deg,rgba(130,184,220,.4) 1px,transparent 1px);
  background-size:30px 30px}
.gqk-mia{position:relative;height:150px;width:auto;display:inline-block;
  filter:drop-shadow(0 4px 6px rgba(77,64,48,.25))}
@keyframes gqk-hop{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.gqk-cucina .gqk-mia{animation:gqk-hop 3.2s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.gqk-cucina .gqk-mia{animation:none}}
.gqk-mia-verdetto{height:120px;margin:0 auto 6px;display:block}

.gqk-dialogo{position:relative;margin:12px auto 10px;max-width:320px;background:var(--gq-paper,#FFFDF6);
  border:2.5px solid var(--gq-ink,#4D4030);border-radius:14px 14px 14px 4px;padding:9px 14px;
  font-family:'Baloo 2',sans-serif;font-weight:700;font-size:15px;text-align:center;
  box-shadow:3px 3px 0 rgba(77,64,48,.15)}
.gqk-passi{display:flex;gap:6px;justify-content:center;margin:0 0 12px}
.gqk-passo{width:32px;height:8px;border-radius:99px;border:2px solid var(--gq-ink,#4D4030);background:transparent}
.gqk-passo.fatto{background:#79B865}
.gqk-passo.ora{background:#F1C75B}
.gqk-stage{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.gqk-hint{text-align:center}
.gqk-verde{background:#79B865!important}
.gqk-conta{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:14px;color:#7A6A54}

/* taglia */
.gqk-tagliere{position:relative;width:100%;max-width:320px;height:180px;background:#E8C99B;
  border:3px solid #9c7548;border-radius:14px;touch-action:none;cursor:crosshair;overflow:hidden}
.gqk-cibo-taglio{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:110px;pointer-events:none}
.gqk-linea{position:absolute;left:10%;right:10%;border-top:3px dashed rgba(77,64,48,.55)}
.gqk-linea.ok{border-top:3px solid #E5533C;box-shadow:0 0 0 2px rgba(229,83,60,.25)}

/* mescola */
.gqk-ciotola{width:190px;height:190px;border-radius:50%;border:3px solid var(--gq-ink,#4D4030);
  background:radial-gradient(circle,#F6E3B0,#E6C36A);touch-action:none;cursor:grab;
  display:flex;align-items:center;justify-content:center;font-size:60px;user-select:none}

/* friggi in padella */
.gqk-padella{position:relative;width:220px;height:150px;border-radius:50%/42%;
  background:radial-gradient(circle at 50% 42%,#5b5b66,#3a3a44);border:3px solid #26262e;
  display:flex;align-items:center;justify-content:center;
  box-shadow:inset 0 6px 14px rgba(0,0,0,.4)}
.gqk-padella::after{content:'';position:absolute;right:-56px;top:44%;width:62px;height:15px;
  background:#26262e;border-radius:8px}
.gqk-cibo-padella{font-size:62px;background:none;border:0;cursor:pointer;line-height:1;
  filter:saturate(.55) brightness(1.2);transition:filter .25s;padding:14px}
.gqk-cibo-padella.dorato{filter:saturate(1.25) brightness(.95)}
.gqk-cibo-padella.bruciando{filter:saturate(.8) brightness(.55)}

/* friggitrice ad aria */
.gqk-friggitrice{width:100%;max-width:320px;text-align:center}
.gqk-frigg-corpo{width:190px;height:190px;margin:0 auto;background:#4A4A55;border:3px solid var(--gq-ink,#4D4030);
  border-radius:24px;position:relative;box-shadow:inset 0 -10px 18px rgba(0,0,0,.3)}
.gqk-frigg-oblo{position:absolute;top:22px;left:22px;right:22px;height:92px;border-radius:14px;
  background:radial-gradient(circle at 50% 40%,#FFE9A8,#E8A24C);border:3px solid #2b2b33;
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.gqk-frigg-cibo{font-size:44px;filter:saturate(.55) brightness(1.18);transition:filter .3s}
.gqk-frigg-cibo.cotto{filter:saturate(1.25) brightness(.92)}
.gqk-frigg-cibo.bruciato{filter:saturate(.45) brightness(.45)}
.gqk-frigg-display{position:absolute;bottom:16px;left:22px;right:22px;height:32px;background:#1b1b22;
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  font-family:'Baloo 2',sans-serif;color:#7CF;font-size:16px;border:2px solid #000}
.gqk-frigg-barra{height:12px;background:#F3E7C9;border:2px solid var(--gq-ink,#4D4030);border-radius:99px;
  overflow:hidden;margin:14px auto 0;max-width:300px}
.gqk-frigg-fill{height:100%;width:0;background:linear-gradient(90deg,#F4B740,#E5533C)}
.gqk-frigg-zona{position:relative;max-width:300px;margin:5px auto 0;height:14px}
.gqk-frigg-zona .ok{position:absolute;height:100%;background:#E3F0D8;border:2px dashed #5FA843;border-radius:6px}

/* ============================================================
   v2.1 — ACCHIAPPA LA TALPA MATEMATICA (engine nativo)
   ============================================================ */
.gqt .gq-card, .gq-card.gqt{padding:10px}
.gqt-area{background:#7ec850;font-family:'Baloo 2',sans-serif;color:#fff;user-select:none;touch-action:manipulation}
.gqt-bar{display:flex;justify-content:space-between;padding:10px 16px;font-size:20px;font-weight:800;
  text-shadow:2px 2px 4px #000;background:rgba(0,0,0,.25);border-radius:10px;
  position:relative;z-index:20;margin:150px 10px 0}
.gqt-pos{position:absolute;width:100px;height:100px;transform:translate(-50%,-50%);z-index:5}
.gqt-pos-0{top:65%;left:35%}.gqt-pos-1{top:65%;left:65%}.gqt-pos-2{top:76%;left:50%}
.gqt-pos-3{top:88%;left:30%}.gqt-pos-4{top:88%;left:70%}
@media (max-width:600px){
  .gqt-pos-0{top:62%;left:26%}.gqt-pos-1{top:62%;left:74%}.gqt-pos-2{top:76%;left:50%}
  .gqt-pos-3{top:90%;left:22%}.gqt-pos-4{top:90%;left:78%}
}
.gqt-talpa{width:100%;height:100%;position:relative;cursor:pointer;opacity:0;transform:scale(0);
  transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .3s}
.gqt-talpa.attiva{opacity:1;transform:scale(1)}
.gqt-talpa.colpita,.gqt-talpa.missata{pointer-events:none}
.gqt-talpa-img{position:absolute;top:0;left:0;width:100%;height:100%;max-width:100%;
  object-fit:contain;object-position:bottom center;pointer-events:none;display:block}
.gqt-fumetto{position:absolute;top:-62px;left:50%;transform:translateX(-50%);background:#fffbe6;color:#000;
  padding:7px 11px;border-radius:12px;font-size:19px;font-weight:900;white-space:nowrap;border:3px solid #000;
  box-shadow:3px 3px 0 rgba(0,0,0,.2);pointer-events:none;opacity:0;transition:opacity .2s;z-index:10}
.gqt-talpa.attiva .gqt-fumetto{opacity:1}
.gqt-fumetto::after{content:'';position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);
  border-width:12px 10px 0;border-style:solid;border-color:#000 transparent transparent}
.gqt-fumetto::before{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);
  border-width:10px 8px 0;border-style:solid;border-color:#fffbe6 transparent transparent;z-index:1}
@media (prefers-reduced-motion:reduce){.gqt-talpa{transition:none}}

/* v2.3.5: emoji bandiera ingrandite (solo loro) nel testo dei giochi */
.gq-flag{font-size:2em;line-height:1;vertical-align:middle;display:inline-block;margin:0 .05em}

/* v2.4.1: il "grande reveal" dell'immagine nel gioco Indovina */
.gq-guess-stage.gq-guess-won{animation:gq-reveal-pop .6s ease}
@keyframes gq-reveal-pop{0%{transform:scale(.94);opacity:.6}60%{transform:scale(1.03)}100%{transform:scale(1);opacity:1}}
.gq-guess-reveal{display:block;width:100%;max-width:320px;margin:0 auto 12px;border-radius:14px;
  border:3px solid var(--gq-ink,#4D4030);box-shadow:4px 5px 0 rgba(77,64,48,.18)}
@media (prefers-reduced-motion:reduce){.gq-guess-stage.gq-guess-won{animation:none}}

/* ============================================================
   v2.5 — IL GRATTACIELO (arcade anni 80/90)
   ============================================================ */
.gq-card.gqg{background:#191932;color:#e8e8ff;border-color:#2e2e57}
.gqg-title{font-family:'Courier New',monospace;font-weight:900;font-size:26px;text-align:center;
  letter-spacing:2px;color:#ffd94d;text-shadow:0 0 12px rgba(255,217,77,.5);margin:6px 0 2px}
.gqg-sub{text-align:center;color:#b9b9e6;margin:4px 0;font-weight:700}
.gqg-rules{text-align:center;color:#8f8fc4;font-size:14px;margin:6px 12px 12px}
.gqg-form{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:10px 0 4px}
.gqg-nome{max-width:260px;text-align:center;font-family:'Courier New',monospace;font-weight:800;
  background:#0f0f22;color:#ffd94d;border:2px solid #3d3d70;border-radius:10px}
.gqg-nome::placeholder{color:#6d6da0;font-weight:600}
.gqg-btn{background:#ffd94d;color:#191932;font-weight:900;letter-spacing:1px;border:none}
.gqg-btn:hover{background:#ffe373}
.gqg-msg{text-align:center;color:#ff9d9d;min-height:20px;font-size:14px;margin:4px 0}
.gqg-head{display:flex;justify-content:space-between;align-items:center;
  font-family:'Courier New',monospace;font-weight:900;font-size:19px;margin:2px 2px 6px}
.gqg-piano{color:#ffd94d;letter-spacing:1px}
.gqg-vite{font-size:17px;letter-spacing:2px}
.gqg-banda{text-align:center;color:#8f8fc4;font-size:13px;margin:0 0 8px}
.gqg .gq-qtext{color:#fff}
.gqg .gq-opt{background:#23234a;color:#e8e8ff;border-color:#3d3d70}
.gqg .gq-opt:hover{background:#2c2c5c}
.gqg-riavvia{display:block;margin:14px auto 2px;background:none;border:1px dashed #55558c;
  color:#8f8fc4;border-radius:8px;padding:6px 14px;cursor:pointer;font-size:13px}
.gqg-riavvia-conf{color:#ffd94d;border-color:#ffd94d;font-weight:800}
.gqg-final-piano{font-family:'Courier New',monospace;font-weight:900;font-size:44px;text-align:center;
  color:#ffd94d;text-shadow:0 0 18px rgba(255,217,77,.6);margin:6px 0}
.gqg-hof{margin-top:16px;background:#0f0f22;border:2px solid #3d3d70;border-radius:12px;padding:12px 10px}
.gqg-hof-title{font-family:'Courier New',monospace;text-align:center;color:#7ef0ff;font-weight:900;
  letter-spacing:3px;margin-bottom:8px;text-shadow:0 0 10px rgba(126,240,255,.5)}
.gqg-hof-empty{text-align:center;color:#8f8fc4;font-size:14px;margin:6px 0}
.gqg-hof-rows{display:flex;flex-direction:column;gap:2px;max-height:340px;overflow-y:auto}
.gqg-hof-row{display:flex;gap:8px;align-items:baseline;font-family:'Courier New',monospace;
  font-weight:800;font-size:15px;color:#c9c9f0;padding:3px 8px;border-radius:6px}
.gqg-hof-row.oro{color:#ffd94d}
.gqg-hof-row.argento{color:#dfe6ef}
.gqg-hof-row.bronzo{color:#e8a86e}
.gqg-hof-pos{min-width:32px;text-align:right}
.gqg-hof-nome{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}
.gqg-hof-piano{color:#7ef0ff}
.gqg-io{background:#26264f;outline:1px solid #7ef0ff;animation:gqg-blink 1.2s ease 3}
@keyframes gqg-blink{0%,100%{outline-color:#7ef0ff}50%{outline-color:transparent}}
@media (prefers-reduced-motion:reduce){.gqg-io{animation:none}}

/* v2.5.5: hint nome (niente più placeholder troncato) + recupero salvataggio HOF */
.gqg-hint{text-align:center;color:#8f8fc4;font-size:13px;margin:2px 0 8px;line-height:1.4}
.gqg-retry-hof{margin-top:12px;padding:10px;background:#0f0f22;border:1px dashed #55558c;border-radius:10px}
.gqg-retry-hof .gqg-form{margin:6px 0 0}

/* ============================================================
   v2.6 — LA TORRE (scalata stile Milionario, palette lilla)
   ============================================================ */
.gq-card.gqt2{background:#1a1530;color:#efe9ff;border-color:#3a2e5c}
.gqt2-title{font-family:'Courier New',monospace;font-weight:900;font-size:25px;text-align:center;
  letter-spacing:2px;color:#c9a6ff;text-shadow:0 0 14px rgba(201,166,255,.6);margin:6px 0 2px}
.gqt2-sub{text-align:center;color:#c3b8e6;margin:4px 0;font-weight:700}
.gqt2-rules{text-align:center;color:#9a8fc4;font-size:14px;margin:6px 12px 12px}
.gqt2-form{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:10px 0 4px}
.gqt2-nome{max-width:260px;text-align:center;font-family:'Courier New',monospace;font-weight:800;
  background:#120e24;color:#c9a6ff;border:2px solid #4a3d75;border-radius:10px}
.gqt2-nome::placeholder{color:#6d6099;font-weight:600}
.gqt2-btn{background:#c9a6ff;color:#1a1530;font-weight:900;letter-spacing:1px;border:none}
.gqt2-btn:hover{background:#dcc4ff}
.gqt2-hint{text-align:center;color:#9a8fc4;font-size:13px;margin:2px 0 8px;line-height:1.4}
.gqt2-msg{text-align:center;color:#ff9d9d;min-height:20px;font-size:14px;margin:4px 0}
/* barra di stato */
.gqt2-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:space-between;
  font-family:'Courier New',monospace;font-weight:900;margin:2px 2px 8px}
.gqt2-piano{color:#c9a6ff;font-size:18px;letter-spacing:1px}
.gqt2-vite{font-size:16px;letter-spacing:2px}
.gqt2-aiuti{display:flex;gap:6px}
.gqt2-aiuto{background:#2a2150;color:#efe9ff;border:2px solid #ffd94d;border-radius:8px;
  min-width:40px;height:34px;font-weight:900;font-size:13px;cursor:pointer;padding:0 6px;
  box-shadow:0 0 8px rgba(255,217,77,.3);transition:transform .1s}
.gqt2-aiuto:hover{transform:scale(1.08)}
.gqt2-aiuto.usato{opacity:.3;border-color:#555;box-shadow:none;cursor:default;text-decoration:line-through}
.gqt2-banda{text-align:center;color:#9a8fc4;font-size:13px;margin:0 0 8px}
.gqt2 .gq-qtext{color:#fff}
.gqt2-opts .gq-opt{background:#241d44;color:#efe9ff;border-color:#4a3d75}
.gqt2-opts .gq-opt:hover{background:#2e2658}
.gqt2-opts .gq-opt.gqt2-off{opacity:.25;text-decoration:line-through;pointer-events:none}
.gqt2-riavvia{display:block;margin:14px auto 2px;background:none;border:1px dashed #5a4d8c;
  color:#9a8fc4;border-radius:8px;padding:6px 14px;cursor:pointer;font-size:13px}
.gqt2-riavvia-conf{color:#ffd94d;border-color:#ffd94d;font-weight:800}
.gqt2-final-piano{font-family:'Courier New',monospace;font-weight:900;font-size:44px;text-align:center;
  color:#c9a6ff;text-shadow:0 0 18px rgba(201,166,255,.6);margin:6px 0}
/* animazione mascotte bonus */
.gqt2-cheer{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:rgba(20,14,40,.82);cursor:pointer;animation:gqt2-fade .3s ease}
@keyframes gqt2-fade{from{opacity:0}to{opacity:1}}
.gqt2-cheer-card{position:relative;text-align:center;max-width:90%}
.gqt2-cheer-neon{font-family:'Courier New',monospace;font-weight:900;font-size:30px;letter-spacing:2px;
  color:#ffd94d;text-shadow:0 0 10px #ffd94d,0 0 22px rgba(255,217,77,.7);margin-bottom:6px;
  animation:gqt2-pulse 1s ease infinite}
@keyframes gqt2-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.gqt2-cheer-img{width:auto;height:260px;max-width:80vw;filter:drop-shadow(0 8px 20px rgba(201,166,255,.5))}
.gqt2-cheer-anim{animation:gqt2-bounce 2.2s ease}
@keyframes gqt2-bounce{0%{transform:translateY(60px) scale(.6);opacity:0}
  20%{transform:translateY(-18px) scale(1.05);opacity:1}35%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-12px)}65%{transform:translateY(0)}80%{transform:translateY(-6px)}100%{transform:translateY(0)}}
.gqt2-cheer-sub{color:#efe9ff;font-weight:700;margin-top:8px;font-size:15px}
.gqt2-sparkles{position:absolute;inset:0;pointer-events:none;overflow:visible}
.gqt2-spark{position:absolute;top:40%;width:10px;height:10px;background:#ffd94d;border-radius:50%;
  box-shadow:0 0 8px #ffd94d;animation:gqt2-fly 1.4s ease-out forwards}
@keyframes gqt2-fly{0%{transform:translateY(0) scale(0);opacity:1}
  100%{transform:translateY(-160px) scale(1.4);opacity:0}}
/* pannelli aiuto: telefono */
.gqt2-help-ov{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;
  background:rgba(20,14,40,.82);cursor:pointer;animation:gqt2-fade .3s ease;padding:16px}
.gqt2-phone{background:#12241f;border:2px solid #4ad991;border-radius:16px;padding:16px 18px;max-width:340px;width:100%;
  box-shadow:0 0 30px rgba(74,217,145,.4)}
.gqt2-phone-top{font-family:'Courier New',monospace;font-weight:900;color:#4ad991;text-align:center;
  font-size:18px;margin-bottom:8px;letter-spacing:1px}
.gqt2-phone-status{text-align:center;color:#bfe8d6;font-style:italic;margin:6px 0 10px}
.gqt2-phone-row{display:flex;align-items:center;gap:8px;margin:5px 0;color:#eafff5;font-weight:800}
.gqt2-phone-row>span:first-child{width:20px}
.gqt2-phone-bar{flex:1;height:14px;background:#0c1a15;border-radius:7px;overflow:hidden}
.gqt2-phone-bar>i{display:block;height:100%;background:#4ad991;border-radius:7px;transition:width .8s ease}
.gqt2-phone-row.top{color:#4ad991}
.gqt2-phone-row.top .gqt2-phone-bar>i{background:#6effb0}
/* pannelli aiuto: pubblico (istogramma) */
.gqt2-audience{background:#241236;border:2px solid #c9a6ff;border-radius:16px;padding:16px 18px;max-width:360px;width:100%;
  box-shadow:0 0 30px rgba(201,166,255,.4)}
.gqt2-aud-top{font-family:'Courier New',monospace;font-weight:900;color:#c9a6ff;text-align:center;
  font-size:18px;margin-bottom:14px;letter-spacing:1px}
.gqt2-aud-body{display:flex;align-items:flex-end;justify-content:space-around;height:170px;gap:10px}
.gqt2-aud-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1;height:100%}
.gqt2-aud-pct{color:#efe9ff;font-weight:800;font-size:13px;margin-bottom:3px}
.gqt2-aud-bar{width:100%;max-width:46px;background:linear-gradient(#dcc4ff,#a06fff);border-radius:6px 6px 0 0;
  transition:height .7s cubic-bezier(.2,.8,.3,1);min-height:3px}
.gqt2-aud-let{margin-top:6px;font-family:'Courier New',monospace;font-weight:900;color:#9a8fc4}
.gqt2-aud-let.top{color:#ffd94d}
/* hall of fame */
.gqt2-hof{margin-top:16px;background:#120e24;border:2px solid #4a3d75;border-radius:12px;padding:12px 10px}
.gqt2-hof-title{font-family:'Courier New',monospace;text-align:center;color:#ffd94d;font-weight:900;
  letter-spacing:3px;margin-bottom:8px;text-shadow:0 0 10px rgba(255,217,77,.5)}
.gqt2-hof-empty{text-align:center;color:#9a8fc4;font-size:14px;margin:6px 0}
.gqt2-hof-rows{display:flex;flex-direction:column;gap:2px;max-height:340px;overflow-y:auto}
.gqt2-hof-row{display:flex;gap:8px;align-items:baseline;font-family:'Courier New',monospace;
  font-weight:800;font-size:15px;color:#c9c0f0;padding:3px 8px;border-radius:6px}
.gqt2-hof-row.oro{color:#ffd94d}.gqt2-hof-row.argento{color:#dfe6ef}.gqt2-hof-row.bronzo{color:#e8a86e}
.gqt2-hof-pos{min-width:32px;text-align:right}
.gqt2-hof-nome{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}
.gqt2-hof-piano{color:#c9a6ff}
.gqt2-io{background:#2a2150;outline:1px solid #ffd94d;animation:gqt2-blink 1.2s ease 3}
@keyframes gqt2-blink{0%,100%{outline-color:#ffd94d}50%{outline-color:transparent}}
.gqt2-retry{margin-top:12px;padding:10px;background:#120e24;border:1px dashed #5a4d8c;border-radius:10px}
@media (prefers-reduced-motion:reduce){
  .gqt2-cheer-neon,.gqt2-io{animation:none}
  .gqt2-cheer-anim{animation:gqt2-fade .3s ease}
}

/* ============================================================
   v2.9 — IL CASTELLO (gara a tempo, pietra e oro)
   ============================================================ */
.gq-card.gqc{background:#20242e;color:#e8eaf0;border-color:#3d4454}
.gqc-title{font-family:'Courier New',monospace;font-weight:900;font-size:24px;text-align:center;
  letter-spacing:2px;color:#ffd94d;text-shadow:0 0 14px rgba(255,217,77,.5);margin:6px 0 2px}
.gqc-sub{text-align:center;color:#b9c0d0;margin:4px 0;font-weight:700}
.gqc-rules{text-align:center;color:#8b93a7;font-size:14px;margin:6px 12px 12px;line-height:1.5}
.gqc-form{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:10px 0 4px}
.gqc-nome{max-width:260px;text-align:center;font-family:'Courier New',monospace;font-weight:800;
  background:#171a22;color:#ffd94d;border:2px solid #4d5568;border-radius:10px}
.gqc-nome::placeholder{color:#6b7488;font-weight:600}
.gqc-btn{background:#ffd94d;color:#20242e;font-weight:900;letter-spacing:1px;border:none}
.gqc-btn:hover{background:#ffe680}
.gqc-hint{text-align:center;color:#8b93a7;font-size:13px;margin:2px 0 8px}
.gqc-msg{text-align:center;color:#ffb3b3;min-height:20px;font-size:14px;margin:4px 0}
/* barra: cronometro, corrette, errori */
.gqc-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-family:'Courier New',monospace;font-weight:900;font-size:17px;margin:2px 2px 10px;
  background:#171a22;border:2px solid #3d4454;border-radius:10px;padding:6px 10px}
.gqc-timer{color:#ffd94d}
.gqc-punti{color:#6effb0}
.gqc-err{color:#ff8f8f}
.gqc .gq-qtext{color:#fff;text-align:center;font-size:19px;margin:6px 0 12px}
.gqc-opts .gq-opt{background:#2a2f3c;color:#e8eaf0;border-color:#4d5568}
.gqc-opts .gq-opt:hover{background:#343b4c}
.gqc-verdetto{text-align:center;font-family:'Courier New',monospace;font-weight:900;font-size:17px;
  margin-top:10px;animation:gqc-pop .25s ease}
.gqc-verdetto.ok{color:#6effb0}
.gqc-verdetto.ko{color:#ff8f8f}
.gqc-verdetto.salta{color:#b9c0d0}
@keyframes gqc-pop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
.gqc-salta{display:block;margin:12px auto 2px;background:none;border:1px dashed #5b6479;
  color:#8b93a7;border-radius:8px;padding:7px 18px;cursor:pointer;font-size:13px;font-weight:700}
.gqc-salta:hover{color:#ffd94d;border-color:#ffd94d}
/* schermata finale */
.gqc-final{display:flex;justify-content:center;gap:18px;margin:12px 0}
.gqc-final>div{text-align:center;background:#171a22;border:2px solid #3d4454;border-radius:12px;
  padding:10px 16px;min-width:78px}
.gqc-final b{display:block;font-family:'Courier New',monospace;font-size:24px;color:#ffd94d}
.gqc-final span{font-size:12px;color:#8b93a7;text-transform:uppercase;letter-spacing:1px}
/* albo */
.gqc-hof{margin-top:16px;background:#171a22;border:2px solid #4d5568;border-radius:12px;padding:12px 10px}
.gqc-hof-title{font-family:'Courier New',monospace;text-align:center;color:#ffd94d;font-weight:900;
  letter-spacing:3px;margin-bottom:8px;text-shadow:0 0 10px rgba(255,217,77,.4)}
.gqc-hof-empty{text-align:center;color:#8b93a7;font-size:14px;margin:6px 0}
.gqc-hof-rows{display:flex;flex-direction:column;gap:2px;max-height:340px;overflow-y:auto}
.gqc-hof-row{display:flex;gap:8px;align-items:baseline;font-family:'Courier New',monospace;
  font-weight:800;font-size:14px;color:#c6ccdb;padding:3px 8px;border-radius:6px}
.gqc-hof-row.oro{color:#ffd94d}.gqc-hof-row.argento{color:#dfe6ef}.gqc-hof-row.bronzo{color:#e8a86e}
.gqc-hof-pos{min-width:30px;text-align:right}
.gqc-hof-nome{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}
.gqc-hof-dati{font-size:12px;color:#8b93a7;white-space:nowrap}
.gqc-hof-row.oro .gqc-hof-dati{color:#c9a84a}
.gqc-io{background:#2a2f3c;outline:1px solid #ffd94d}
.gqc-retry{margin-top:12px;padding:10px;background:#171a22;border:1px dashed #5b6479;border-radius:10px}
@media (prefers-reduced-motion:reduce){.gqc-verdetto{animation:none}}

/* ============================================================
   v3.0 — IL MURO DEI RISULTATI (solo Name Generator)
   Niente punteggi, niente classifica: nome scritto + risultato.
   ============================================================ */
.gq-muro{margin:16px 0 4px;background:var(--carta2);border:2px dashed var(--grafite);
  border-radius:14px;padding:12px 10px}
.gq-muro-title{text-align:center;font-weight:900;letter-spacing:2px;color:var(--matita);
  margin-bottom:8px;font-size:15px}
.gq-muro-azione{text-align:center;margin-bottom:10px}
.gq-muro-btn{font-size:14px;padding:8px 16px}
.gq-muro-btn:disabled{opacity:.5;cursor:default}
.gq-muro-msg{margin:6px 0 0;font-size:13px;color:var(--grafite);min-height:16px}
.gq-muro-empty{text-align:center;color:var(--grafite);font-size:14px;margin:8px 0}
.gq-muro-rows{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto;
  padding:2px}
.gq-muro-row{display:flex;gap:8px;align-items:baseline;justify-content:space-between;
  background:var(--foglio);border:1.5px solid var(--grafite);border-radius:8px;
  padding:6px 10px;font-size:14px;box-shadow:2px 2px 0 rgba(77,64,48,.10)}
.gq-muro-nome{font-weight:800;color:var(--matita);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;max-width:45%}
.gq-muro-ris{color:var(--grafite);text-align:right;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.gq-muro-io{background:var(--verde-w);border-color:var(--verde);outline:2px solid var(--verde)}
/* v3.1 — biglietto inviato, in attesa di approvazione */
.gq-muro-inviato{color:var(--verde);font-weight:800}

/* ============================================================
   v3.2 — IN THE DARK (gara a tempo al buio, fascio di luce)
   ============================================================ */
.gq-card.gqd{background:#0d0f14;color:#e8eaf0;border-color:#2b3140}
.gqd-title{font-family:'Courier New',monospace;font-weight:900;font-size:23px;text-align:center;
  letter-spacing:2px;color:#ffd94d;text-shadow:0 0 18px rgba(255,217,77,.55);margin:6px 0 2px}
.gqd-sub{text-align:center;color:#b9c0d0;margin:4px 0;font-weight:700}
.gqd-rules{text-align:center;color:#8b93a7;font-size:14px;margin:6px 12px 12px;line-height:1.5}
.gqd-form{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:10px 0 4px}
.gqd-nome{max-width:260px;text-align:center;font-family:'Courier New',monospace;font-weight:800;
  background:#161a22;color:#ffd94d;border:2px solid #2b3140;border-radius:10px}
.gqd-nome::placeholder{color:#6b7488;font-weight:600}
.gqd-btn{background:#ffd94d;color:#0d0f14;font-weight:900;letter-spacing:1px;border:none}
.gqd-btn:hover{background:#ffe680}
.gqd-hint{text-align:center;color:#8b93a7;font-size:13px;margin:2px 0 8px}
.gqd-msg{text-align:center;color:#ffd94d;min-height:20px;font-size:14px;margin:4px 0;font-weight:700}
.gqd-attesa{text-align:center;color:#6effb0;font-weight:800;font-size:14px;margin:8px 12px}
/* barra */
.gqd-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-family:'Courier New',monospace;font-weight:900;font-size:17px;margin:2px 2px 10px;
  background:#161a22;border:2px solid #2b3140;border-radius:10px;padding:6px 10px}
.gqd-timer{color:#ffd94d} .gqd-punti{color:#6effb0} .gqd-err{color:#ff8f8f}
/* lo schermo 9:16 */
.gqd-schermo{position:relative;width:100%;max-width:330px;margin:0 auto;aspect-ratio:9/16;
  background:#000;border:2px solid #2b3140;border-radius:12px;overflow:hidden}
.gqd-schermo canvas{width:100%;height:100%;display:block}
.gqd-verdetto{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:70px;font-weight:900;opacity:0;pointer-events:none;text-shadow:0 0 26px rgba(0,0,0,.95)}
.gqd-verdetto.ok{color:#6effb0} .gqd-verdetto.ko{color:#ff8f8f} .gqd-verdetto.salta{color:#b9c0d0}
.gqd-verdetto.on{animation:gqd-flash .7s ease}
@keyframes gqd-flash{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.15)}}
/* risposte */
.gqd-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.gqd-opt{padding:13px 8px;border-radius:10px;border:2px solid #2b3140;background:#161a22;
  color:#e8eaf0;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s}
.gqd-opt:hover{background:#212836;border-color:#4d5568}
.gqd-opt.giusto{background:#1c4634;border-color:#6effb0;color:#6effb0}
.gqd-opt.sbagliato{background:#4a1f1f;border-color:#ff8f8f;color:#ff8f8f}
.gqd-salta{display:block;margin:12px auto 2px;background:none;border:1px dashed #4d5568;
  color:#8b93a7;border-radius:8px;padding:7px 18px;cursor:pointer;font-size:13px;font-weight:700}
.gqd-salta:hover{color:#ffd94d;border-color:#ffd94d}
/* finale */
.gqd-final{display:flex;justify-content:center;gap:14px;margin:12px 0}
.gqd-final>div{text-align:center;background:#161a22;border:2px solid #2b3140;border-radius:12px;
  padding:10px 14px;min-width:76px}
.gqd-final b{display:block;font-family:'Courier New',monospace;font-size:22px;color:#ffd94d}
.gqd-final span{font-size:12px;color:#8b93a7;text-transform:uppercase;letter-spacing:1px}
/* classifica */
.gqd-hof{margin-top:16px;background:#161a22;border:2px solid #2b3140;border-radius:12px;padding:12px 10px}
.gqd-hof-title{font-family:'Courier New',monospace;text-align:center;color:#ffd94d;font-weight:900;
  letter-spacing:2px;margin-bottom:8px;text-shadow:0 0 10px rgba(255,217,77,.4);font-size:14px}
.gqd-hof-empty{text-align:center;color:#8b93a7;font-size:14px;margin:6px 0}
.gqd-hof-rows{display:flex;flex-direction:column;gap:2px;max-height:340px;overflow-y:auto}
.gqd-hof-row{display:flex;gap:8px;align-items:baseline;font-family:'Courier New',monospace;
  font-weight:800;font-size:14px;color:#c6ccdb;padding:3px 8px;border-radius:6px}
.gqd-hof-row.oro{color:#ffd94d}.gqd-hof-row.argento{color:#dfe6ef}.gqd-hof-row.bronzo{color:#e8a86e}
.gqd-hof-pos{min-width:30px;text-align:right}
.gqd-hof-nome{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}
.gqd-hof-dati{font-size:12px;color:#8b93a7;white-space:nowrap}
.gqd-hof-row.oro .gqd-hof-dati{color:#c9a84a}
.gqd-io{background:#212836;outline:1px solid #ffd94d}
.gqd-retry{margin-top:12px;padding:10px;background:#161a22;border:1px dashed #4d5568;border-radius:10px}
@media (prefers-reduced-motion:reduce){.gqd-verdetto{animation:none}}

/* ============ TAROCCHI ============ */
.gq-tar{position:relative;max-width:480px;margin:0 auto;min-height:560px;
  background:#FBF3DF;border:2.5px solid #4D4030;border-radius:18px;overflow:hidden;
  font-family:'Nunito','Segoe UI',system-ui,sans-serif;color:#4D4030}
.gq-tar-prog{position:absolute;top:0;left:0;right:0;display:flex;gap:4px;padding:14px 16px 0;z-index:20}
.gq-tar-prog i{flex:1;height:5px;border-radius:3px;background:#F3E7C9}
.gq-tar-prog i.on{background:#8E7CC3}
.gq-tar-stage{position:relative;min-height:560px}
.gq-tar-schermo{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
  padding:60px 22px 26px;opacity:0;transform:translateX(24px);transition:opacity .26s,transform .26s}
.gq-tar-schermo.attiva{opacity:1;transform:translateX(0)}
.gq-tar-schermo.esce{opacity:0;transform:translateX(-24px)}
.gq-tar-emoji{font-size:36px;text-align:center;margin-bottom:6px}
.gq-tar-dom{font-family:'Baloo 2','Nunito',sans-serif;font-weight:800;font-size:22px;
  text-align:center;line-height:1.2;margin:0 0 22px}
.gq-tar-opz{display:flex;flex-direction:column;gap:9px}
.gq-tar-opz.griglia{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.gq-tar-btn{padding:14px;font-size:15px;font-weight:800;font-family:inherit;border:2.5px solid #F3E7C9;
  border-radius:13px;background:#fff;color:#4D4030;cursor:pointer;text-align:left;
  display:flex;align-items:center;gap:9px;transition:transform .08s,border-color .15s,background .15s}
.gq-tar-opz.griglia .gq-tar-btn{justify-content:center;text-align:center;font-size:13px;padding:11px 3px}
.gq-tar-btn:active{transform:scale(.96)}
.gq-tar-btn.scelto{background:#EBE5F5;border-color:#8E7CC3}
.gq-tar-btn .em{font-size:20px}
.gq-tar-testo{display:flex;flex-direction:column;gap:13px}
.gq-tar-testo input{width:100%;padding:15px;font-size:18px;font-family:inherit;text-align:center;
  border:2.5px solid #F3E7C9;border-radius:13px;background:#fff;color:#4D4030}
.gq-tar-testo input:focus{outline:none;border-color:#8E7CC3}
.gq-tar-continua{width:100%;padding:14px;font-size:16px;font-weight:800;font-family:'Baloo 2','Nunito',sans-serif;
  background:#8E7CC3;color:#fff;border:none;border-radius:13px;box-shadow:0 4px 0 #6f5da8;cursor:pointer}
.gq-tar-continua:active{transform:translateY(3px);box-shadow:none}
.gq-tar-continua:disabled{opacity:.4}
.gq-tar-mescola{align-items:center;justify-content:center}
.gq-tar-mazzo{position:relative;width:150px;height:206px;margin:0 auto 20px}
.gq-tar-mazzo i{position:absolute;top:0;width:128px;height:196px;border-radius:14px;
  background:repeating-linear-gradient(45deg,#8E7CC3 0 8px,#7a68b0 8px 16px);
  border:3px solid #4D4030;box-shadow:2px 2px 0 rgba(77,64,48,.2)}
.gq-tar-mazzo i::after{content:"\2726";position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;font-size:36px;color:#F1C75B}
.gq-tar-mazzo .d1{left:0;animation:gqtA .9s ease-in-out infinite}
.gq-tar-mazzo .d2{left:8px;animation:gqtB .9s ease-in-out infinite}
.gq-tar-mazzo .d3{left:16px;animation:gqtC .9s ease-in-out infinite}
@keyframes gqtA{0%,100%{transform:rotate(-8deg) translateX(-14px)}50%{transform:rotate(6deg) translateX(10px)}}
@keyframes gqtB{0%,100%{transform:rotate(5deg) translateX(8px)}50%{transform:rotate(-7deg) translateX(-12px)}}
@keyframes gqtC{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg) translateY(-6px)}}
.gq-tar-mtxt{text-align:center;font-size:16px;font-weight:800;color:#7A6A54}
.gq-tar-esito{position:relative;inset:auto;justify-content:flex-start;padding-top:50px;overflow:visible}
/* in fase di esito il gioco cresce in altezza: immagine e testo in colonna,
   si scrolla la pagina normalmente invece di un riquadro interno che taglia */
.gq-tar.esito-attivo{min-height:0}
.gq-tar.esito-attivo .gq-tar-stage{min-height:0}
.gq-tar-carta{width:100%;max-width:230px;margin:0 auto;border-radius:18px;overflow:hidden;
  border:3px solid #4D4030;box-shadow:4px 5px 0 rgba(77,64,48,.16);background:#fff;
  animation:gqtEntra .5s cubic-bezier(.2,.9,.3,1.4)}
@keyframes gqtEntra{0%{transform:scale(.85);opacity:0}100%{transform:scale(1);opacity:1}}
.gq-tar-carta img{width:100%;height:auto !important;max-width:none;aspect-ratio:auto;display:block;object-fit:contain}
.gq-tar-fascia{padding:9px 12px 12px;text-align:center;background:#FBF0D0}
.gq-tar-num{font-size:10px;font-weight:800;letter-spacing:2px;color:#8a6d1f}
.gq-tar-nome{font-family:'Baloo 2','Nunito',sans-serif;font-weight:800;font-size:18px}
.gq-tar-lettura{margin:15px auto 0;max-width:340px;background:#fff;border:2px solid #F3E7C9;
  border-radius:14px;padding:15px 17px;font-size:15px;line-height:1.6}
.gq-tar-rifai{display:block;margin:16px auto 24px;background:none;border:2px dashed #7A6A54;
  color:#7A6A54;padding:10px 22px;border-radius:11px;font-weight:800;font-family:inherit;font-size:14px;cursor:pointer}

/* ============ TESTO NEL BUIO (palco testo + velo, riusa gqd-* per il resto) ============ */
.gqtx-palco{position:relative;background:#0d0f14;border:2px solid #2b3140;border-radius:12px;
  overflow:hidden;min-height:300px;margin:10px 0}
.gqtx-testo{position:relative;z-index:1;padding:30px 24px;
  font-family:'Caveat','Baloo 2',cursive;font-size:28px;line-height:1.55;
  color:#e8eaf0;text-align:left;user-select:none;-webkit-user-select:none}
.gqtx-velo{position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(circle var(--raggio,70px) at var(--lx,50%) var(--ly,-40%),
    transparent 0%, transparent 55%, rgba(13,15,20,.75) 80%, #0d0f14 100%)}
.gqtx-alone{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(circle var(--raggio,70px) at var(--lx,50%) var(--ly,-40%),
    rgba(255,217,77,.18) 0%, transparent 65%)}
.gqtx-palco .gqd-verdetto{z-index:5}
