/* The little hunt lives alongside the games: tucked away, but always reachable. */
body.halloween {
  --quest-gold:#ffcc79;
  --quest-ink:#2d1b0b;
  --quest-soft:#cbb8cf;
}

.quest-banner {
  display:flex;
  align-items:center;
  gap:24px;
  margin:13px 56px 0;
  padding:18px 23px;
  background:linear-gradient(110deg,#261b2e,#1c1623);
  border:1px solid #63434b;
  border-radius:9px;
  box-shadow:inset 0 1px 0 #ffe1bd08;
}
.quest-banner-copy {flex:1;min-width:0}
.quest-eyebrow {display:block;color:var(--quest-gold);font-size:9px;font-weight:750;letter-spacing:1.7px;line-height:1.5}
.quest-banner h2 {margin:3px 0 4px;font-family:var(--display);font-size:17px;line-height:1.3;letter-spacing:-.25px}
.quest-banner p {margin:0;color:var(--quest-soft);font-size:11px;line-height:1.6}
.quest-banner-progress {flex:0 0 146px;color:var(--quest-soft);font-size:11px;white-space:nowrap}
.quest-banner-progress b {color:#fff2e2;font-size:18px;font-variant-numeric:tabular-nums}
.quest-banner progress,.pumpkin-dialog progress {
  display:block;
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:5px;
  margin:8px 0 0;
  border:0;
  border-radius:10px;
  overflow:hidden;
  background:#49354b;
  color:var(--quest-gold);
  accent-color:var(--quest-gold);
}
.quest-banner progress::-webkit-progress-bar,.pumpkin-dialog progress::-webkit-progress-bar {background:#49354b;border-radius:10px}
.quest-banner progress::-webkit-progress-value,.pumpkin-dialog progress::-webkit-progress-value {background:linear-gradient(90deg,#f3a35b,var(--quest-gold));border-radius:10px;transition:width .3s ease}
.quest-banner progress::-moz-progress-bar,.pumpkin-dialog progress::-moz-progress-bar {background:var(--quest-gold);border-radius:10px}
.quest-open {
  flex:none;
  min-height:44px;
  padding:10px 16px;
  border:1px solid #936443;
  border-radius:5px;
  background:#38271f;
  color:#ffe0b5;
  font-size:11px;
  font-weight:700;
  transition:background .15s,border-color .15s;
}
.quest-open:hover {background:#4b3223;border-color:#edb271}
.quest-banner.is-complete {background:linear-gradient(110deg,#36291e,#251d25);border-color:#a58448}
.quest-banner.is-complete .quest-eyebrow {color:#ffe5a4}

.quest-tracker {
  position:fixed;
  right:24px;
  bottom:max(20px,env(safe-area-inset-bottom));
  z-index:9;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:94px;
  min-height:46px;
  padding:10px 14px;
  border:1px solid #a47a4f;
  border-radius:24px;
  background:#251c2bf5;
  color:#ffdcac;
  box-shadow:0 4px 18px #0007;
  font-size:12px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
  transition:background .15s,border-color .15s;
}
.quest-tracker:hover {background:#3a2936;border-color:#ffd29b}
.quest-tracker>svg {width:23px;height:23px;overflow:visible;stroke-width:1.3}
.quest-tracker.is-complete {border-color:#e7bf65;background:#3a2c19;color:#ffe4a5}
.quest-announcement {position:fixed;left:50%;bottom:82px;z-index:20;max-width:calc(100% - 36px);width:max-content;padding:11px 18px;border:1px solid #b88b54;border-radius:8px;background:#2a1e31;color:#ffe4b7;box-shadow:0 5px 25px #0006;font-size:12px;text-align:center;opacity:0;transform:translate(-50%,8px);pointer-events:none;transition:opacity .15s,transform .15s}
.quest-announcement.visible {opacity:1;transform:translate(-50%,0)}

/* Forty-four pixel hit areas frame the same tiny, bright pumpkin in every nook. */
.quest-pumpkin {
  position:absolute;
  z-index:4;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  margin:0;
  padding:10px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:#ffc278;
  isolation:isolate;
  transition:background .15s,opacity .15s,transform .15s;
}
.quest-pumpkin>svg {display:block;width:24px;height:24px;overflow:visible;stroke-width:1.3;filter:drop-shadow(0 1px 2px #120912) drop-shadow(0 0 4px #ffb1493d)}
.quest-pumpkin::after {
  content:'✦';
  position:absolute;
  right:2px;
  top:1px;
  color:#ffe7b3;
  font-size:10px;
  line-height:1;
  pointer-events:none;
  text-shadow:0 1px 3px #100916;
}
.quest-pumpkin:hover {background:#ffbd6e18;border-color:#ffc88266;transform:rotate(-7deg)}
.quest-pumpkin:focus-visible {background:#422e38;outline:2px solid #ffe4ac;outline-offset:2px;box-shadow:0 0 0 5px #1b1325}
.quest-pumpkin.is-found {opacity:.48;cursor:default;background:transparent;transform:none;filter:saturate(.35)}
.quest-pumpkin.is-found::after {display:none}
.quest-collected-tick {display:none;position:absolute;right:0;bottom:1px;align-items:center;justify-content:center;width:17px;height:17px;border:1px solid #e5c795;background:#251b29;color:#ffdfa5;border-radius:50%;font-size:10px;line-height:1;font-weight:800}
.quest-pumpkin.is-found .quest-collected-tick {display:flex}
.pumpkin-host-banner,.pumpkin-host-hero,.pumpkin-host-spotlight,.pumpkin-host-card,.pumpkin-host-alpha,.pumpkin-host-updates,.pumpkin-host-contact,.pumpkin-host-footer {position:relative}
.pumpkin-host-banner>.quest-pumpkin {bottom:1px;right:7px}
.pumpkin-host-hero {padding-bottom:44px}
.pumpkin-host-hero>.quest-pumpkin {bottom:0;right:6px}
.pumpkin-host-spotlight>.quest-pumpkin {right:18px;top:64px}
.pumpkin-host-card>.quest-pumpkin {left:8px;top:38px}
.pumpkin-host-alpha {padding-bottom:58px}
.pumpkin-host-alpha>.quest-pumpkin {bottom:8px;right:22px}
body.halloween .updates-tools.pumpkin-host-updates {padding-right:78px}
.pumpkin-host-updates>.quest-pumpkin {bottom:9px;right:17px}
.pumpkin-host-contact {padding-bottom:56px}
.pumpkin-host-contact>.quest-pumpkin {bottom:7px;right:6px}
.footer-note.pumpkin-host-footer {min-height:66px;padding-left:50px;padding-right:112px;padding-bottom:8px}
.pumpkin-host-footer>.quest-pumpkin {left:0;bottom:0}

/* Native modal keeps keyboard focus inside the hunt and returns it on close. */
body.halloween dialog.pumpkin-dialog {
  width:580px;
  max-width:calc(100% - 32px);
  max-height:calc(100dvh - 32px);
  padding:35px;
  border-color:#946550;
  border-radius:15px;
  background:radial-gradient(ellipse at 90% 0,#5d354a38,transparent 50%),#1e1627;
  color:#f7eee4;
  overscroll-behavior:contain;
}
body.halloween .pumpkin-dialog::backdrop {background:#0a0712e8;backdrop-filter:blur(4px)}
body.halloween .pumpkin-dialog .dialog-close {top:14px;right:14px;width:44px;height:44px;min-height:44px;border-color:#b998aa66}
.quest-dialog-head {padding-right:24px}
.quest-dialog-head h2 {margin:8px 0 12px;font-family:var(--display);font-size:35px;font-weight:750;line-height:1.12;letter-spacing:-1px}
.quest-dialog-head>p {max-width:420px;margin:0;color:#cfbcd3;font-size:13px;line-height:1.75}
.quest-dialog-progress {margin:24px 0;color:#d6c4d9;font-size:12px;font-variant-numeric:tabular-nums}
.quest-dialog-progress b {color:#ffdcac;font-size:15px}
.quest-dialog-progress progress {height:7px;margin-top:12px}
.quest-reward {display:flex;gap:19px;align-items:center;margin-top:22px;padding:21px 19px;background:#2b2033;border:1px solid #664950;border-radius:10px}
.quest-badge {display:grid;place-items:center;flex:0 0 82px;width:82px;height:92px}
.quest-badge>svg {width:82px;height:92px;max-width:100%;stroke-width:1.2;overflow:visible}
.quest-reward.is-locked .quest-badge {filter:grayscale(.5);opacity:.55}
.quest-reward-copy {min-width:0}
.quest-reward h3 {margin:0 0 7px;font-family:var(--display);font-size:20px;line-height:1.25;letter-spacing:-.35px;color:#ffe0aa}
.quest-reward p {margin:0;color:#cfbdd4;font-size:12px;line-height:1.7}
.quest-reward.is-unlocked {border-color:#ba9653;background:linear-gradient(120deg,#40301f,#2a2031)}
.quest-reward.is-unlocked .quest-badge {filter:drop-shadow(0 3px 15px #ffc85720)}
.quest-reward-actions {display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 0}
.quest-reward-actions>.button {flex:1 1 180px;min-height:46px;padding:12px 14px;font-size:12px;gap:9px}
body.halloween .pumpkin-dialog .button:disabled {opacity:.45;cursor:not-allowed}
.quest-hints {border-top:1px solid #54384f;margin-top:25px;padding-top:16px}
body.halloween .quest-hints>.quiet-button {min-height:44px;padding:10px 0;color:#f1cdac;font-size:12px;text-align:left}
.quest-hints p {margin:3px 0 0;color:#d1bdd7;font-size:12px;line-height:1.7}
.quest-save-note {margin:20px 0 0;color:#b9a2c2;font-size:10px;line-height:1.7}
.quest-celebrate .quest-badge {animation:quest-reward-arrive .7s ease-out both}
@keyframes quest-reward-arrive {from {transform:translateY(7px) scale(.92)} to {transform:translateY(0) scale(1)}}

/* The earned theme brings candlelit gold to the entire hub. */
body.halloween.pumpkin-gold {
  --bg:#15110c;
  --panel:#211b12;
  --line:#4c3d25;
  --muted:#c4b390;
  --text:#fff4df;
  --lime:#f6d078;
  --season-purple:#ddc28d;
  --quest-gold:#ffdf94;
  --quest-soft:#d7c49e;
  background:radial-gradient(ellipse at 83% 6%,#a97d2720,transparent 40%),radial-gradient(ellipse at 0 38%,#a7681710,transparent 31%),var(--bg);
}
body.pumpkin-gold .site-header {background:#15110cf5;border-bottom-color:#4c3d25}
body.pumpkin-gold .main-nav {color:#ccbb98}
body.pumpkin-gold .main-nav>a.active {color:#fff1cf}
body.pumpkin-gold .main-nav a:hover {color:#ffdf94}
body.pumpkin-gold .halloween-banner {background:linear-gradient(105deg,#3b2b18,#2c2417 48%,#211c14);border-color:#9b7943;box-shadow:inset 0 1px 0 #ffdd9410,0 12px 38px #0002}
body.pumpkin-gold .halloween-banner:before {background:linear-gradient(90deg,#3b2b18 0%,#3b2b18f5 26%,#3b2b1866 50%,transparent 70%)}
body.pumpkin-gold .season-kicker,body.pumpkin-gold .season-date {color:#ffdb8b}
body.pumpkin-gold .season-title,body.pumpkin-gold .hero h1 {color:#fff4db}
body.pumpkin-gold .season-note,body.pumpkin-gold .hero-copy>p {color:#d7c5a5}
body.pumpkin-gold .hero .eyebrow {color:#dfc99f}
body.pumpkin-gold .primary,body.pumpkin-gold .hub-tabs [aria-selected=true] {background:#f6d078;color:#30200b;border-color:#f6d078}
body.pumpkin-gold .primary:hover,body.pumpkin-gold .hub-tabs [aria-selected=true]:hover {background:#ffe2a3;color:#30200b}
body.pumpkin-gold .secondary,body.pumpkin-gold .header-cta,body.pumpkin-gold .share-button {border-color:#9e8046;background:#302617;color:#f6dfad}
body.pumpkin-gold .secondary:hover,body.pumpkin-gold .header-cta:hover,body.pumpkin-gold .share-button:hover {background:#46351d;border-color:#dcba71}
body.pumpkin-gold .text-button,body.pumpkin-gold .quiet-button {color:#dec99e}
body.pumpkin-gold .text-button:hover {background:#312818;color:#ffe4ac}
body.pumpkin-gold .quiet-button:hover,body.pumpkin-gold .text-link:hover {color:#ffe4ac}
body.pumpkin-gold .hub-tabs {background:#211a11;border-color:#5e4a2a}
body.pumpkin-gold .hub-tabs [role=tab] {color:#d7c49e}
body.pumpkin-gold .hub-tabs [role=tab]:hover {background:#352a18;color:#ffe6b2}
body.pumpkin-gold .hub-tabs [aria-selected=true] {color:#30200b}
body.pumpkin-gold .quest-banner {border-color:#8f7240;background:linear-gradient(110deg,#342819,#241e15)}
body.pumpkin-gold .quest-open,body.pumpkin-gold .quest-tracker {background:#342918;border-color:#b89450;color:#ffe3a0}
body.pumpkin-gold .quest-open:hover,body.pumpkin-gold .quest-tracker:hover {background:#4b391c;border-color:#ffdc88}
body.pumpkin-gold .search,body.pumpkin-gold .sort-label select,body.pumpkin-gold .updates-tools select,body.pumpkin-gold .add-dialog input,body.pumpkin-gold .add-dialog select {background:#20190f;border-color:#826538;color:#fff0cf}
body.pumpkin-gold .search input {color:#fff0cf}
body.pumpkin-gold .search input::placeholder {color:#baa783}
body.pumpkin-gold .filter {color:#d5c19b}
body.pumpkin-gold .filter:hover {background:#34291a;color:#ffe6b0}
body.pumpkin-gold .filter.active,body.pumpkin-gold .collection-picks button,body.pumpkin-gold .collection-picks .season-horror {background:#3a2c17;border-color:#a6813d;color:#ffe0a0}
body.pumpkin-gold .collection-picks button:hover {background:#4b381b;border-color:#dfb461;color:#ffedc4}
body.pumpkin-gold .spotlight {border-color:#b88e4a66;background:#302616}
body.pumpkin-gold .season-badge {background:#30220ee8;border-color:#ebc16a99;color:#ffe5ab}
body.pumpkin-gold .season-badge>span {background:#ffdb83}
body.pumpkin-gold .card-art {border-color:#cda75f3a;background:#282114}
body.pumpkin-gold .card-art:hover {border-color:#f0c56d99}
body.pumpkin-gold .card-favorite {background:#241b0fe8;border-color:#baa16a66;color:#ead7ad}
body.pumpkin-gold .card-favorite:hover,body.pumpkin-gold .card-favorite[aria-pressed=true] {background:#43321ced;border-color:#ebc779;color:#ffe299}
body.pumpkin-gold .card-number {background:#251b0bc9;color:#f7e2b5}
body.pumpkin-gold .genre-tag,body.pumpkin-gold .recent-card {background:#2b2215;border-color:#78603a;color:#ddc89c}
body.pumpkin-gold .card-description,body.pumpkin-gold .panel-intro,body.pumpkin-gold .about p {color:#cebc98}
body.pumpkin-gold .library-caption,body.pumpkin-gold .results-bar,body.pumpkin-gold .library-bottom,body.pumpkin-gold .card-meta,body.pumpkin-gold .card-access {color:#beac88}
body.pumpkin-gold .alpha-empty,body.pumpkin-gold .empty-state,body.pumpkin-gold .updates-empty {background:radial-gradient(ellipse at 50% 0,#8a622422,transparent 60%),#211a11;border-color:#8c6d39}
body.pumpkin-gold .alpha-symbol {background:linear-gradient(145deg,#705327,#392a15);border-color:#c7a56580}
body.pumpkin-gold .alpha-symbol>span {border-color:#4a361b}
body.pumpkin-gold .alpha-empty .eyebrow,body.pumpkin-gold .alpha-footnote,body.pumpkin-gold .about .eyebrow,body.pumpkin-gold .contact-block .eyebrow {color:#d3b578}
body.pumpkin-gold .alpha-empty>p {color:#d2bf98}
body.pumpkin-gold .updates-tools {background:#292014;border-color:#66512f}
body.pumpkin-gold .update-card {background:linear-gradient(120deg,#2d2316,#211a11);border-color:#66512f}
body.pumpkin-gold .update-title {color:#fff0d3}
body.pumpkin-gold .update-changes {color:#d8c49c}
body.pumpkin-gold .update-changes li::marker {color:#eac57e}
body.pumpkin-gold .update-meta,body.pumpkin-gold .update-meta time,body.pumpkin-gold #updates-count {color:#bda780}
body.pumpkin-gold .update-game-link,body.pumpkin-gold .contact-email {color:#ffe0a0;border-bottom-color:#aa8448}
body.pumpkin-gold .about,body.pumpkin-gold .contact-block,body.pumpkin-gold .footer-note {border-color:#534126}
body.pumpkin-gold .about-mark {background:radial-gradient(circle at 40% 30%,#61461f,#2e2415);border-color:#b58d49}
body.pumpkin-gold .about-mark:after {border-color:#cda14f66}
body.pumpkin-gold .about-stats {border-left-color:#66502c}
body.pumpkin-gold .about-stats span,body.pumpkin-gold .collection-strip,body.pumpkin-gold .footer-note,body.pumpkin-gold footer p {color:#baa682}
body.pumpkin-gold .collection-strip svg,body.pumpkin-gold .text-link {color:#e7cb94}
body.pumpkin-gold dialog,body.pumpkin-gold dialog.pumpkin-dialog {background:radial-gradient(ellipse at 90% 0,#c6993830,transparent 52%),#241c12;border-color:#a88848}
body.pumpkin-gold .dialog-close {background:#2d2315ed;border-color:#ccb27866;color:#fff0cf}
body.pumpkin-gold .quest-reward {background:#352919;border-color:#a58448}
body.pumpkin-gold .quest-dialog-head>p,body.pumpkin-gold .quest-reward p,body.pumpkin-gold .quest-hints p {color:#dfc99f}
body.pumpkin-gold .quest-save-note {color:#c6b086}
body.pumpkin-gold .quest-hints {border-top-color:#695030}
body.pumpkin-gold .toast {background:#ffe09a;color:#30200b}
body.pumpkin-gold ::selection {background:#9a7132;color:#fff8e6}

@media(max-width:1100px) {
  .quest-banner {margin-left:32px;margin-right:32px;gap:19px}
}
@media(max-width:780px) {
  .quest-banner {margin:12px 22px 0;padding:17px 19px;flex-wrap:wrap;gap:14px 18px}
  .quest-banner-copy {flex-basis:calc(100% - 162px)}
  .quest-banner-progress {flex-basis:134px}
  .quest-open {margin-left:auto}
  .quest-tracker {right:18px;min-width:89px}
  body.pumpkin-gold .halloween-banner:before {background:linear-gradient(90deg,#3b2b18 0%,#3b2b18eb 31%,#3b2b1877 68%,#211c1422)}
}
@media(max-width:558px) {
  .quest-banner {display:grid;grid-template-columns:minmax(0,1fr) auto;padding:16px 17px;gap:13px 17px}
  .quest-banner-copy {grid-column:1/-1}
  .quest-banner h2 {font-size:18px}
  .quest-banner p {font-size:11px}
  .quest-banner-progress {width:100%;min-width:0}
  .quest-open {font-size:11px;padding:10px 13px}
  .quest-eyebrow {font-size:8px;letter-spacing:1.5px}
  .quest-tracker {right:12px;bottom:max(14px,env(safe-area-inset-bottom));padding:9px 11px;min-width:84px;font-size:11px}
  .footer-note.pumpkin-host-footer {padding-right:92px;min-height:84px}
  body.halloween dialog.pumpkin-dialog {padding:30px 22px 23px;max-width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
  .quest-dialog-head {padding-right:22px}
  .quest-dialog-head h2 {font-size:30px;margin-top:9px}
  .quest-dialog-head>p {font-size:12px}
  .quest-dialog-progress {margin:21px 0}
  .quest-reward {padding:17px 14px;gap:13px}
  .quest-badge {flex-basis:65px;width:65px;height:76px}
  .quest-badge>svg {width:65px;height:76px}
  .quest-reward h3 {font-size:18px}
  .quest-reward p {font-size:11px}
  .quest-reward-actions>.button {flex-basis:100%}
  body.halloween .updates-tools.pumpkin-host-updates {padding-right:17px;padding-bottom:66px}
  .pumpkin-host-updates>.quest-pumpkin {right:13px;bottom:10px}
  body.pumpkin-gold .halloween-banner:before {background:linear-gradient(90deg,#3b2b18f5 0%,#3b2b18d9 40%,#3b2b1855 100%)}
}
@media(max-width:360px) {
  .quest-banner {gap:12px;padding:15px}
  .quest-open {padding-left:10px;padding-right:10px}
  .quest-banner-progress b {font-size:17px}
  body.halloween dialog.pumpkin-dialog {padding-left:18px;padding-right:18px}
  .quest-dialog-head h2 {font-size:27px;letter-spacing:-.7px}
  .quest-reward {gap:10px;padding:15px 12px}
  .quest-reward h3 {font-size:16px}
  .quest-badge {flex-basis:55px;width:55px}
  .quest-badge>svg {width:55px}
  .footer-note.pumpkin-host-footer {padding-right:60px}
}
@media(prefers-reduced-motion:reduce) {
  .quest-pumpkin,.quest-open,.quest-tracker,.quest-banner progress::-webkit-progress-value,.pumpkin-dialog progress::-webkit-progress-value {transition:none}
  .quest-pumpkin:hover {transform:none}
  .quest-celebrate .quest-badge {animation:none}
}
