/* Candy-wonderland checkout, deliberately scoped to the standalone purchase page. */
body.app-section-purchase { background: #250a35; color: #fff7fb; }

body.app-section-purchase .app-shell {
  background:
    radial-gradient(circle at 12% 16%, rgba(255, 213, 150, .32), transparent 28rem),
    radial-gradient(circle at 90% 20%, rgba(140, 222, 255, .22), transparent 30rem),
    linear-gradient(135deg, #220d20 0%, #613227 48%, #183e5b 100%);
}

body.app-section-purchase .market-head,
body.app-section-purchase .mode-tabs,
body.app-section-purchase .discovery,
body.app-section-purchase .ad,
body.app-section-purchase #sentinel { display: none; }

body.app-section-purchase .market-stage { display: block; min-height: calc(100vh - 148px); background: transparent; }
body.app-section-purchase .listing-stream { width: 100%; max-width: none; overflow: visible; }

body.app-section-purchase .app-section-page {
  position: relative;
  isolation: isolate;
  min-height: calc(100vh - 148px);
  overflow: hidden;
  padding: clamp(26px, 4vw, 72px) clamp(18px, 5vw, 88px) 96px;
  background: linear-gradient(135deg, rgba(66, 20, 36, .82), rgba(17, 53, 79, .8)), radial-gradient(circle at 50% -10%, rgba(255, 244, 220, .24), transparent 42rem);
}

body.app-section-purchase .app-section-page::before,
body.app-section-purchase .app-section-page::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -18% -8%;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 9% 84%, rgba(255,255,255,.76) 0 7px, rgba(255,183,228,.3) 8px 13px, transparent 14px),
    radial-gradient(circle at 25% 70%, rgba(255,255,255,.6) 0 13px, rgba(120,230,255,.24) 14px 23px, transparent 24px),
    radial-gradient(circle at 47% 95%, rgba(255,255,255,.68) 0 8px, rgba(255,207,87,.3) 9px 17px, transparent 18px),
    radial-gradient(circle at 71% 80%, rgba(255,255,255,.64) 0 15px, rgba(255,106,194,.26) 16px 27px, transparent 28px),
    radial-gradient(circle at 91% 68%, rgba(255,255,255,.55) 0 7px, rgba(126,194,255,.28) 8px 14px, transparent 15px);
  background-size: 36rem 42rem, 44rem 54rem, 31rem 37rem, 54rem 58rem, 41rem 46rem;
  background-repeat: repeat;
  filter: blur(.15px) drop-shadow(0 0 13px rgba(255, 194, 238, .38));
  opacity: .72;
  animation: checkout-bubbles-rise 18s linear infinite;
}

body.app-section-purchase .app-section-page::after { opacity: .4; transform: scale(1.35) rotate(180deg); animation-duration: 28s; animation-direction: reverse; }

/* A small, parallax-like gingerbread village lives behind the checkout cards. */
body.app-section-purchase .gingerbread-village { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
body.app-section-purchase .cookie-house { position: absolute; bottom: 4%; width: 142px; height: 110px; border: 7px solid #ffe9cb; border-radius: 9px 9px 18px 18px; background: repeating-linear-gradient(90deg, #a95733 0 18px, #c87543 19px 36px); box-shadow: 0 12px 30px rgba(17, 5, 11, .35), inset 0 0 0 3px #8c402d; opacity: .7; animation: gingerbread-sway 7s ease-in-out infinite alternate; }
body.app-section-purchase .cookie-house::before { content: ''; position: absolute; left: -17px; top: -82px; width: 0; height: 0; border-left: 81px solid transparent; border-right: 81px solid transparent; border-bottom: 82px solid #f5d7bd; filter: drop-shadow(0 -5px 0 #b85b45); }
body.app-section-purchase .cookie-house::after { content: ''; position: absolute; left: 52px; bottom: -7px; width: 31px; height: 53px; border: 5px solid #ffe8c9; border-bottom: 0; border-radius: 17px 17px 0 0; background: #693122; }
body.app-section-purchase .cookie-house b { position: absolute; top: 23px; left: 17px; width: 23px; height: 23px; border: 5px solid #fff0c7; border-radius: 50%; background: #72c9e4; box-shadow: 69px 0 0 -5px #72c9e4, 69px 0 0 0 #fff0c7; }
body.app-section-purchase .cookie-house em { position: absolute; z-index: 1; left: 18px; top: -76px; width: 108px; height: 7px; border-radius: 100%; background: #fff7e8; box-shadow: 0 11px 0 -1px #fff7e8, 0 23px 0 -2px #fff7e8; transform: rotate(-1deg); }
body.app-section-purchase .cookie-house-left { left: 3%; transform: scale(.86); }
body.app-section-purchase .cookie-house-right { right: 4%; bottom: 7%; transform: scale(1.05) scaleX(-1); animation-delay: -3s; }

body.app-section-purchase .candy-cane { position: absolute; bottom: 11%; width: 27px; height: 178px; border: 7px solid #fff3de; border-radius: 25px 25px 12px 12px; background: repeating-linear-gradient(135deg, #e74258 0 11px, #fff2df 12px 22px); box-shadow: 0 10px 24px rgba(31, 2, 15, .35); opacity: .72; transform-origin: bottom center; animation: cane-bob 4.5s ease-in-out infinite alternate; }
body.app-section-purchase .candy-cane::before { content: ''; position: absolute; top: -43px; left: -7px; width: 67px; height: 60px; border: 7px solid #fff3de; border-left: 0; border-bottom: 0; border-radius: 0 46px 0 0; background: repeating-linear-gradient(135deg, #e74258 0 11px, #fff2df 12px 22px); }
body.app-section-purchase .candy-cane-left { left: 15%; transform: rotate(-12deg); }
body.app-section-purchase .candy-cane-right { right: 17%; transform: rotate(11deg) scaleX(-1); animation-delay: -2s; }
body.app-section-purchase .gumdrop { position:absolute; bottom: 5%; width: 51px; height: 36px; border-radius: 50% 50% 20px 20px; background: linear-gradient(135deg, #ffeb8c, #ee8b2c); box-shadow: inset 9px 8px 0 rgba(255,255,255,.35), 0 9px 19px rgba(32,4,13,.35); opacity:.72; animation: gumdrop-hop 3.8s ease-in-out infinite; }
body.app-section-purchase .gumdrop-one { left: 27%; background:linear-gradient(135deg,#ffb1e1,#d94d9c); animation-delay:-1s; }
body.app-section-purchase .gumdrop-two { right: 29%; background:linear-gradient(135deg,#baf5ff,#3c95d5); animation-delay:-2.1s; }
body.app-section-purchase .gumdrop-three { right: 9%; bottom: 22%; animation-delay:-.4s; }

@keyframes gingerbread-sway { to { translate: 0 -9px; rotate: 1deg; } }
@keyframes cane-bob { to { translate: 0 -14px; } }
@keyframes gumdrop-hop { 50% { translate: 0 -16px; } }

@keyframes checkout-bubbles-rise {
  from { background-position: 0 0, 8rem 14rem, 15rem 2rem, 24rem 18rem, 31rem 9rem; }
  to { background-position: 8rem -44rem, 3rem -54rem, 25rem -36rem, 15rem -58rem, 44rem -46rem; }
}

body.app-section-purchase .app-section-intro,
body.app-section-purchase .app-section-content { position: relative; z-index: 1; max-width: 1440px; margin-inline: auto; }

body.app-section-purchase .app-section-intro {
  padding: clamp(24px, 4vw, 52px);
  border: 1px solid rgba(255, 235, 253, .56);
  border-radius: 30px 30px 18px 18px;
  color: #fff;
  background: linear-gradient(115deg, rgba(164, 72, 57, .93), rgba(198, 109, 56, .88) 53%, rgba(45, 119, 143, .86));
  box-shadow: 0 20px 55px rgba(14, 0, 33, .36), inset 0 1px rgba(255,255,255,.44);
}

body.app-section-purchase .app-section-intro span { color: #fff4a5; letter-spacing: .14em; }
body.app-section-purchase .app-section-intro h1 { margin: .3rem 0 .65rem; font-size: clamp(2.2rem, 5vw, 4.65rem); color: #fff; text-shadow: 0 3px 0 rgba(92, 45, 22, .55); }
body.app-section-purchase .app-section-intro p { max-width: 48rem; margin: 0; color: #fff7fc; font-size: 1.05rem; }
body.app-section-purchase .app-section-content { padding-top: 24px; }

body.app-section-purchase .purchase-checkout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr); align-items: start; gap: clamp(18px, 2.4vw, 34px); margin: 0; }
body.app-section-purchase .purchase-fields,
body.app-section-purchase .purchase-review {
  border: 1px solid rgba(255, 238, 252, .5);
  border-radius: 24px;
  padding: clamp(18px, 2.2vw, 30px);
  background: linear-gradient(155deg, rgba(78, 34, 39, .93), rgba(40, 67, 86, .88));
  box-shadow: 0 20px 42px rgba(19, 0, 34, .28), inset 0 1px rgba(255,255,255,.16);
  backdrop-filter: blur(15px);
}

body.app-section-purchase .purchase-review { position: sticky; top: 88px; background: linear-gradient(155deg, rgba(107, 51, 41, .95), rgba(31, 78, 98, .92)); }
body.app-section-purchase .purchase-fields > header,
body.app-section-purchase .purchase-review > header { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 24px; }
body.app-section-purchase .purchase-fields > header > span,
body.app-section-purchase .purchase-review > header > span { display:grid; place-items:center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; background: #ffdc58; color: #6f1a69; font-weight: 900; box-shadow: 0 3px 0 #c06d19; }
body.app-section-purchase .purchase-fields header b,
body.app-section-purchase .purchase-review header b { display:block; color:#fff; font-size:1.22rem; }
body.app-section-purchase .purchase-fields header small,
body.app-section-purchase .purchase-review header small { display:block; margin-top:4px; color:#f8ddf2; line-height:1.45; }

body.app-section-purchase .purchase-checkout label,
body.app-section-purchase .purchase-checkout legend,
body.app-section-purchase .shipping-address-fields h3 { color: #fff8fd; }
body.app-section-purchase .purchase-checkout input,
body.app-section-purchase .purchase-checkout select { border: 1px solid rgba(255, 211, 244, .64); border-radius: 12px; background: rgba(20, 8, 46, .78); color: #fff; box-shadow: inset 0 1px 7px rgba(0,0,0,.18); }
body.app-section-purchase .purchase-checkout input:focus,
body.app-section-purchase .purchase-checkout select:focus { outline: 3px solid rgba(255, 217, 91, .62); outline-offset: 2px; border-color: #fff0a0; }
body.app-section-purchase .purchase-checkout input[readonly] { color: #ffeaa6; background: rgba(64, 25, 35, .76); }
body.app-section-purchase .purchase-checkout option { background: #542f31; color: #fff; }
body.app-section-purchase .shipping-address-fields { border-color: rgba(255, 208, 243, .38); background: rgba(255, 113, 189, .08); border-radius: 18px; }
body.app-section-purchase .shipping-address-fields p,
body.app-section-purchase .purchase-checkout small,
body.app-section-purchase .policy-note { color: #f4d9ee; }
body.app-section-purchase .payment-methods { border-color: rgba(130, 225, 255, .54); border-radius: 18px; background: rgba(57, 145, 214, .12); }
body.app-section-purchase .payment-method { border-color: rgba(255, 218, 111, .62); border-radius: 14px; background: linear-gradient(100deg, rgba(255, 193, 75, .24), rgba(255, 105, 199, .17)); }
body.app-section-purchase .payment-method:has(input:checked) { border-color: #ffe760; box-shadow: 0 0 0 2px rgba(255, 218, 70, .25), 0 8px 18px rgba(255, 112, 196, .18); }

body.app-section-purchase .purchase-item-summary { border: 1px solid rgba(255, 239, 164, .55); border-radius: 18px; background: rgba(42, 11, 65, .66); overflow: hidden; }
body.app-section-purchase .purchase-item-summary img { background: #1d0a34; }
body.app-section-purchase .purchase-item-summary b { color: #fff; }
body.app-section-purchase .purchase-item-summary small { color: #ffdf79; }
body.app-section-purchase .purchase-item-summary span { color: #d6f6ff; }
body.app-section-purchase .fee-summary { border-color: rgba(109, 247, 205, .68); border-radius: 17px; background: linear-gradient(135deg, rgba(18, 96, 88, .64), rgba(43, 41, 111, .66)); color: #edfffa; }
body.app-section-purchase .fee-summary b { color: #fff18d; }
body.app-section-purchase .fee-summary strong { color: #a9ffda; }
body.app-section-purchase .purchase-agreement { border-color: rgba(255, 219, 102, .65); border-radius: 14px; background: rgba(109, 54, 90, .42); }
body.app-section-purchase .paypal-button-container { min-height: 48px; border-radius: 14px; overflow: hidden; }
body.app-section-purchase .bottom-nav { background: rgba(31, 9, 51, .96); border-top-color: rgba(255, 179, 229, .34); }
body.app-section-purchase .site-legal-links { background: rgba(30, 7, 48, .9); }

@media (max-width: 900px) {
  body.app-section-purchase .app-section-page { padding-inline: 14px; }
  body.app-section-purchase .purchase-checkout { grid-template-columns: 1fr; }
  body.app-section-purchase .purchase-review { position: static; }
  body.app-section-purchase .gingerbread-village { opacity: .38; }
  body.app-section-purchase .cookie-house-right,
  body.app-section-purchase .candy-cane-right { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  body.app-section-purchase .app-section-page::before,
  body.app-section-purchase .app-section-page::after { animation: none; }
}

/* Gothic checkout override: storm clouds, rain, castle silhouettes, and gargoyles. */
body.app-section-purchase { background: #070b12; color: #edf1f7; }
body.app-section-purchase .app-shell { background: radial-gradient(circle at 50% -25%, #35445d, transparent 44rem), linear-gradient(145deg, #05070b, #101824 55%, #15111c); }
body.app-section-purchase .app-section-page { background: linear-gradient(135deg, rgba(2, 5, 10, .8), rgba(10, 17, 29, .78)), radial-gradient(ellipse at 50% 0%, rgba(84, 104, 132, .2), transparent 50rem); }
body.app-section-purchase .app-section-page::before,
body.app-section-purchase .app-section-page::after {
  display: none;
}

body.app-section-purchase .gothic-checkout-scene { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; }
body.app-section-purchase .gothic-checkout-scene {
  background:
    linear-gradient(90deg, rgba(3,6,11,.15), rgba(3,6,11,.52) 46%, rgba(3,6,11,.2)),
    url('/public/gothic-checkout-castle.png') center / cover no-repeat;
  opacity: .96;
  filter: saturate(.86) contrast(1.06);
}
body.app-section-purchase .gothic-checkout-scene::before,
body.app-section-purchase .gothic-checkout-scene::after {
  content:'';
  position:absolute;
  inset:-150px 0;
  background:url('/public/gothic-heavy-rain.png') center / cover no-repeat;
  mix-blend-mode:screen;
  opacity:.24;
  filter:contrast(1.04) saturate(.72) blur(.18px);
  animation:hard-rain-fall 7.2s linear infinite;
  will-change:transform;
}
body.app-section-purchase .gothic-checkout-scene::after { animation-delay:-2.35s; animation-duration:4.9s; opacity:.34; filter:contrast(1.18) saturate(.82) blur(.06px); }
@keyframes hard-rain-fall { from { transform:translate3d(-12px, -150px, 0); } to { transform:translate3d(18px, 150px, 0); } }
body.app-section-purchase .gothic-checkout-scene > * { display: none; }
body.app-section-purchase .moon { position:absolute; top:8%; left:46%; width:156px; height:156px; border-radius:50%; background:radial-gradient(circle at 34% 31%, #fff, #c8d3dd 62%, #748497); opacity:.23; box-shadow:0 0 70px 28px rgba(202,219,239,.2); }
body.app-section-purchase .castle { position:absolute; bottom:-2px; width:250px; height:330px; background:linear-gradient(90deg, #111827, #253142 48%, #111827); clip-path:polygon(0 100%, 0 16%, 12% 16%, 12% 0, 23% 16%, 40% 16%, 40% 0, 52% 16%, 68% 16%, 68% 0, 80% 16%, 80% 100%); opacity:.78; filter:drop-shadow(0 0 25px rgba(0,0,0,.8)); }
body.app-section-purchase .castle::before { content:''; position:absolute; inset:33% 16% 0; background:repeating-linear-gradient(90deg, transparent 0 28px, rgba(114,133,150,.32) 29px 31px), repeating-linear-gradient(0deg, transparent 0 23px, rgba(114,133,150,.22) 24px 26px); }
body.app-section-purchase .castle b { position:absolute; top:42%; width:13px; height:30px; border-radius:12px 12px 0 0; background:#e7c56a; box-shadow:0 0 13px rgba(255,212,100,.65); }
body.app-section-purchase .castle b:nth-child(1) { left:34px; } body.app-section-purchase .castle b:nth-child(2) { left:105px; } body.app-section-purchase .castle b:nth-child(3) { right:37px; }
body.app-section-purchase .castle-left { left:-34px; transform:scale(1.18); } body.app-section-purchase .castle-right { right:-48px; transform:scale(1.04) scaleX(-1); }
body.app-section-purchase .gargoyle { position:absolute; bottom:27%; color:#1c2632; font-family:Georgia,serif; font-size:90px; font-style:normal; line-height:1; text-shadow:0 8px 7px #030508, 0 0 16px rgba(132,153,175,.2); opacity:.9; animation:gargoyle-watch 5s ease-in-out infinite alternate; }
body.app-section-purchase .gargoyle-left { left:13%; } body.app-section-purchase .gargoyle-right { right:14%; transform:scaleX(-1); animation-delay:-2.4s; }
@keyframes gargoyle-watch { to { translate:0 -7px; } }

body.app-section-purchase .app-section-intro { border:1px solid #7d8b99; border-radius:4px; background:linear-gradient(110deg, rgba(15,20,29,.96), rgba(33,42,55,.93) 55%, rgba(13,18,26,.96)); box-shadow:0 22px 56px rgba(0,0,0,.56), inset 0 0 0 3px rgba(6,9,14,.62), inset 0 1px rgba(218,232,247,.18); }
body.app-section-purchase .app-section-intro::before { content:'✦  SECURE COLLECTOR CHECKOUT  ✦'; display:block; width:max-content; max-width:100%; margin-bottom:14px; padding:6px 10px; color:#dec17c; border:1px solid rgba(201,171,99,.58); background:rgba(4,7,11,.6); font:700 .67rem/1.1 'DM Mono',monospace; letter-spacing:.12em; }
body.app-section-purchase .app-section-intro span { color:#b5c9df; } body.app-section-purchase .app-section-intro h1 { color:#f0f2f4; text-shadow:0 3px 0 #06080d; } body.app-section-purchase .app-section-intro p { color:#c6d0dc; }
body.app-section-purchase .purchase-fields,
body.app-section-purchase .purchase-review { border:1px solid rgba(136,151,168,.7); border-radius:4px; background:linear-gradient(155deg, rgba(15,22,31,.96), rgba(30,40,52,.94)); box-shadow:0 20px 42px rgba(0,0,0,.55), inset 0 0 0 3px rgba(3,6,10,.56), inset 0 1px rgba(226,236,247,.12); }
body.app-section-purchase .purchase-fields { background:linear-gradient(155deg, rgba(18,25,35,.97), rgba(35,43,54,.94)); }
body.app-section-purchase .purchase-review { background:linear-gradient(155deg, rgba(23,30,40,.98), rgba(18,45,51,.95)); }
body.app-section-purchase .purchase-fields > header > span,
body.app-section-purchase .purchase-review > header > span { border:1px solid #dec27b; border-radius:2px; background:linear-gradient(145deg,#e1c57d,#856435); color:#11141a; box-shadow:0 3px 0 #413321, inset 0 1px rgba(255,255,255,.46); }
body.app-section-purchase .purchase-fields > header,
body.app-section-purchase .purchase-review > header { position:relative; padding-bottom:17px; }
body.app-section-purchase .purchase-fields > header::after,
body.app-section-purchase .purchase-review > header::after { content:'✦'; position:absolute; bottom:0; left:0; right:0; color:#b79556; font-size:.7rem; letter-spacing:.75rem; white-space:nowrap; overflow:hidden; opacity:.82; }
body.app-section-purchase .purchase-checkout label,
body.app-section-purchase .purchase-checkout legend,
body.app-section-purchase .shipping-address-fields h3 { color:#ecf0f5; }
body.app-section-purchase .purchase-checkout input,
body.app-section-purchase .purchase-checkout select { border-color:rgba(141,160,181,.7); border-radius:4px; background:rgba(4,8,14,.78); color:#edf2f7; }
body.app-section-purchase .purchase-checkout input,
body.app-section-purchase .purchase-checkout select { min-height:46px; padding-inline:13px; box-shadow:inset 0 1px 0 rgba(205,222,239,.1), 0 5px 12px rgba(0,0,0,.14); }
body.app-section-purchase .purchase-checkout input:focus,
body.app-section-purchase .purchase-checkout select:focus { outline-color:rgba(190,159,89,.62); border-color:#d2b46d; }
body.app-section-purchase .purchase-checkout input[readonly],
body.app-section-purchase .purchase-checkout option { background:#101722; color:#e8c977; }
body.app-section-purchase .shipping-address-fields { border-color:rgba(114,139,163,.42); background:rgba(53,74,99,.18); border-radius:6px; }
body.app-section-purchase .shipping-address-fields p,
body.app-section-purchase .purchase-checkout small,
body.app-section-purchase .policy-note { color:#bbc6d2; }
body.app-section-purchase .payment-methods { border-color:rgba(104,132,158,.58); border-radius:6px; background:rgba(42,66,83,.18); }
body.app-section-purchase .payment-method { border-color:rgba(162,140,85,.58); border-radius:3px; background:linear-gradient(100deg, rgba(94,75,41,.28), rgba(50,71,88,.2)); }
body.app-section-purchase .payment-method:has(input:checked) { border-color:#d1b06a; box-shadow:0 0 0 2px rgba(198,159,83,.22), 0 8px 18px rgba(0,0,0,.24); }
body.app-section-purchase .payment-method { transition:border-color .18s ease, transform .18s ease, background .18s ease; }
body.app-section-purchase .payment-method:hover { border-color:#d1b06a; background:linear-gradient(100deg, rgba(111,89,46,.42), rgba(58,83,101,.32)); transform:translateY(-1px); }
body.app-section-purchase .purchase-item-summary { border-color:rgba(174,150,89,.48); border-radius:3px; background:rgba(7,13,21,.78); }
body.app-section-purchase .purchase-item-summary small { color:#ceb46e; }
body.app-section-purchase .fee-summary { border-color:rgba(94,145,137,.68); border-radius:3px; background:linear-gradient(135deg, rgba(17,64,65,.7), rgba(25,42,55,.8)); box-shadow:inset 0 0 0 2px rgba(4,13,18,.45); }
body.app-section-purchase .fee-summary b { color:#ddc37e; } body.app-section-purchase .fee-summary strong { color:#aae1ce; }
body.app-section-purchase .purchase-agreement { border-color:rgba(177,145,77,.62); border-radius:5px; background:rgba(66,53,29,.38); }
body.app-section-purchase .purchase-agreement { padding:14px; line-height:1.45; }
body.app-section-purchase .bottom-nav { background:rgba(7,10,15,.97); border-top-color:rgba(133,151,170,.34); } body.app-section-purchase .site-legal-links { background:rgba(7,10,15,.92); }
body.app-section-purchase .paypal-button-container { border:1px solid rgba(180,151,86,.48); background:rgba(5,9,14,.44); padding:8px; }
.paypal-sdk-target { min-height:45px; }
.paypal-load-state { display:flex; align-items:center; flex-wrap:wrap; gap:7px 10px; margin-top:8px; padding:8px 10px; border:1px solid rgba(148,169,190,.34); background:rgba(7,13,20,.72); color:#c8d4df; font:600 .68rem/1.35 "DM Mono",monospace; }
.paypal-load-state b { color:#e0c47d; }.paypal-load-state span { flex:1 1 170px; }.paypal-load-state button { border:1px solid #9f8350; background:#182530; color:#f0d887; padding:5px 8px; font:700 .62rem "DM Mono",monospace; cursor:pointer; }.paypal-load-state.is-error { border-color:#b56b6b; color:#f2c4c4; }

@media (max-width: 900px) { body.app-section-purchase .gothic-checkout-scene { opacity:.45; } body.app-section-purchase .castle-right, body.app-section-purchase .gargoyle-right { display:none; } }
@media (prefers-reduced-motion: reduce) { body.app-section-purchase .app-section-page::before, body.app-section-purchase .app-section-page::after, body.app-section-purchase .gargoyle, body.app-section-purchase .gothic-checkout-scene::before, body.app-section-purchase .gothic-checkout-scene::after { animation:none; } }

/* Original gothic action game for the secure checkout page. */
.gothic-hunt-game-host { width:min(100%, 940px); margin:30px auto 0; }
.gothic-hunt-game { border:1px solid rgba(179,150,88,.72); background:#070b12; box-shadow:0 20px 38px rgba(0,0,0,.46), inset 0 0 0 3px rgba(1,4,8,.82); color:#e9e3d4; overflow:hidden; }
.gothic-hunt-game header,.gothic-hunt-game footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; border-bottom:1px solid rgba(139,153,171,.42); font:700 .72rem/1.1 "DM Mono",monospace; letter-spacing:.08em; }
.gothic-hunt-game header b { color:#dbc078; }.gothic-hunt-game header span { color:#b9c9d9; font-size:.64rem; }.gothic-hunt-game footer { border-top:1px solid rgba(139,153,171,.42); border-bottom:0; flex-wrap:wrap; }.gothic-hunt-game footer small { color:#aeb8c6; }
.gothic-hunt-game footer div { display:flex; gap:5px; }.gothic-hunt-game button { min-width:47px; border:1px solid #7d6c43; background:linear-gradient(180deg,#28333e,#111820); color:#f0d887; padding:7px 9px; font:700 .64rem "DM Mono",monospace; cursor:pointer; }.gothic-hunt-game button:hover { background:#34424d; border-color:#d0b96f; }
.gothic-hunt-field { position:relative; isolation:isolate; contain:layout paint style; height:290px; overflow:hidden; background-position:calc(var(--run-scroll) * -.14) 0,calc(var(--run-scroll) * -.32) 0,0 0; background-image:radial-gradient(ellipse at 68% 17%,rgba(196,205,217,.23) 0 15px,transparent 16px),repeating-linear-gradient(90deg,transparent 0 110px,rgba(80,95,116,.38) 112px 118px,transparent 120px 230px),linear-gradient(#0b1423 0%,#141b2d 56%,#0a1118 57%,#05080c 100%); }
.gothic-hunt-field::before { content:''; position:absolute; inset:-18%; opacity:.38; pointer-events:none; background:radial-gradient(ellipse at 18% 76%,rgba(141,157,174,.14),transparent 31%),radial-gradient(ellipse at 78% 34%,rgba(98,117,140,.12),transparent 28%),linear-gradient(0deg,rgba(173,190,207,.1),transparent 42%); filter:blur(10px); animation:gothic-hunt-fog 7s linear infinite; }
.gothic-hunt-moon { position:absolute; right:19%; top:17px; width:33px; height:33px; border-radius:50%; background:#e4e4d2; box-shadow:0 0 24px 8px rgba(193,208,221,.3); }.gothic-hunt-castle { position:absolute; right:7%; bottom:36px; color:#10131c; font-style:normal; font-size:95px; letter-spacing:-28px; text-shadow:0 -6px #0a0d13; transform:translateX(calc(var(--run-scroll) * .25)); }.gothic-hunt-ground { position:absolute; z-index:1; left:0; right:0; bottom:0; height:37px; background:repeating-linear-gradient(90deg,#151916 0 22px,#0c100e 23px 45px); background-position:calc(var(--run-scroll) * -.9) 0; border-top:2px solid #6b6049; }
.gothic-hunt-player,.gothic-hunt-enemy,.gothic-hunt-shot,.gothic-hunt-curse,.gothic-hunt-seal { position:absolute; z-index:3; bottom:calc(32px + var(--y)); left:var(--x); translate:-50% 0; font-style:normal; }.gothic-hunt-platform { position:absolute; z-index:2; left:var(--x); bottom:calc(31px + var(--y)); width:var(--width); height:14px; background:linear-gradient(#68717b 0 18%,#303943 19% 52%,#11161b 53%); border:1px solid #8f927f; border-bottom:5px solid #171b1d; box-shadow:inset 0 2px rgba(255,255,255,.18),0 6px 0 rgba(0,0,0,.34); }.gothic-hunt-platform::after { display:none; }.gothic-hunt-platform.is-ground { height:37px; bottom:0; opacity:0; }.gothic-hunt-seal { z-index:4; color:#f6d56d; font-size:20px; text-shadow:0 0 13px #ffe99a; animation:gothic-hunt-bob .85s ease-in-out infinite alternate; }.gothic-hunt-player { display:grid; place-items:center; width:31px; height:48px; border:2px solid #d8d5c7; background:linear-gradient(135deg,#4b5968,#17212b); color:#edcc78; font-size:21px; box-shadow:inset 0 0 0 4px #0b1016,0 5px 0 #050709; }.gothic-hunt-player.is-hit { animation:gothic-hunt-hit .12s steps(2) 8; }.gothic-hunt-enemy { font-size:34px; filter:drop-shadow(0 4px 0 #050508); animation:gothic-hunt-bob 1.2s ease-in-out infinite alternate; }.gothic-hunt-shot { color:#ffe892; font-size:21px; text-shadow:0 0 11px #fff2ac; }.gothic-hunt-curse { color:#ba75ce; font-size:16px; text-shadow:0 0 12px #d99cff; }.gothic-hunt-toast { position:absolute; z-index:5; inset:0; display:grid; place-items:center; background:rgba(3,5,9,.52); }.gothic-hunt-toast span { border:1px solid #bda766; background:#0c121a; color:#e6cf8f; padding:11px 16px; font:700 .76rem "DM Mono",monospace; text-align:center; }
@keyframes gothic-hunt-fog { from { transform:translateX(-4%); } to { transform:translateX(4%); } } @keyframes gothic-hunt-bob { to { translate:-50% -7px; } } @keyframes gothic-hunt-hit { 50% { opacity:.16; filter:brightness(2.6); } }
.gothic-hunt-water { position:absolute; z-index:1; left:var(--x); bottom:31px; width:var(--width); height:47px; overflow:hidden; background:linear-gradient(180deg,rgba(116,185,220,.16),rgba(27,93,137,.72)); border-top:2px solid #a9e9fb; box-shadow:inset 0 12px 18px rgba(176,240,255,.16); animation:gothic-hunt-water 1.2s linear infinite; }
.gothic-hunt-field::after { content:''; position:absolute; z-index:0; inset:0; pointer-events:none; opacity:.42; background:radial-gradient(ellipse at 50% 115%,rgba(64,79,98,.26),transparent 55%),linear-gradient(90deg,rgba(2,4,7,.8),transparent 16% 84%,rgba(2,4,7,.8)); }
.gothic-hunt-field { background:#06090e; background-image:radial-gradient(ellipse at 50% 8%,rgba(70,85,105,.2),transparent 46%),repeating-linear-gradient(90deg,rgba(115,127,143,.07) 0 2px,transparent 2px 84px),linear-gradient(180deg,#111923 0%,#080d14 58%,#030507 100%); background-position:0 calc(var(--tower-scroll) * .08),0 0,0 0; }
.gothic-hunt-moon,.gothic-hunt-castle { display:none; }
.gothic-hunt-ground { bottom:calc(var(--tower-scroll) * -1); }.gothic-hunt-water { bottom:calc(31px - var(--tower-scroll)); }
.gothic-hunt-ladder { position:absolute; z-index:2; left:var(--x); bottom:31px; width:14px; height:var(--height); transform:translateX(-50%); border-inline:3px solid #a77a45; background:repeating-linear-gradient(0deg,transparent 0 9px,#d3a45b 10px 13px); box-shadow:0 0 0 1px rgba(30,17,7,.72); }
.gothic-hunt-ladder { width:24%; transform:none; border:0; clip-path:polygon(0 100%,100% 0,100% 100%); background:linear-gradient(135deg,#59636d 0 46%,#9ba5aa 47% 52%,#303944 53%); box-shadow:inset 0 -6px rgba(0,0,0,.35); }
.gothic-hunt-game footer small { font-size:0; }.gothic-hunt-game footer small::after { content:'Castle platformer · [ ] run up/down ramps · = leap / swim · ` ward · 1 block / deflect'; font-size:.64rem; }
.gothic-hunt-heart { position:absolute; z-index:4; bottom:calc(32px + var(--y)); left:var(--x); translate:-50% 0; color:#ff6c83; font:normal 21px serif; text-shadow:0 0 13px #ffbac5; animation:gothic-hunt-bob .75s ease-in-out infinite alternate; }
.gothic-hunt-player.is-swimming { animation:gothic-hunt-swim .55s ease-in-out infinite alternate; }
.gothic-hunt-player { font-size:0; width:30px; height:30px; border:0; background:transparent; box-shadow:none; }
.gothic-hunt-player::after { content:'🤖'; font-size:23px; filter:drop-shadow(0 0 4px #8ce8ff); }
.gothic-hunt-game-host.is-blocking .gothic-hunt-player { border-color:#fff2a6; box-shadow:inset 0 0 0 4px #17202a,0 0 0 6px rgba(164,232,255,.28),0 0 25px #d6f8ff; }
.gothic-hunt-game-host.is-blocking .gothic-hunt-player::before { content:'◈'; position:absolute; inset:-16px; display:grid; place-items:center; border:2px solid rgba(202,244,255,.9); border-radius:50%; color:#e6fbff; font-size:28px; animation:gothic-hunt-block .16s linear infinite alternate; }
.gothic-hunt-game footer small::after { content:' · 1 blocks / deflects'; color:#d5eff8; }
.gothic-hunt-game footer small::after { content:'Climb the castle · A/D or ←/→ move · [ ] move + aim · = leap · ` ward · 1 block / deflect'; color:#d5eff8; font-size:.64rem; }
.gothic-hunt-water { display:none; }
.gothic-hunt-game-host { position:relative; }
.gothic-hunt-game-host::before { display:none; }
.gothic-hunt-game header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; min-height:42px; }
.gothic-hunt-game header span { text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gothic-hunt-world-score { color:#f3d67c; font:700 .62rem/1 "DM Mono",monospace; font-style:normal; letter-spacing:.06em; white-space:nowrap; text-align:right; }
.sell-lava-game-host,.account-sailing-game-host,.auction-block-game-host,.jungle-chat-game-host,.rocket-game-hud,.puppy-game-hud { position:relative; }
.sell-lava-game-host[data-world-score]::after,.account-sailing-game-host[data-world-score]::after,.auction-block-game-host[data-world-score]::after,.jungle-chat-game-host[data-world-score]::after,.rocket-game-hud[data-world-score]::after,.puppy-game-hud[data-world-score]::after { display:none; }
.gothic-hunt-game-host[data-aim="left"] .gothic-hunt-player::after { transform:scaleX(-1); }
.gothic-hunt-boost,.gothic-hunt-barrel { position:absolute; z-index:4; left:var(--x); bottom:calc(32px + var(--y)); translate:-50% 0; font-style:normal; }
.gothic-hunt-boost { color:#b6f9ff; font:900 22px/1 sans-serif; text-shadow:0 0 5px #1ed9ff,0 0 14px #1f8ca9; animation:gothic-hunt-boost-pulse .6s ease-in-out infinite alternate; }
.gothic-hunt-barrel { font-size:25px; filter:drop-shadow(0 3px 2px #020304); animation:gothic-hunt-barrel-roll .42s linear infinite; }
.gothic-hunt-enemy.is-barrel-thrower { font-size:31px; filter:drop-shadow(0 4px 2px #180b04); }
.gothic-hunt-spike-pit { position:absolute; z-index:1; left:-8%; right:-8%; bottom:0; height:38px; background:repeating-linear-gradient(135deg,#761c27 0 12px,#17070b 13px 24px); clip-path:polygon(0 100%,3% 0,6% 100%,9% 0,12% 100%,15% 0,18% 100%,21% 0,24% 100%,27% 0,30% 100%,33% 0,36% 100%,39% 0,42% 100%,45% 0,48% 100%,51% 0,54% 100%,57% 0,60% 100%,63% 0,66% 100%,69% 0,72% 100%,75% 0,78% 100%,81% 0,84% 100%,87% 0,90% 100%,93% 0,96% 100%,100% 0,100% 100%); opacity:.9; }
.gothic-hunt-boss { position:absolute; z-index:5; left:var(--x); bottom:calc(32px + var(--y)); translate:-50% 0; color:#f3e5ee; font:normal 43px serif; filter:drop-shadow(0 0 10px #bd183b); animation:gothic-hunt-boss-float .9s ease-in-out infinite alternate; }
.gothic-hunt-boss b { position:absolute; left:50%; bottom:100%; translate:-50% -5px; min-width:max-content; color:#ffb8c3; font:700 .57rem/1 "DM Mono",monospace; letter-spacing:.06em; text-shadow:0 1px 2px #170007; }
@keyframes gothic-hunt-boss-float { to { translate:-50% -8px; filter:drop-shadow(0 0 17px #ef274f); } }
@keyframes gothic-hunt-boost-pulse { to { scale:1.23; filter:brightness(1.45); } }
@keyframes gothic-hunt-barrel-roll { to { rotate:360deg; } }
.gothic-hunt-game header b { font-size:0; }.gothic-hunt-game header b::after { content:'GOBLIN RUN'; font-size:.72rem; }
@keyframes gothic-hunt-block { to { scale:1.1; opacity:.65; } }
@keyframes gothic-hunt-water { to { background-position:28px 0; } } @keyframes gothic-hunt-swim { to { translate:-50% -4px; rotate:-7deg; } }
@media (max-width:650px) { .gothic-hunt-field { height:235px; }.gothic-hunt-game footer div { width:100%; justify-content:space-between; }.gothic-hunt-game button { min-width:0; flex:1; padding-inline:4px; }.gothic-hunt-game footer small { font-size:.58rem; } }
