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

/* r29 #929 home: hero lead + loc-pill readable */
body[data-page="home"] .hero .lead,
body[data-page="home"] .v5-lead,
body[data-page="home"] .hero-loc,
body[data-page="home"] .loc-pill{
  font-size:clamp(1.15rem,2.8vw,1.4rem)!important;line-height:1.65!important;
}
body[data-page="home"] .loc-pill{
  font-weight:700;letter-spacing:.02em;
}

/* r29 #930 home: who-panel + bullets readable */
body[data-page="home"] .who-lead,
body[data-page="home"] .who-bullets li,
body[data-page="home"] .who-pane p,
body[data-page="home"] .who-panel p{
  font-size:1.15rem!important;line-height:1.65!important;
}
body[data-page="home"] .who-panel h3,
body[data-page="home"] .who-pane h3{
  font-size:clamp(1.15rem,2.5vw,1.35rem)!important;line-height:1.35!important;
}

/* r29 #931 home: how-steps readable */
body[data-page="home"] .how-steps li,
body[data-page="home"] .how-n,
body[data-page="home"] #how p{
  font-size:1.15rem!important;line-height:1.6!important;
}
body[data-page="home"] .how-steps h3{
  font-size:clamp(1.12rem,2.4vw,1.3rem)!important;line-height:1.35!important;
}

/* r29 #932 home: SMALL BUSINESS teaser pops (no $ prices) */
body[data-page="home"] .biz-big{
  font-size:clamp(1.35rem,3.2vw,1.75rem)!important;letter-spacing:.06em!important;
  color:#ff3fb4!important;text-shadow:0 0 12px rgba(255,63,180,.45);
}
body[data-page="home"] .biz-sub{
  font-size:clamp(1.05rem,2.4vw,1.25rem)!important;line-height:1.45!important;
}
body[data-page="home"] .biz-promise li{
  font-size:1.12rem!important;line-height:1.55!important;
}

/* r29 #933 home: Press Start perks readable */
body[data-page="home"] .ka-perk,
body[data-page="home"] .ka-perks span,
body[data-page="home"] .ka-lead{
  font-size:1.12rem!important;line-height:1.55!important;
}
body[data-page="home"] .ka-perk b{
  font-size:clamp(1.05rem,2.2vw,1.2rem)!important;display:block;margin-bottom:.15rem;
}

/* r29 #934 home: FAQ answers readable */
body[data-page="home"] .faq details p,
body[data-page="home"] .faq summary{
  font-size:1.15rem!important;line-height:1.6!important;
}
body[data-page="home"] .faq summary{font-weight:700}

/* r29 #935 home: primary CTAs ≥52px */
body[data-page="home"] .hero .btn,
body[data-page="home"] .actions .btn,
body[data-page="home"] .ka-cta .btn,
body[data-page="home"] .acct-cta .btn,
body[data-page="home"] .biz-go,
body[data-page="home"] .biz-btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;padding:.65rem 1.15rem!important;touch-action:manipulation;box-sizing:border-box;
}

/* r29 #936 home: focus gold on CTAs + who cards */
body[data-page="home"] .btn:focus-visible,
body[data-page="home"] .who-panel a:focus-visible,
body[data-page="home"] .faq summary:focus-visible,
body[data-page="home"] .ka-perk:focus-visible,
body[data-page="home"] .ac-go:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r29 #937 home: light cream cards + magenta borders */
html.light body[data-page="home"] .who-panel,
html.light body[data-page="home"] .px-box,
html.light body[data-page="home"] .card,
html.light body[data-page="home"] .area-check,
html.light body[data-page="home"] .faq details{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:4px 4px 0 #f0b400!important;
}
html.light body[data-page="home"] .biz-big{color:#a3006a!important;text-shadow:none}
html.light body[data-page="home"] .who-panel h3,
html.light body[data-page="home"] .v5-h{color:#a3006a!important}

/* r29 #938 home: mobile ≤390 stack hero actions + who + perks */
@media (max-width:390px){
  body[data-page="home"] .hero .actions,
  body[data-page="home"] .ka-cta,
  body[data-page="home"] .acct-cta .wrap{
    display:flex;flex-direction:column;gap:.55rem;align-items:stretch;
  }
  body[data-page="home"] .hero .btn,
  body[data-page="home"] .ka-cta .btn,
  body[data-page="home"] .acct-cta .btn{width:100%;justify-content:center}
  body[data-page="home"] .who-grid,
  body[data-page="home"] .ka-perks{
    display:grid!important;grid-template-columns:1fr!important;gap:.65rem!important;
  }
}

/* r29 #939 home: account signup CTA band readable + inviting */
body[data-page="home"] .acct-cta,
body[data-page="home"] .acct-cta p{
  font-size:1.15rem!important;line-height:1.55!important;
}
body[data-page="home"] .acct-cta{
  border-left:4px solid #ffd23f;padding:.85rem 1rem;border-radius:0 12px 12px 0;
  background:rgba(255,210,63,.1);
}
html.light body[data-page="home"] .acct-cta{
  background:rgba(255,210,63,.22)!important;color:#1d1236!important;
}

/* r29 #940 book: hero lead + badge readable */
body[data-page="book"] .page-head .lead,
body[data-page="book"] .bk-hero .lead,
body[data-page="book"] .bk-badge,
body[data-page="book"] .bk-tag{
  font-size:clamp(1.12rem,2.6vw,1.35rem)!important;line-height:1.6!important;
}

/* r29 #941 book: cost menu titles + what-lines */
body[data-page="book"] .bk-menu h3,
body[data-page="book"] .bk-item h3,
body[data-page="book"] .bk-what,
body[data-page="book"] .bk-for,
body[data-page="book"] .bk-price{
  font-size:1.15rem!important;line-height:1.5!important;
}
body[data-page="book"] .bk-menu h3,
body[data-page="book"] .bk-item h3{
  font-size:clamp(1.15rem,2.5vw,1.35rem)!important;
}

/* r29 #942 book: pack cards titles + save tags */
body[data-page="book"] .bk-packs .bk-card h3,
body[data-page="book"] .bk-packs .bk-pn,
body[data-page="book"] .bk-packs .bk-save,
body[data-page="book"] .bk-packs p{
  font-size:1.12rem!important;line-height:1.5!important;
}
body[data-page="book"] .bk-packs .bk-pn{
  font-size:clamp(1.2rem,2.8vw,1.45rem)!important;font-weight:800;
}

/* r29 #943 book: steps + promise + trust readable */
body[data-page="book"] .bk-steps li,
body[data-page="book"] .bk-how,
body[data-page="book"] .bk-promise li,
body[data-page="book"] .bk-trust,
body[data-page="book"] .bk-n{
  font-size:1.15rem!important;line-height:1.6!important;
}

/* r29 #944 book: Buy + FAQ CTAs ≥52px + focus gold */
body[data-page="book"] .bk-buy,
body[data-page="book"] .bk-packs .btn,
body[data-page="book"] .actions .btn,
body[data-page="book"] .pcall{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;touch-action:manipulation;box-sizing:border-box;
}
body[data-page="book"] .btn:focus-visible,
body[data-page="book"] .bk-card:focus-within,
body[data-page="book"] .bk-item a:focus-visible,
body[data-page="book"] details summary:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r29 #945 book: light cream packs + cost cards */
html.light body[data-page="book"] .bk-card,
html.light body[data-page="book"] .bk-item,
html.light body[data-page="book"] .bk-promise,
html.light body[data-page="book"] .px-box{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:5px 5px 0 #f0b400!important;
}
html.light body[data-page="book"] .bk-pn,
html.light body[data-page="book"] .bk-menu h3{color:#a3006a!important}

/* r29 #946 book: account nudge New here? style reinforce */
body[data-page="book"] .acct-nudge{
  margin-top:1rem!important;padding:.85rem 1.05rem;border-left:4px solid #ffd23f;
  background:rgba(255,210,63,.1);border-radius:0 10px 10px 0;
  font-size:1.15rem!important;line-height:1.55!important;
}
html.light body[data-page="book"] .acct-nudge{
  background:rgba(255,210,63,.22)!important;color:#1d1236!important;border-left-color:#c2007a;
}

/* r29 #947 book: mobile ≤390 steps + promise stack */
@media (max-width:390px){
  body[data-page="book"] .bk-steps,
  body[data-page="book"] .bk-menu{
    display:grid!important;grid-template-columns:1fr!important;gap:.65rem!important;
  }
  body[data-page="book"] .actions{
    display:flex;flex-direction:column;gap:.55rem;align-items:stretch;
  }
  body[data-page="book"] .actions .btn{width:100%;justify-content:center}
}

/* r29 #948 business: lead + note + list readable */
body[data-page="business"] .lead,
body[data-page="business"] .biz-note,
body[data-page="business"] .biz-list li,
body[data-page="business"] .biz-promise li{
  font-size:1.15rem!important;line-height:1.65!important;
}
body[data-page="business"] .biz-section-h{
  font-size:clamp(1.2rem,2.8vw,1.45rem)!important;line-height:1.35!important;
}

/* r29 #949 business: pricing box titles larger (h3 after HTML fix) */
body[data-page="business"] .biz-box h3,
body[data-page="business"] .biz-box h4{
  font-size:clamp(1.15rem,2.6vw,1.35rem)!important;line-height:1.35!important;
  color:#ff3fb4;
}
html.light body[data-page="business"] .biz-box h3,
html.light body[data-page="business"] .biz-box h4{color:#a3006a!important}

/* r29 #950 business: CTAs ≥52px */
body[data-page="business"] .actions .btn,
body[data-page="business"] .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;padding:.65rem 1.15rem!important;touch-action:manipulation;box-sizing:border-box;
}

/* r29 #951 business: focus gold */
body[data-page="business"] .btn:focus-visible,
body[data-page="business"] .biz-box a:focus-visible,
body[data-page="business"] .acct-nudge a:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r29 #952 business: light cream boxes */
html.light body[data-page="business"] .biz-box,
html.light body[data-page="business"] .px-box{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:5px 5px 0 #f0b400!important;
}
html.light body[data-page="business"] .biz-big{color:#a3006a!important}

/* r29 #953 business: mobile ≤390 grid stack */
@media (max-width:390px){
  body[data-page="business"] .biz-grid{
    display:grid!important;grid-template-columns:1fr!important;gap:.75rem!important;
  }
  body[data-page="business"] .actions{
    display:flex;flex-direction:column;gap:.55rem;align-items:stretch;
  }
  body[data-page="business"] .actions .btn{width:100%;justify-content:center}
}

/* r29 #954 business: account nudge inviting */
body[data-page="business"] .acct-nudge{
  margin-top:1.1rem!important;padding:.85rem 1.05rem;border-left:4px solid #ffd23f;
  background:rgba(255,210,63,.1);border-radius:0 10px 10px 0;
  font-size:1.15rem!important;line-height:1.55!important;
}
html.light body[data-page="business"] .acct-nudge{
  background:rgba(255,210,63,.22)!important;color:#1d1236!important;border-left-color:#c2007a;
}

/* r29 #955 about: grid + expect + quote readable reinforce */
body[data-page="about"] .about-grid p,
body[data-page="about"] .quote,
body[data-page="about"] .about-sig,
body[data-page="about"] .about-expect li,
body[data-page="about"] .checks li{
  font-size:1.15rem!important;line-height:1.65!important;
}
body[data-page="about"] .about-expect h3{
  font-size:clamp(1.15rem,2.5vw,1.35rem)!important;
}

/* r29 #956 about: city pills + CTAs ≥52px */
body[data-page="about"] .city-pills a,
body[data-page="about"] .pills a,
body[data-page="about"] .actions .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  touch-action:manipulation;padding:.45rem .85rem!important;box-sizing:border-box;
}

/* r29 #957 about: focus gold + light cream */
body[data-page="about"] .btn:focus-visible,
body[data-page="about"] .city-pills a:focus-visible,
body[data-page="about"] .acct-nudge a:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}
html.light body[data-page="about"] .quote,
html.light body[data-page="about"] .card,
html.light body[data-page="about"] .px-box,
html.light body[data-page="about"] .about-expect{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:4px 4px 0 #f0b400!important;
}

/* r29 #958 quest: buttons + labels + result readable */
body[data-page="quest"] .quest-btn,
body[data-page="quest"] .task-label,
body[data-page="quest"] .quest-result,
body[data-page="quest"] .quest-text-hint,
body[data-page="quest"] .who-landing,
body[data-page="quest"] .lead{
  font-size:1.15rem!important;line-height:1.55!important;
}
body[data-page="quest"] .quest-btn{
  min-height:56px!important;display:inline-flex!important;align-items:center!important;
  gap:.5rem;touch-action:manipulation;box-sizing:border-box;
}

/* r29 #959 quest: focus gold + light cream + mobile stack */
body[data-page="quest"] .quest-btn:focus-visible,
body[data-page="quest"] .acct-nudge a:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}
html.light body[data-page="quest"] .quest-result,
html.light body[data-page="quest"] .who-landing,
html.light body[data-page="quest"] .px-box{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:4px 4px 0 #f0b400!important;
}
@media (max-width:390px){
  body[data-page="quest"] .quest-grid{
    display:grid!important;grid-template-columns:1fr!important;gap:.55rem!important;
  }
  body[data-page="quest"] .quest-btn{width:100%;justify-content:flex-start}
}

/* r29 #960 login: Player-select leads + card copy */
body[data-page="login"] .lead,
body[data-page="login"] .ps-card p,
body[data-page="login"] .ps-tag,
body[data-page="login"] .ps-foot,
body[data-page="login"] .login-text-hint{
  font-size:1.15rem!important;line-height:1.6!important;
}
body[data-page="login"] .ps-card h2{
  font-size:clamp(1.2rem,2.6vw,1.4rem)!important;line-height:1.3!important;
}

/* r29 #961 login: CTAs ≥52px + focus + light cream */
body[data-page="login"] .ps-card .btn,
body[data-page="login"] .btn{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center;touch-action:manipulation;box-sizing:border-box;
}
body[data-page="login"] .btn:focus-visible,
body[data-page="login"] .ps-card a:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}
html.light body[data-page="login"] .ps-card,
html.light body[data-page="login"] .px-box{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:5px 5px 0 #f0b400!important;
}
html.light body[data-page="login"] .ps-card h2{color:#a3006a!important}

/* r29 #962 nav: tok-machine tap ≥52px + label readable */
.tok-machine{
  min-height:52px!important;min-width:88px!important;
  font-size:.78rem!important;line-height:1.15!important;
  touch-action:manipulation;
}
.tok-machine:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}

/* r29 #963 coin-drop modal: sum + packs + help readable */
.cd-modal .cd-sum,
.cd-modal .cd-note,
.cd-modal .cd-help,
#cd-modal .cd-sum,
#cd-modal .cd-note,
#cd-modal .cd-help{
  font-size:1.12rem!important;line-height:1.55!important;
}
.cd-modal #cd-h,
#cd-modal #cd-h{
  font-size:clamp(1.2rem,2.8vw,1.45rem)!important;line-height:1.3!important;
}
.cd-pack b,.cd-pack span,.cd-pack em{
  font-size:1.08rem!important;line-height:1.4!important;
}
.cd-pack{
  min-height:52px!important;display:flex!important;align-items:center!important;
  touch-action:manipulation;box-sizing:border-box;
}

/* r29 #964 coin-drop: focus gold + light cream reinforce */
.cd-pack:focus-visible,
.cd-x:focus-visible,
.cd-no:focus-visible,
#cd-modal .btn:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:3px!important;
}
html.light .cd-box,
html.light #cd-modal .cd-box{
  background:#fff8e7!important;color:#1d1236!important;border-color:#c2007a!important;
  box-shadow:6px 6px 0 #f0b400!important;
}
html.light .cd-pack{
  background:#ffffff!important;color:#1d1236!important;border-color:#c2007a!important;
}
html.light #cd-h{color:#a3006a!important}

/* r29 #965 levelnav + INSERT TOKEN readable + taps */
.levelnav a,
.nav a.tok-machine,
a.tb-insert,
.tb-btn{
  min-height:48px!important;display:inline-flex!important;align-items:center!important;
  touch-action:manipulation;
}
.levelnav a:focus-visible,
a.tb-insert:focus-visible,
.tb-btn:focus-visible{
  outline:3px solid #ffd23f!important;outline-offset:2px!important;
}

/* r29 #966 light mode: soft galaxy wash on home/book/business (no green) */
html.light body[data-page="home"],
html.light body[data-page="book"],
html.light body[data-page="business"],
html.light body[data-page="about"],
html.light body[data-page="quest"],
html.light body[data-page="login"]{
  background-image:
    radial-gradient(ellipse 80% 50% at 20% 10%, rgba(255,63,180,.08), transparent 55%),
    radial-gradient(ellipse 60% 40% at 80% 30%, rgba(34,230,255,.07), transparent 50%),
    radial-gradient(ellipse 50% 35% at 50% 80%, rgba(255,210,63,.06), transparent 55%)!important;
  background-attachment:fixed;
}

/* r29 #967 print: home/book/business ink-safe */
@media print{
  body[data-page="home"] .who-panel,
  body[data-page="home"] .px-box,
  body[data-page="home"] .faq details,
  body[data-page="book"] .bk-card,
  body[data-page="book"] .bk-item,
  body[data-page="book"] .bk-promise,
  body[data-page="business"] .biz-box,
  body[data-page="about"] .quote,
  body[data-page="quest"] .quest-result,
  body[data-page="login"] .ps-card{
    background:#fff!important;color:#000!important;box-shadow:none!important;border-color:#000!important;
  }
  .tok-machine,.cd-modal,#cd-modal,.acct-cta{display:none!important}
}

/* r29 #968 smooth card hover (motion ON only; magenta glow) */
@media (prefers-reduced-motion:no-preference){
  html:not(.calm) body[data-page="home"] .who-panel,
  html:not(.calm) body[data-page="book"] .bk-card,
  html:not(.calm) body[data-page="business"] .biz-box,
  html:not(.calm) body[data-page="login"] .ps-card{
    transition:transform .18s ease, box-shadow .18s ease;
  }
  html:not(.calm) body[data-page="home"] .who-panel:hover,
  html:not(.calm) body[data-page="book"] .bk-card:hover,
  html:not(.calm) body[data-page="business"] .biz-box:hover,
  html:not(.calm) body[data-page="login"] .ps-card:hover{
    transform:translateY(-3px);
    box-shadow:0 0 18px rgba(255,63,180,.35);
  }
}

/* r29 #969 Motion OFF: freeze home/book/business/login hover lift */
html.calm body[data-page="home"] .who-panel,
html.calm body[data-page="book"] .bk-card,
html.calm body[data-page="business"] .biz-box,
html.calm body[data-page="login"] .ps-card,
html.calm body[data-page="home"] .who-panel:hover,
html.calm body[data-page="book"] .bk-card:hover,
html.calm body[data-page="business"] .biz-box:hover,
html.calm body[data-page="login"] .ps-card:hover{
  transform:none!important;transition:none!important;filter:none!important;
}
@media (prefers-reduced-motion:reduce){
  body[data-page="home"] .who-panel,
  body[data-page="book"] .bk-card,
  body[data-page="business"] .biz-box,
  body[data-page="login"] .ps-card{
    transition:none!important;transform:none!important;
  }
}

/* r29 #970 skip link always clear when focused */
.skip:focus,
.skip:focus-visible{
  position:fixed!important;left:1rem!important;top:1rem!important;z-index:9999!important;
  background:#1d1236!important;color:#ffd23f!important;border:3px solid #ff3fb4!important;
  padding:.75rem 1.1rem!important;min-height:48px!important;
  font-size:1.1rem!important;outline:3px solid #ffd23f!important;outline-offset:2px;
}

/* r29 #971 home area-check ZIP row readable + go ≥52px */
body[data-page="home"] .area-check .ac-label,
body[data-page="home"] .area-check .ac-result,
body[data-page="home"] .ac-compact p{
  font-size:1.12rem!important;line-height:1.55!important;
}
body[data-page="home"] .ac-go{
  min-height:52px!important;display:inline-flex!important;align-items:center!important;
  touch-action:manipulation;
}

/* r29 #972 home contact strip + ct-facts readable */
body[data-page="home"] .ct-card,
body[data-page="home"] .ct-facts,
body[data-page="home"] .ct-facts li{
  font-size:1.12rem!important;line-height:1.55!important;
}

/* r29 #973 quest account nudge New here? style */
body[data-page="quest"] .acct-nudge{
  margin-top:1rem!important;padding:.85rem 1.05rem;border-left:4px solid #ffd23f;
  background:rgba(255,210,63,.1);border-radius:0 10px 10px 0;
  font-size:1.15rem!important;line-height:1.55!important;
}
html.light body[data-page="quest"] .acct-nudge{
  background:rgba(255,210,63,.22)!important;color:#1d1236!important;border-left-color:#c2007a;
}

/* r29 #974 about account nudge reinforce */
body[data-page="about"] .acct-nudge{
  margin-top:1rem!important;padding:.85rem 1.05rem;border-left:4px solid #ffd23f;
  background:rgba(255,210,63,.1);border-radius:0 10px 10px 0;
  font-size:1.15rem!important;line-height:1.55!important;
}
html.light body[data-page="about"] .acct-nudge{
  background:rgba(255,210,63,.22)!important;color:#1d1236!important;border-left-color:#c2007a;
}

/* r29 #975 login: encourage New player card glow (motion ON) */
@media (prefers-reduced-motion:no-preference){
  html:not(.calm) body[data-page="login"] .ps-new{
    box-shadow:0 0 0 2px rgba(255,63,180,.55), 4px 4px 0 #ffd23f;
  }
}
html.calm body[data-page="login"] .ps-new{box-shadow:4px 4px 0 #ffd23f}

/* r29 #976 book FAQ summaries readable + ≥48px tap */
body[data-page="book"] details summary{
  font-size:1.15rem!important;line-height:1.5!important;
  min-height:48px!important;display:flex!important;align-items:center!important;
  touch-action:manipulation;
}
body[data-page="book"] details p{
  font-size:1.15rem!important;line-height:1.65!important;
}

/* r29 #977 home: hero-biz business owner link bigger */
body[data-page="home"] .hero-biz .biz-btn,
body[data-page="home"] a.biz-btn{
  font-size:clamp(1.05rem,2.4vw,1.25rem)!important;
  min-height:52px!important;padding:.7rem 1.25rem!important;
}

/* r29 #978 coin-drop mobile ≤390 packs stack + fit */
@media (max-width:390px){
  .cd-packs,#cd-modal .cd-packs{
    display:grid!important;grid-template-columns:1fr!important;gap:.5rem!important;
  }
  .cd-box,#cd-modal .cd-box{
    max-width:100%!important;margin:.5rem!important;padding:.85rem .7rem!important;
    box-sizing:border-box;
  }
  .cd-pack{width:100%;justify-content:space-between}
}
