/* Nancy Monster Mansion: shared series design (white cover + devil rain, PP Editorial + DM Sans, ink-edged pink arcade buttons) */
@font-face{font-family:"PP Editorial New";src:url(PPEditorialNew-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
:root{
  --ink:#1b0f16;
  --pink:#e8288e;
  --butter:#fae35a;
  --lime:#c6f432;
  --cream:#fff8f2;
  --blush:#fff7fb;
  --glass:rgba(27,15,22,.55);
  --display:"PP Editorial New",Georgia,serif;
  --ui:"DM Sans",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}

/* 18+ ink capsule with a pink seal */
.stamp{display:inline-flex;align-items:center;gap:12px;padding:5px 18px 5px 5px;background:var(--ink);color:var(--cream);border-radius:999px;box-shadow:0 6px 18px rgba(27,15,22,.22)}
.stamp b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--pink);color:#fff;font:400 21px/1 var(--display);letter-spacing:-.02em;padding-top:2px}
.stamp span{font:700 11.5px/1 var(--ui);text-transform:uppercase;letter-spacing:.24em;white-space:nowrap}

/* chunky arcade button: hard ink drop edge that presses down */
.play{font:700 21px var(--ui);text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--pink);border:3px solid var(--ink);border-radius:999px;
  padding:19px 44px;min-width:min(100%,290px);cursor:pointer;box-shadow:0 7px 0 var(--ink),0 14px 30px rgba(232,40,142,.35);transition:transform .08s,box-shadow .08s;animation:pulse 1.8s ease-in-out infinite;text-decoration:none;display:inline-block;text-align:center}
.play:active{transform:translateY(6px);box-shadow:0 1px 0 var(--ink),0 6px 14px rgba(232,40,142,.3);animation:none}
@keyframes pulse{0%,100%{scale:1}50%{scale:1.04}}
.link{background:none;border:0;color:var(--ink);font:700 15px var(--ui);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px;padding:12px 16px;cursor:pointer}
.link.small{font-weight:600;font-size:13px;padding:4px 12px;opacity:.7}

/* sheets + pop-ups */
.sheet-wrap{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;background:rgba(27,15,22,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.sheet-wrap.center{align-items:center;padding:16px}
.panel{position:relative;width:100%;max-height:92%;overflow-y:auto;background:#fff;color:var(--ink);border:3px solid var(--ink);border-bottom:0;border-radius:28px 28px 0 0;
  padding:26px 22px calc(env(safe-area-inset-bottom,0px) + 22px);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;animation:up .28s cubic-bezier(.2,.9,.3,1.2)}
@keyframes up{from{transform:translateY(100%)}}
.panel h2{margin:0;font:400 clamp(34px,9.5vw,46px)/.95 var(--display);font-style:normal}
.panel .play{animation:none}
.fine{margin:0;font-size:14px;line-height:1.4;max-width:32ch;opacity:.8}
.panel.pop{width:min(100%,400px);max-height:none;overflow:visible;gap:14px;padding:22px 16px 18px;border:3px solid var(--ink);border-radius:28px;box-shadow:0 10px 0 var(--ink),0 24px 50px rgba(27,15,22,.35);animation:pop .32s cubic-bezier(.2,.9,.3,1.35)}
@keyframes pop{from{transform:scale(.85);opacity:0}}
.pop h2{font-size:clamp(38px,11vw,48px);line-height:.95;letter-spacing:-.01em}
.pop h2 mark,.mark{background:var(--butter);color:var(--ink);border-radius:10px;padding:0 .14em;box-shadow:0 3px 0 var(--ink)}
.scarce{margin:-4px 0 2px;font:700 12px/1.3 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--pink)}
.scarce b{color:var(--ink)}
.quests{list-style:none;margin:0;padding:0;display:grid;gap:8px;width:100%;text-align:left}
.quests li{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:11px 12px;border:2px solid var(--ink);border-radius:16px;background:var(--blush);font-size:15px;line-height:1.25;box-shadow:0 3px 0 var(--ink);overflow-wrap:anywhere}
.quests b{color:var(--pink)}
.handles{display:block;margin-top:3px;font:700 12px var(--ui);color:var(--ink);opacity:.75}
.q-ico{font-size:22px;text-align:center}
.xp{font:700 12px var(--ui);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:5px 10px;border-radius:999px;background:var(--butter);border:2px solid var(--ink)}
.pop .play{width:100%;padding:17px 30px;font-size:19px}
.fine-print{margin:-4px 0 0;font:500 11px/1.4 var(--ui);color:var(--ink);opacity:.55}
.x{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:2px solid var(--ink);background:#fff;color:var(--ink);font:700 22px/1 var(--ui);cursor:pointer;display:grid;place-items:center}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.play{animation:none}.panel{animation:none}}

/* approved doors card (v4, from the Medusa filter): more air, "+1 DOOR" pills on each title line, yellow feature box */
.pop.v4{gap:14px;padding:22px 16px 20px}
.pop.v4 h2{font-size:clamp(30px,8.6vw,40px);line-height:1;padding:0 26px;text-wrap:balance}
.pop.v4 h2 em{display:inline-block;color:var(--pink);font-style:normal}
.pop.v4 .prize{margin:-4px 0 2px;font:600 15px/1.4 var(--ui);max-width:32ch}
.pop.v4 .prize b{color:var(--pink)}
.pop.v4 .quests{gap:10px}
.pop.v4 .quests li{grid-template-columns:28px 1fr auto;gap:10px;align-items:start;padding:12px 14px;font-size:15px;line-height:1.35;border-radius:18px}
.pop.v4 .qt b{font-size:16px}   /* the pink starting word runs straight into its sentence */
.pop.v4 .quests .xp{align-self:start}
.pop.v4 .q-ico{font-size:22px;padding-top:2px}
.pop.v4 .qh{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px}
.pop.v4 .qh b{font-size:16px}
.pop.v4 .ig{font-weight:700;color:var(--ink)}
.pop.v4 .xp{font-size:12.5px;letter-spacing:.06em;padding:7px 12px;white-space:nowrap}
.pop.v4 .feature{margin:2px 0 0;width:100%;display:flex;gap:12px;align-items:center;text-align:left;font-size:14px;line-height:1.4;padding:14px 16px;border-radius:16px;background:var(--butter)}
.pop.v4 .feature b{color:var(--ink)}
.pop.v4 .stamp{margin:0}
