/* Overnight r27 — games/404/about/login/token-popup/book packs/quest/business polish.
   Senior readability, a11y, light contrast, mobile ≤390, calm/Motion OFF, print, account nudge.
   Every block tagged /* r27 #NNN */. Magenta/cyan/gold only; no green. */

/* r27 #829 seniors: Games page lead + note readable */
body[data-page="games"] .page-head .lead,
body[data-page="games"] .cabinets~.note,
body[data-page="games"] .game-text-hint{
  font-size:clamp(1.15rem,2.8vw,1.35rem)!important;line-height:1.65!important;max-width:44rem;
}

/* r27 #830 seniors: arcade cabinet titles + blurbs */
.cabinets .cabinet h3,
.cabinets .cabinet p,
.cabinet .diff{
  font-size:1.15rem!important;line-height:1.5!important;
}
.cabinets .cabinet h3{font-size:clamp(1.15rem,2.5vw,1.35rem)!important;letter-spacing:.02em}

/* r27 #831 a11y: Games Play buttons ≥52px */
.cabinets .cabinet .btn,
.cabinets a.btn-gold,
body[data-page="games"] .cabinet .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;padding:.65rem 1rem!important;touch-action:manipulation;box-sizing:border-box;
}

/* r27 #832 a11y: 404 CONTINUE actions ≥52px */
body[data-page="404"] .actions .btn,
.nf .actions .btn,
.page-head.nf .actions .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  touch-action:manipulation;padding:.55rem 1rem!important;
}

/* r27 #833 a11y: 404 popular-page links ≥52px */
.nf-links a{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  padding:.35rem .15rem;touch-action:manipulation;font-size:1.12rem!important;line-height:1.45;
}

/* r27 #834 a11y: login Player-select CTAs ≥52px */
.ps-card .btn,.ps-in .btn,.ps-new .btn,body[data-page="login"] .ps-grid .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;width:100%;max-width:100%;touch-action:manipulation;box-sizing:border-box;
}

/* r27 #835 a11y: token popup pack choices ≥52px (reinforce) */
.cd-packs .cd-pack,.cd-modal .cd-pack{
  min-height:52px!important;display:flex!important;flex-direction:column;justify-content:center;
  align-items:center;padding:.65rem .85rem!important;touch-action:manipulation;box-sizing:border-box;
}

/* r27 #836 a11y: token popup close + Not now ≥52px */
.cd-x,.cd-modal .cd-x{
  min-height:52px!important;min-width:52px!important;touch-action:manipulation;
}
.cd-modal .cd-no,.cd-box .cd-no{
  min-height:52px!important;padding:.55rem 1.1rem!important;touch-action:manipulation;
}

/* r27 #837 a11y: About / consult action row ≥52px */
body[data-page="about"] .actions .btn,
body[data-page="consult"] .actions .btn,
body[data-page="service-area"] .actions .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  touch-action:manipulation;
}

/* r27 #838 a11y: quest task chips ≥52px */
.task,button.task,[data-quest-jump]{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  padding:.55rem .85rem!important;touch-action:manipulation;box-sizing:border-box;
}

/* r27 #839 a11y: Book FAQ + menu items focus gold */
.bk-menu .bk-item:focus-within,
.bk-packs .bk-buy:focus-visible,
.bk-card .bk-buy:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r27 #840 a11y: Games cabinet + Play focus gold */
.cabinets .cabinet .btn:focus-visible,
.cabinets a.btn-gold:focus-visible,
.cabinet:focus-within{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r27 #841 a11y: token popup packs + close focus gold */
.cd-pack:focus-visible,.cd-x:focus-visible,.cd-no:focus-visible,
.cd-modal a:focus-visible,.cd-help a:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:2px!important;
}

/* r27 #842 a11y: 404 links + login cards focus gold */
.nf-links a:focus-visible,
.ps-card .btn:focus-visible,
.ps-in a:focus-visible,.ps-new a:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r27 #843 a11y: About city pills ≥48px tap */
.city-pills a,.pills.city-pills a,ul.pills a{
  min-height:48px!important;display:inline-flex!important;align-items:center!important;
  padding:.45rem .85rem!important;touch-action:manipulation;
}

/* r27 #844 seniors: token popup heading + summary readable */
.cd-box h2,#cd-h,.cd-sum,.cd-note,.cd-help{
  font-size:1.15rem!important;line-height:1.55!important;
}
.cd-box h2,#cd-h{font-size:clamp(1.25rem,3vw,1.55rem)!important;line-height:1.35!important}

/* r27 #845 seniors: token pack labels larger */
.cd-pack b,.cd-packs .cd-pack b{
  font-size:1.15rem!important;line-height:1.3!important;
}
.cd-pack span,.cd-pack em{font-size:1.05rem!important;line-height:1.35}

/* r27 #846 seniors: Book pack cards .bk-pn + save line */
.bk-packs .bk-pn,.bk-card .bk-pn{
  font-size:clamp(1.2rem,2.8vw,1.45rem)!important;line-height:1.3!important;
}
.bk-save{font-size:1.05rem!important;line-height:1.4!important}

/* r27 #847 seniors: Book cost menu tags + what-lines */
.bk-menu .bk-tag,.bk-item .bk-tag{
  font-size:1rem!important;letter-spacing:.04em;line-height:1.35!important;
}
.bk-what,.bk-item h3{font-size:1.15rem!important;line-height:1.55!important}
.bk-item h3{font-size:clamp(1.2rem,2.5vw,1.4rem)!important}

/* r27 #848 seniors: login Player-select leads + card copy */
body[data-page="login"] .page-head .lead,
.ps-card p,.ps-foot,.login-text-hint{
  font-size:1.15rem!important;line-height:1.6!important;
}
.ps-card h2{font-size:clamp(1.25rem,2.8vw,1.5rem)!important;line-height:1.3!important}

/* r27 #849 seniors: About quote + signature */
body[data-page="about"] .quote,
body[data-page="about"] .about-sig,
body[data-page="about"] .about-text-hint,
body[data-page="about"] .checks li{
  font-size:1.15rem!important;line-height:1.6!important;
}

/* r27 #850 seniors: 404 lead + CONTINUE prompt */
.page-head.nf .lead,.nf .lead,.nf .continue{
  font-size:clamp(1.15rem,2.8vw,1.4rem)!important;line-height:1.6!important;
}
.nf .continue{letter-spacing:.06em}

/* r27 #851 seniors: Business notes + promise chips */
body[data-page="business"] .biz-note,
body[data-page="business"] .biz-small,
.biz-promise li,.biz-list li{
  font-size:1.12rem!important;line-height:1.55!important;
}
.biz-section-h,body[data-page="business"] .biz-box h4{
  font-size:clamp(1.15rem,2.5vw,1.35rem)!important;line-height:1.35!important;
}

/* r27 #852 seniors: service-area body + FAQ */
body[data-page="service-area"] .lead,
body[data-page="service-area"] .hint,
body[data-page="service-area"] li,
body[data-page="service-area"] details p{
  font-size:1.15rem!important;line-height:1.6!important;
}

/* r27 #853 light: Games cabinets cream + magenta */
html.light .cabinets .cabinet,html.light .cabinet{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:5px 5px 0 #f0b400!important;
}
html.light .cabinet h3{color:#a3006a!important}
html.light .cabinet p,html.light .cabinet .diff{color:#1d1236!important}
html.light .diff-easy{color:#0088a8!important}
html.light .diff-med{color:#8a5a00!important}
html.light .diff-hard{color:#a3006a!important}

/* r27 #854 light: 404 page readable */
html.light .page-head.nf,html.light .nf .lead,html.light .nf .continue{
  color:#1d1236!important;
}
html.light .nf-links a{color:#a3006a!important;font-weight:700}
html.light .nf .label{color:#8a5a00!important}

/* r27 #855 light: login Player-select cards */
html.light .ps-card,html.light .ps-in,html.light .ps-new{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:5px 5px 0 #f0b400!important;
}
html.light .ps-card h2,html.light .ps-tag{color:#a3006a!important}
html.light .ps-card p,html.light .ps-foot{color:#1d1236!important}

/* r27 #856 light: token popup cream card */
html.light .cd-box,html.light .cd-modal .cd-box{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:6px 6px 0 #f0b400!important;
}
html.light .cd-box h2,html.light #cd-h{color:#a3006a!important}
html.light .cd-sum,html.light .cd-note,html.light .cd-help{color:#1d1236!important}
html.light .cd-pack{
  background:#fff8e8!important;color:#1d1236!important;border-color:#c2007a!important;
}
html.light .cd-pack b{color:#a3006a!important}
html.light .cd-x{color:#1d1236!important;border-color:#c2007a!important}

/* r27 #857 light: Book pack cards + cost menu */
html.light .bk-packs .bk-card,html.light .bk-menu .bk-item{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
}
html.light .bk-pn,html.light .bk-item h3{color:#a3006a!important}
html.light .bk-for,html.light .bk-what,html.light .bk-tag{color:#1d1236!important}
html.light .bk-save{color:#0088a8!important}

/* r27 #858 light: About quote + expect card */
html.light body[data-page="about"] .quote,
html.light body[data-page="about"] .px-box.card,
html.light .about-expect .px-box{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
}
html.light body[data-page="about"] .about-sig{color:#a3006a!important}
html.light .city-pills a{background:#ffffff!important;color:#a3006a!important;border-color:#c2007a!important}

/* r27 #859 light: quest result + task chips */
html.light .quest-result,html.light #quest-result,
html.light .task,html.light button.task{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
}
html.light .task[aria-pressed="true"],html.light .task:focus-visible{
  background:#ffd23f!important;color:#1d1236!important;
}

/* r27 #860 light: service-area cards */
html.light body[data-page="service-area"] .px-box,
html.light body[data-page="consult"] .px-box{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
}
html.light body[data-page="service-area"] h2,
html.light body[data-page="consult"] h2{color:#a3006a!important}

/* r27 #861 desktop: Book pack cards fill width evenly */
@media (min-width:900px){
  .bk-packs{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:1rem!important;width:100%;align-items:stretch;
  }
  .bk-packs .bk-card,.bk-packs>li{
    width:100%;max-width:none;height:100%;box-sizing:border-box;
    display:flex;flex-direction:column;
  }
  .bk-packs .bk-buy{margin-top:auto}
}

/* r27 #862 desktop: Games cabinets fill 3 columns evenly */
@media (min-width:900px){
  .cabinets{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:1.2rem!important;align-items:stretch;
  }
  .cabinets .cabinet{
    height:100%;display:flex;flex-direction:column;box-sizing:border-box;
  }
  .cabinets .cabinet .btn{margin-top:auto;align-self:stretch}
}

/* r27 #863 desktop: quest grid fills width (2×4 / 4-col) */
@media (min-width:900px){
  .quest-grid{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:.85rem!important;width:100%;
  }
  .quest-grid>li{min-width:0;max-width:none}
  .quest-btn{width:100%;height:100%;min-height:120px;box-sizing:border-box}
}

/* r27 #864 desktop: login ps-grid two equal cards */
@media (min-width:700px){
  .ps-grid{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:1.2rem!important;
    align-items:stretch;width:100%;
  }
  .ps-card{height:100%;display:flex;flex-direction:column;box-sizing:border-box}
  .ps-card .btn{margin-top:auto}
}

/* r27 #865 desktop: Book cost menu 3 equal columns */
@media (min-width:900px){
  .bk-menu{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:1rem!important;width:100%;
  }
  .bk-menu .bk-item{height:100%;box-sizing:border-box}
}

/* r27 #866 mobile ≤390: Games cabinets stack */
@media (max-width:390px){
  .cabinets{
    display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important;
  }
  .cabinets .cabinet{max-width:100%;box-sizing:border-box}
  .cabinets .cabinet .btn{width:100%}
}

/* r27 #867 mobile ≤390: Book packs stack single column */
@media (max-width:390px){
  .bk-packs{
    display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important;
  }
  .bk-packs .bk-card{max-width:100%;box-sizing:border-box}
  .bk-menu{display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important}
}

/* r27 #868 mobile ≤390: token popup fits viewport */
@media (max-width:390px){
  .cd-modal{padding:.55rem!important}
  .cd-box{
    width:min(100%,360px)!important;max-width:calc(100vw - 1rem);
    padding:1rem .75rem!important;box-sizing:border-box;
  }
  .cd-packs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.55rem!important}
  .cd-pack{min-width:0;width:100%}
}

/* r27 #869 mobile ≤390: 404 actions wrap cleanly */
@media (max-width:390px){
  .nf .actions,.page-head.nf .actions{
    display:flex;flex-direction:column;gap:.55rem;align-items:stretch;
  }
  .nf .actions .btn{width:100%;justify-content:center}
  .nf-links{display:flex;flex-direction:column;gap:.25rem}
}

/* r27 #870 mobile ≤390: login cards stack */
@media (max-width:390px){
  .ps-grid{display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important}
  .ps-card{max-width:100%;box-sizing:border-box}
}

/* r27 #871 mobile ≤390: About expect + city pills */
@media (max-width:390px){
  .about-expect,.about-grid{
    display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important;
  }
  .city-pills{display:flex;flex-wrap:wrap;gap:.45rem}
  .city-pills a{flex:1 1 auto;justify-content:center}
}

/* r27 #872 Motion OFF: freeze cabinet hover / screen glow */
html.calm .cabinet,html.calm .cabinet .screen,html.calm .cabinets .cabinet{
  transition:none!important;transform:none!important;filter:none!important;
}
html.calm .cabinet:hover,html.calm .cabinet .screen:hover{
  transform:none!important;filter:none!important;box-shadow:inherit;
}
@media (prefers-reduced-motion:reduce){
  .cabinet,.cabinet .screen{transition:none!important;transform:none!important}
}

/* r27 #873 Motion OFF: freeze token-popup coin drop (keep chrome) */
html.calm .cd-coin,html.calm .cd-pop,html.calm .cd-play .cd-coin,html.calm .cd-play .cd-pop{
  animation:none!important;
}
html.calm .cd-pop{opacity:1!important}
html.calm .cd-coin{top:20px!important}
@media (prefers-reduced-motion:reduce){
  .cd-coin,.cd-pop,.cd-play .cd-coin,.cd-play .cd-pop{animation:none!important}
  .cd-pop{opacity:1!important}
}

/* r27 #874 Motion OFF: no lift on login / book / about cards */
html.calm .ps-card:hover,html.calm .bk-card:hover,html.calm .bk-item:hover,
html.calm body[data-page="about"] .quote:hover,html.calm .cabinet:hover{
  transform:none!important;filter:none!important;
}
@media (prefers-reduced-motion:reduce){
  .ps-card:hover,.bk-card:hover,.bk-item:hover{transform:none!important}
}

/* r27 #875 print: hide arcade cabinets chrome noise; keep titles */
@media print{
  .cabinets .screen,.cd-stage,.cd-coin,.cd-slot,.cd-pop,.nf .continue .cursor{
    display:none!important;
  }
  .cabinet,.ps-card,.bk-card,.nf-links a{
    background:#fff!important;color:#000!important;box-shadow:none!important;border-color:#000!important;
  }
}

/* r27 #876 print: Book packs + business boxes ink-safe */
@media print{
  .bk-packs .bk-card,.bk-menu .bk-item,.biz-box,.biz-promise li,.quest-btn,.task{
    background:#fff!important;color:#000!important;box-shadow:none!important;border-color:#000!important;
  }
  .bk-price,.bk-pn,.biz-section-h{color:#000!important;text-shadow:none!important}
}

/* r27 #877 account nudge: login + 404 + About match New here? style */
body[data-page="login"] .acct-nudge,
body[data-page="404"] .acct-nudge,
.page-head.nf .acct-nudge,
body[data-page="about"] .acct-nudge,
body[data-page="quest"] .acct-nudge,
body[data-page="service-area"] .acct-nudge{
  margin-top:1rem!important;padding:.75rem 1rem;border-left:4px solid #ffd23f;
  background:rgba(255,210,63,.08);border-radius:0 10px 10px 0;
  font-size:1.12rem!important;line-height:1.5!important;
}
html.light body[data-page="login"] .acct-nudge,
html.light body[data-page="404"] .acct-nudge,
html.light .page-head.nf .acct-nudge,
html.light body[data-page="about"] .acct-nudge,
html.light body[data-page="quest"] .acct-nudge,
html.light body[data-page="service-area"] .acct-nudge{
  background:rgba(255,210,63,.22)!important;border-left-color:#c2007a;color:#1d1236!important;
}

/* r27 #878 account nudge: Book page member sign-in line tap-friendly */
body[data-page="book"] .acct-nudge,
.bk-hero .acct-nudge{
  font-size:1.12rem!important;line-height:1.5!important;padding:.7rem 1rem;
  border-left:4px solid #ffd23f;background:rgba(255,210,63,.08);border-radius:0 10px 10px 0;
}
