/* Quick games on the Play page: Pumpkin Peek and Candy Match. Uses the Play page palette. */
.quick-games{margin-top:24px;border:1px solid #65563f;border-radius:8px;background:#0d202b;padding:26px 24px}
.quick-games>h2{margin:0 0 6px;font:500 clamp(26px,4.5vw,34px)/1.15 var(--serif);color:#f0e5d3;letter-spacing:-.02em}
.quick-games>p{margin:0 0 18px;font-size:16px;line-height:1.55;color:#c9d2d5}
.qg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.qg-game{min-width:0;padding:18px 16px;border:1px solid #425660;border-radius:8px;background:#0a1a24}
.qg-game h3{margin:0 0 4px;font-size:20px;color:#f0e5d3}
.qg-help{margin:0 0 12px;font-size:15px;line-height:1.5;color:#b4c3c9}
.qg-steps{display:flex;gap:6px;list-style:none;margin:0 0 12px;padding:0;flex-wrap:wrap}
.qg-steps li{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #566a72;border-radius:50%;font-size:13px;color:#b4c3c9}
.qg-steps li.is-done{background:#16322e;border-color:#799f8b;color:#ecedda}
.qg-steps li.is-current{border-color:#ff9a38;color:#ffb95e;box-shadow:0 0 0 2px #38281b}
.qg-round{margin:0 0 8px;font-size:15px;font-weight:700;color:#e7d8bf}
.qg-round:focus{outline:none}
.qg-notice{margin:0 0 10px;padding:10px 12px;border:1px solid #927249;border-radius:5px;background:#332a1a;color:#f2dfc3;font-size:14px;line-height:1.5}
.qg-wait{margin:10px 0;color:#c9d2d5;font-size:15px}
.qg-pumpkins,.qg-cards{display:grid;gap:10px;margin:8px 0 12px;justify-items:center}
.qg-pumpkins.qg-n4{grid-template-columns:repeat(2,minmax(0,1fr))}
.qg-pumpkins.qg-n6{grid-template-columns:repeat(3,minmax(0,1fr))}
.qg-pumpkins.qg-n9{grid-template-columns:repeat(3,minmax(0,1fr))}
.qg-cards.qg-n6{grid-template-columns:repeat(3,minmax(0,1fr))}
.qg-cards.qg-n8{grid-template-columns:repeat(4,minmax(0,1fr))}
.qg-tile,.qg-card{min-width:44px;min-height:76px;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:2px solid #566a72;border-radius:10px;background:#123040;color:#f0e5d3;cursor:pointer;font:inherit}
.qg-tile{aspect-ratio:1/1;width:100%;max-width:130px}
.qg-card{aspect-ratio:3/4;width:100%;max-width:120px;max-height:150px}
.qg-tile:hover,.qg-card:hover:not(:disabled){border-color:#ff9a38}
.qg-tile:focus-visible,.qg-card:focus-visible,.qg-game .button:focus-visible,.qg-game .button-quiet:focus-visible{outline:3px solid #f8c078;outline-offset:3px}
.qg-tile.is-tried{opacity:.45}
.qg-tile.is-odd{border-color:#ff9a38;background:#38281b;opacity:1}
.qg-tile:disabled:not(.is-odd){opacity:.5}
.qg-pumpkin,.qg-candy,.qg-back{width:100%;height:100%;max-width:84px;max-height:84px}
.qg-skin{fill:#f28a1f;stroke:#8f430f;stroke-width:1.5}
.qg-lobe{fill:#d9701a;stroke:#8f430f;stroke-width:1.5}
.qg-stem{fill:#4f7a2c;stroke:#2f4a18;stroke-width:1.2}
.qg-face{fill:#2a1405}
.qg-face .qg-line{fill:none;stroke:#2a1405;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.qg-face .qg-tongue{fill:#e8607c}
.qg-card .qg-back{fill:#ff9a38;opacity:.85;max-width:44px;max-height:44px}
.qg-card.is-open{background:#193040;border-color:#8fbaaa}
.qg-card.is-matched{background:#16322e;border-color:#799f8b;opacity:1}
.qg-card:disabled{cursor:default}
.qg-name{font-size:12px;line-height:1.15;color:#e8e1d3;text-align:center}
.qg-card .qg-candy{max-width:62px;max-height:62px}
.qg-nice{margin:6px 0 10px;font-size:19px;font-weight:700;color:#bfe9c9}
.qg-all{margin:6px 0 10px;font-size:16px;color:#d9e9df}
.qg-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.qg-game .button,.qg-game .button-quiet{min-height:48px;min-width:48px;padding:12px 18px;font-size:16px;line-height:1.3;white-space:normal}
.qg-game .button{background:linear-gradient(#b44d17,#90350f);color:#fff;border-color:#f2a764}
.qg-live{margin:8px 0 0;font-size:14px;line-height:1.5;color:#d9e9df;min-height:0}
.qg-live:empty{display:none}
@media(max-width:700px){.qg-grid{grid-template-columns:minmax(0,1fr)}.quick-games{padding:20px 14px}}
@media(max-width:359px){.qg-cards.qg-n8{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.quick-games *{animation:none!important;transition:none!important}}

/* Map discoveries on Halloween Live: small seasonal markers, never larger than a stop pin. */
.md-pin{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;pointer-events:auto}
.md-disc{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#1b2a34;border:2px solid #f6e1bb;box-shadow:0 1px 4px rgba(0,0,0,.45)}
.md-disc svg{width:18px;height:18px}
.md-pin{transform:translate(34px,-10px)}
.md-pin:hover .md-disc{border-color:#ff9a38}
.md-pin:focus-visible{outline:3px solid #f8c078;outline-offset:2px}
.md-pin.is-found .md-disc{opacity:.62;border-color:#8fbaaa;background:#193e37}
.md-check{position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;background:#8fbaaa;border:1.5px solid #0d202b}
.md-check:after{content:'';position:absolute;left:3px;top:1px;width:3px;height:6px;border:solid #0d202b;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.md-layer{position:absolute;inset:0;pointer-events:none;z-index:2}
.md-layer .md-pin{position:absolute;transform:translate(calc(-50% + 34px),calc(-50% - 10px))}

/* Show a discovery reward before a tap, without changing the map hit target. */
.md-disc{position:relative}.md-points{position:absolute;right:-8px;bottom:-7px;padding:1px 5px;border-radius:10px;background:#fff8e8;color:#51300d;font-size:13px;font-weight:800;line-height:16px;box-shadow:0 1px 3px #0003}

.qg-game a{color:#ffc27c;text-decoration:underline;text-underline-offset:3px}
