/* V15: the home game invitation, the memory game, and the GV999-style dock. */
body[data-page="index"] .midnight-promo{position:relative;display:grid;grid-template-columns:58% 42%;min-height:300px;margin:64px auto 54px;overflow:hidden;border:1px solid #dba2bc66;border-radius:27px;background:radial-gradient(circle at 75% 16%,#864363 0%,transparent 52%),linear-gradient(120deg,#251827,#4c2942);box-shadow:0 19px 44px #2612222b;color:#fff}
.midnight-promo__copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:32px 7% 32px 8%}
.midnight-promo__copy .eyebrow{color:#ffc8dd;font-size:10px;letter-spacing:.16em}
.midnight-promo__copy h2{margin:11px 0 10px;font-size:clamp(38px,4.2vw,60px);line-height:1.01;letter-spacing:-.065em}
.midnight-promo__copy h2 em{color:#ffb8d3}
.midnight-promo__copy p{margin:0 0 23px;color:#f5dce8;font-size:14px;font-weight:600}
.midnight-promo__copy .btn{height:48px;gap:12px;border-radius:14px;padding:0 19px;box-shadow:0 9px 22px #170a1866}
.midnight-promo__copy .btn .icon{width:16px;height:16px}
.midnight-promo__art{position:relative;min-width:0;overflow:hidden}
.midnight-promo__art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#42253d 0%,#42253d00 32%),linear-gradient(0deg,#2518278c,transparent 45%);pointer-events:none}
.midnight-promo__art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 31%;filter:saturate(1.12) contrast(1.03)}

/* Game header is deliberately compact so the full board is visible sooner. */
body[data-page="midnight"] .midnight-hero{padding:27px 0 28px;background:radial-gradient(circle at 82% 30%,#85435e,transparent 45%),linear-gradient(130deg,#261628,#65314f)}
.midnight-hero__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.midnight-hero h1{font-size:clamp(41px,5.6vw,72px);margin:9px 0 8px}
.midnight-hero p{margin:0;color:#ffe5ef;font-size:14px;font-weight:600}
.midnight-hero__portrait{width:174px;height:174px;flex:none;overflow:hidden;border:3px solid #ffbed677;border-radius:50%;box-shadow:0 13px 30px #1a081a58}
.midnight-hero__portrait img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
body[data-page="midnight"] .midnight-room{padding-top:28px;padding-bottom:90px}
.midnight-room__top{margin-bottom:16px}
.midnight-room__top .midnight-stats{display:flex;gap:24px}
.midnight-stats span{color:#87546d;font-size:9px;font-weight:800;letter-spacing:.13em}
.midnight-stats b{color:#352333;font-size:24px;letter-spacing:-.055em}
.midnight-room__top .btn{height:40px;border-radius:12px;padding:0 15px;font-size:11px;box-shadow:0 5px 15px #50264212}
.match-grid{gap:12px;max-width:820px;margin:0 auto}
.match-card{aspect-ratio:1.04;border:0;border-radius:18px;background:#513249;box-shadow:0 8px 20px #47243c24;transition:transform .22s ease,box-shadow .22s ease}
.match-card:hover{transform:translateY(-3px);box-shadow:0 13px 27px #47243c35}
.match-card:focus-visible{outline:3px solid #cf578b;outline-offset:3px}
.match-card.is-open,.match-card.is-matched{box-shadow:0 0 0 3px #f0a4c2,0 10px 25px #a94a752d}
.match-card img{object-position:center 26%}
.match-card__back{gap:0;color:#fff0f5;background:radial-gradient(circle at 72% 22%,#9b5878 0%,#58314c 45%,#2d1d32 100%);transition:opacity .25s ease,transform .28s ease}
.match-card__back:before{inset:0;border:0;border-radius:0;background:radial-gradient(circle at 12% 88%,#ffb6d33b,transparent 40%)}
.match-card__back strong{position:relative;font-size:clamp(27px,4vw,43px);font-weight:800;font-style:italic;letter-spacing:-.095em;text-shadow:0 3px 12px #1b0b1b59}
.match-card__back small{position:absolute;right:13px;bottom:10px;font-size:9px;letter-spacing:.13em;color:#edbcd0}
.match-card.is-matched:after{content:"✓";position:absolute;z-index:3;top:9px;right:9px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f5c3d5;color:#3c2135;font-size:15px;font-weight:800;box-shadow:0 2px 8px #1e1025a8}
.match-status{max-width:820px;margin:17px auto 18px;min-height:22px;color:#63374f;font-size:13px}
.match-finish{max-width:820px;margin:0 auto 22px;display:flex;align-items:center;gap:13px;padding:15px 17px;border-radius:17px;background:linear-gradient(110deg,#3b2540,#743a5d);color:#fff;box-shadow:0 12px 27px #4d23422c}
.match-finish[hidden]{display:none}
.match-finish strong{font-size:17px;letter-spacing:-.035em}
.match-finish span{font-size:11px;color:#f4cadb}
.match-finish button{display:inline-flex;align-items:center;gap:7px;margin-left:auto;border:0;background:#ffc5d9;border-radius:10px;padding:9px 11px;color:#3c2135;font-size:11px;font-weight:800;cursor:pointer}
.match-finish button .icon{width:14px;height:14px}
.midnight-room__browse{display:inline-flex;margin-top:3px}

/* Four GV999 destinations stay visible; More holds the Mia-specific pages. */
@media(max-width:760px){
  .mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr));height:68px;padding:5px 6px;gap:1px}
  .mobile-nav a,.mobile-nav button{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:18px;background:transparent;color:#f1c9d9;font-family:inherit;font-size:9px;font-weight:700;line-height:1.1;text-decoration:none;cursor:pointer}
  .mobile-nav a .icon,.mobile-nav button .icon{width:21px;height:21px;flex:none}
  .mobile-nav a[aria-current],.mobile-nav button[aria-pressed="true"]{background:linear-gradient(135deg,#b44879,#df6698);box-shadow:inset 0 1px #ffffff5a,0 5px 14px #dc5f9463;color:#fff}
  body[data-page="index"] .midnight-promo{grid-template-columns:58% 42%;min-height:186px;width:calc(100% - 30px);margin:38px auto 34px;border-radius:20px}
  .midnight-promo__copy{padding:20px 0 20px 18px}
  .midnight-promo__copy .eyebrow{font-size:8px}
  .midnight-promo__copy h2{font-size:clamp(26px,7.2vw,34px);margin:8px 0;line-height:1.02}
  .midnight-promo__copy p{font-size:10px;line-height:1.35;max-width:165px;margin-bottom:13px}
  .midnight-promo__copy .btn{height:37px;padding:0 12px;gap:6px;border-radius:10px;font-size:10px}
  .midnight-promo__copy .btn .icon{width:13px;height:13px}
  .midnight-promo__art img{object-position:center 25%}
  body[data-page="midnight"] .midnight-hero{padding:25px 0 25px}
  .midnight-hero__inner{gap:9px}
  .midnight-hero h1{font-size:clamp(34px,9vw,45px);max-width:235px;margin:7px 0}
  .midnight-hero p{font-size:11px;max-width:210px;line-height:1.3}
  .midnight-hero__portrait{width:95px;height:95px;border-width:2px}
  body[data-page="midnight"] .midnight-room{padding-top:20px;padding-bottom:100px}
  .midnight-room__top{gap:8px;margin-bottom:15px}
  .midnight-room__top .midnight-stats{gap:13px}
  .midnight-stats span{font-size:8px}
  .midnight-stats b{font-size:19px;margin-top:3px}
  .midnight-room__top .btn{height:36px;padding:0 10px;font-size:10px}
  .match-grid{gap:8px}
  .match-card{aspect-ratio:1.02;border-radius:14px}
  .match-card__back strong{font-size:26px}
  .match-card__back small{right:9px;bottom:8px;font-size:8px}
  .match-status{margin:15px 0;font-size:12px}
  .match-finish{flex-wrap:wrap;padding:12px}
  .match-finish strong{font-size:15px}
  .match-finish button{margin-left:auto}
}
@media(max-width:360px){.mobile-nav{width:calc(100vw - 14px)}.mobile-nav a,.mobile-nav button{font-size:8px}.midnight-room__top .midnight-stats{gap:8px}.midnight-hero__portrait{width:78px;height:78px}}
@media(prefers-reduced-motion:reduce){.match-card,.match-card__back{transition:none}}

.quick-menu{position:fixed;top:auto;right:auto;left:50%;bottom:calc(89px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100vw - 24px),420px);max-height:min(72vh,600px);margin:0;padding:18px;border:1px solid #e9b7cb75;border-radius:23px;background:#291b2a;color:#fff;box-shadow:0 22px 60px #170a1cc2;overflow:auto}
.quick-menu::backdrop{background:#1d0d1acc;backdrop-filter:blur(6px)}
.quick-menu__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
.quick-menu h2{margin:0;font-size:24px;letter-spacing:-.055em}
.quick-menu h2 em{color:#efa9c5}
.quick-menu__close{display:grid;place-items:center;width:37px;height:37px;border:1px solid #ffc9dd66;border-radius:12px;background:#ffffff17;color:#fff;cursor:pointer}
.quick-menu__close .icon{width:18px;height:18px}
.quick-menu nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.quick-menu nav a{display:flex;align-items:center;gap:9px;min-height:55px;padding:8px 11px;border:1px solid #ffc6dd38;border-radius:14px;background:#ffffff0e;color:#fff;font-size:12px;font-weight:700;text-decoration:none;transition:background .18s,transform .18s}
.quick-menu nav a:hover,.quick-menu nav a:focus-visible{background:#a745734d;transform:translateY(-1px)}
.quick-menu nav .icon{width:20px;height:20px;flex:none;color:#f2a9c8}
