/* v31u-readyback1: Ready video Back stays on Books */
/* v31q page mode: one view per address, normal page scroll, shared header + Zip + slim footer */
.lepgh{display:none}
html.lepg .lepgh{display:flex;align-items:center;gap:14px;max-width:1100px;margin:8px auto 4px;padding:6px 16px}
.lepgh-home{font:700 16px/1.2 inherit;color:#24512f;background:#fffaf0;border:2px solid #3f7a4a;border-radius:999px;padding:9px 16px;text-decoration:none;white-space:nowrap}
.lepgh-home:hover,.lepgh-home:focus-visible{background:#3f7a4a;color:#fff}
.lepgh-t{flex:1;margin:0;font-size:clamp(22px,3.4vw,34px);color:#2b2418;line-height:1.15}
.lepgh-zip{width:84px;height:auto}
html.lepg .wrap>*:not(#lebar):not(#lepgh):not(.lepg-on):not(#lefootmain):not(script):not(style):not(#smo):not(#cmo):not(#mo):not(#jsmo){display:none!important}
html.lepg .wrap>.lepg-on{display:block!important}
/* modals become plain pages */
html.lepg .lepg-on.stmo,html.lepg .lepg-on.hpo,html.lepg .lepg-on.jmo{position:static!important;inset:auto!important;background:none!important;backdrop-filter:none!important;overflow:visible!important;height:auto!important;max-height:none!important;z-index:auto!important;padding:0 12px!important;display:block!important}
html.lepg .lepg-on .stin,html.lepg .lepg-on .hpc,html.lepg .lepg-on .jbox{position:relative!important;max-height:none!important;height:auto!important;overflow:visible!important;margin:0 auto 24px!important;transform:none!important}
html.lepg .lepg-on .stx,html.lepg .lepg-on .hpx,html.lepg .lepg-on #jclose{display:none!important}
html.lepg .lepg-on .stin .lezip-st{display:none}
/* Brad 2026-10-23 voice: no Zip on books title; no duplicate Books label by Go Back on /books */
html.lepg[data-pg=books] .lepgh-t{display:none!important}
html.lepg[data-pg=books] .lepgh-zip{display:none!important}
html.lepg[data-pg=books] .lezip-st,
html.lepg .lepg-on .stin .lezip-st{display:none!important}

html.lepg body{overflow:auto!important;font-size:16px}
html.lepg.lejopen body,html.lepg body.jopen{overflow:auto!important;position:static!important}
/* Lab page: only the Lab panel of #hx */
html.lepg[data-pg=lab] #hx>*:not(#hpan-3){display:none!important}
html.lepg[data-pg=lab] #hx{max-width:1100px;margin:0 auto;padding:0 12px}
html.lepg[data-pg=lab] #hpan-3{display:block!important;max-height:none!important;overflow:visible!important}
#hpan-3.lbv-map .lbchips,#hpan-3.lbv-map .lbbody{display:none!important}
.lbstep{margin:4px 0;font:700 14px/1.3 inherit;color:#5a4a2e;letter-spacing:.04em;text-transform:uppercase}
.lbh{margin:2px 0 10px;font-size:24px;color:#2b2418}
.lbnote{font-size:16px;color:#3a3226;margin:0 0 10px}
.lbaz{position:relative;max-width:924px;margin:0 auto;border-radius:18px;overflow:visible}
.lbaz img{display:block;width:100%;height:auto;border-radius:18px}
.lbpin{position:absolute;transform:translate(-50%,-100%);background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;min-width:44px;min-height:44px}
.lbdot{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#c0392b;border:3px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.45)}
.lbpl{order:-1;margin-bottom:6px;background:#fffaf0;color:#2b2418;font:700 14px/1.2 inherit;padding:4px 9px;border-radius:999px;border:2px solid #8a5a32;white-space:nowrap}
.lbpin:hover .lbdot,.lbpin:focus-visible .lbdot{background:#8e1f14}
.lbmore{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:14px 0}
.lbgo,.lbback,.lbany{font:700 16px/1.2 inherit;color:#24512f;background:#fffaf0;border:2px solid #3f7a4a;border-radius:999px;padding:10px 18px;cursor:pointer}
.lbback{margin:0 0 12px}
.lbgo:hover,.lbback:hover,.lbany:hover{background:#3f7a4a;color:#fff}
.lbany{display:none;margin:8px auto 12px}
.stmo.stlab .lbany{display:block}
.lbany span{display:block;font-weight:500;font-size:14px}
@media(max-width:639px){.lbpl{font-size:13px;padding:3px 6px}.lbdot{width:20px;height:20px}.lepgh-zip{width:60px}.lepgh-home{padding:8px 12px}}
/* v31u-meetdedupe1: no Meet link above Home explorers; Meet lives on Home only (ungated) */
.lehxmeet{display:none!important}
/* superseded: was display:none when Meet was its own /explorers page */
/* buddy chips: one row on desktop; even 3x2 grid on phone (no orphan) */
.bkpick .bkrow{flex-wrap:nowrap!important;gap:6px!important}
.bkpick .bkrow>*{padding-left:9px!important;padding-right:9px!important;white-space:nowrap;flex:0 1 auto;min-width:0}
@media(max-width:639px){.bkpick .bkrow{display:grid!important;grid-template-columns:repeat(3,1fr)!important}.bkpick .bkrow>*{justify-content:center;text-align:center}}
/* readability pass (AA): body 16px, labels >=13px, darker muted text, badges not washed out */
.lbtier,.hpk,.stsub,.count,.v31ivh,figcaption{color:#4a3f2c!important}
.lbtier{font-size:13px!important;opacity:1!important}
.lbact summary{font-size:16px}
.lbin p{font-size:16px;line-height:1.5;color:#2b2418}
.lbchip{font-size:14px!important}
.lefoot,.lefoot a{color:#2f5a37!important}
.badge,.bdg,[class*=badge]{opacity:1!important;filter:none!important}

/* v31q Go Back (replaces every X): rust on cream, top left, big touch target */
.lexhide{display:none!important}
.legoback{display:inline-flex!important;align-items:center;gap:6px;min-height:48px;padding:10px 20px!important;font:800 18px/1.1 inherit!important;color:#fffaf0!important;background:#a4471f!important;border:3px solid #fffaf0!important;border-radius:999px!important;box-shadow:0 2px 8px rgba(60,30,10,.35)!important;cursor:pointer;width:auto!important;height:auto!important}
.legoback:hover,.legoback:focus-visible{background:#7f3415!important;outline:3px solid #f1c27d;outline-offset:2px}
.legb-x{position:absolute!important;top:10px!important;left:10px!important;right:auto!important;z-index:50!important;margin:0!important}
.lbback.legoback{position:static!important;margin:0 0 12px!important}
html.lepg .lepg-on .legb-x{position:relative!important;top:0!important;left:0!important;margin:0 0 10px!important}
.lexany{display:none;max-width:1000px;margin:18px auto 8px;text-align:left}
.stmo.stlab .lexany{display:block}
.lexarow{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}
.lexa{font:700 14px/1.2 inherit;padding:8px 14px;border-radius:999px;border:2px solid #3f7a4a;background:#fffaf0;color:#24512f;cursor:pointer}
.lexa[aria-pressed=true]{background:#3f7a4a;color:#fff}
.lexgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:12px}
.lexcard{background:#fffaf0;border:2px solid #c9a46a;border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;color:#2b2418;font-size:16px}
.lexcard.live{border-color:#3f7a4a}
.lexmeta{font-size:14px;color:#4a3f2c}
.lexsoon{font:700 13px/1.2 inherit;color:#7f3415;background:#f6e3cf;border-radius:999px;padding:4px 10px;align-self:flex-start}
.lexcard .lbany{display:block;margin:4px 0 0;font-size:14px;padding:7px 12px;align-self:flex-start}

.lefc{max-width:924px;margin:20px auto}
.lefctier{display:inline-block;font:800 13px/1.2 inherit;color:#fffaf0;background:#7f3415;border-radius:999px;padding:4px 10px;vertical-align:middle}
.lefctabs{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.lefctab{font:700 16px/1.2 inherit;padding:9px 16px;border-radius:12px 12px 0 0;border:2px solid #a4471f;background:#fffaf0;color:#7f3415;cursor:pointer;min-height:44px}
.lefctab[aria-selected=true]{background:#a4471f;color:#fffaf0}
.lefcrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.lefcard{background:#fffaf0;border:2px solid #c9a46a;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:6px;color:#2b2418;font-size:15px}
.lefcard summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.lefcard img{width:100%;height:auto;border-radius:10px}
.lefcard.lock img{filter:blur(1px) saturate(.6);max-height:160px;object-fit:cover}
.lefcback{font-size:15px}
#lpmo .lpfc{display:none!important} /* v31q: field cards live on /lab/arizona only */
.lefccats{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 10px}.lefcmeta{font-size:14px;color:#4a3f2c}.lpfree{font:700 13px/1.2 inherit;color:#24512f}

html.lepg[data-pg=lab] #hx{max-width:1100px!important;width:auto!important}
html.lepg[data-pg=lab] #hpan-3{width:auto!important;max-width:none!important}
.lbpl{display:none}
.lbdot{display:flex;align-items:center;justify-content:center;width:32px;height:32px}
.lbdot i{transform:rotate(45deg);font:800 15px/1 inherit;color:#fff;font-style:normal}
.lbstops{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0}
.lbnum{display:inline-flex;width:24px;height:24px;border-radius:50%;background:#c0392b;color:#fff;align-items:center;justify-content:center;font-size:14px}
.lepgh-back{flex:0 0 auto}
@media(max-width:639px){html.lepg .lepgh{flex-wrap:wrap;margin-top:44px}.lepgh-zip{display:none}.lbdot{width:24px;height:24px}.lbdot i{font-size:12px}}
/* v31q contrast + size fixes (measured on TEST; target AA 4.5:1, labels >= 13px) */
#lefootmain,#lefootmain a,#lefootmain span,.lefoot,.lefoot a,.lefoot span{color:#1f4a2a!important;font-size:14px!important}
.lefu-open{color:#1f4a2a!important;font-size:14px!important}
.v31lbub{color:#9a3412!important;font-size:14px!important}
small.stav,.stmo small{font-size:13px!important}
small.stav{background:#9a3412!important;color:#fff!important}
.jlegend,.jchip,.jbkn,.pklabel,.jsecprog,.jsub,.jnum,.jsecnote,.ussoon,#exusjl,.ppname,.ppdate,.hxtrial,.lbrl,.hpk,.hptab,.tll,.lpfree,.lefcmeta,.lexmeta{font-size:13px!important}
.jsecprog,.jnum{background:#8a5212!important;color:#fff!important}
.jsub{color:#5e4d3a!important}
.azlab{background:#8f4520!important;color:#fff!important}
.ussoon{color:#6b4a2e!important}
#exusjl,.tll{color:#9a3412!important}
.jmo small{color:#5e4d3a!important}
.ppbook,.ppbook small{color:#7a4a0c!important}
.lbbook{color:#24606c!important}
.lpfree{color:#1f4a2a!important;background:#e6f0dc!important;border-radius:999px;padding:2px 8px;align-self:flex-start}
#family .v31ivh em,#family em{color:#4a3f2c!important;background:#fffaf0;border-radius:6px;padding:0 6px}
.le-testribbon{font-size:13px!important}
html.lepg .lepgh-t{color:#2b2418;background:rgba(255,250,240,.88);border-radius:12px;padding:4px 12px;flex:0 1 auto}
.lebj{text-shadow:0 1px 3px rgba(0,0,0,.75)}
/* v31q READER page border = each book's digital-edition band colour (v19 Kindle: B1 #F7F0E0, B2 #E9EFE1, B3 #EEE9F0, B4 #E3BFB3),
   ~12% darker for the willow site, + a dark hairline. Top band thicker like the title band. Page curls stay inside. */
#bkp{--bb:#d9d3c5;background:#b5c48f!important}
#bkp[data-book="1"]{--bb:#D9D3C5}#bkp[data-book="2"]{--bb:#CDD2C6}#bkp[data-book="3"]{--bb:#D1CCD3}#bkp[data-book="4"]{--bb:#C8A89E}
#bkp .bkart{border:solid var(--bb)!important;border-width:20px 12px 16px!important;border-radius:6px;box-shadow:0 0 0 2px rgba(60,40,20,.55),0 6px 16px rgba(40,30,10,.3)!important;box-sizing:border-box;background:var(--bb)}
#bkp .bkart img{display:block}
@media(max-width:639px){#bkp .bkart{border-width:12px 7px 10px!important}}
/* willow background on the reader and every standalone page; cream only for cards/panels */
html.lepg,html.lepg body{background-color:#b5c48f!important}
/* body background images kept where a page has one (willow is only the default colour) */
#bkp>.bkcols,#bkp .bkr{background:transparent!important}
#bkp .bkname,#bkp .bkbook{color:#1f2a14!important}
/* TEST ribbon: small pill bottom-left, never takes clicks, never covers Back or titles */
.le-testribbon{top:auto!important;bottom:8px!important;left:8px!important;transform:none!important;padding:4px 10px!important;border-radius:999px!important;font-size:13px!important;opacity:.92;letter-spacing:.04em!important}
.legb-x{position:relative!important;top:auto!important;left:auto!important;order:-1;margin:0 10px 8px 0!important;align-self:flex-start;flex:0 0 auto}
#bkp .legb-x{margin:0 12px 0 0!important}
.le-testribbon{bottom:auto!important;top:0!important;left:50%!important;transform:translateX(-50%)!important;border-radius:0 0 10px 10px!important;padding:2px 10px!important}
/* v31q shared top fade (same values as the home body: sky blue -> willow), used on every standalone page + the reader */
.le-skyfade,html.lepg body,#bkp{background:linear-gradient(180deg,#9cc3d3 0,#bcd6da 240px,#d6e0c4 440px,#b5c48f 640px,#b5c48f 100%) no-repeat,#b5c48f!important}
html.lepg{background:#b5c48f!important}

/* Explore hub */
.lexhub{display:none}
html.lepg .lexhub.lepg-on{display:block!important;max-width:1000px;margin:0 auto 24px;padding:0 14px}
.lexhgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:10px}
.lexhcard{display:flex;flex-direction:column;gap:6px;background:#fffaf0;border:3px solid #a4471f;border-radius:20px;padding:18px;text-decoration:none;color:#2b2418;font-size:16px;box-shadow:0 4px 12px rgba(40,30,10,.2)}
.lexhcard b{font-size:22px;color:#7f3415}.lexhi{font-size:36px}
.lexhcard:hover,.lexhcard:focus-visible{background:#fff1dc;outline:3px solid #f1c27d}
/* QA #2: leftover full-screen map layer never shows over other pages */
html.lepg:not([data-pg=books]) #exwrap.exfull{display:none!important}
html:not(.lepg) body:not(.jopen) #exwrap.exfull{position:static!important;inset:auto!important;z-index:auto!important}
/* QA #4/#5: keep room for the TEST tab and the Sign Up / Log in bar */
html.lepg .lepgh{margin-top:34px!important}
body.le-testmode #bkp{padding-top:26px!important}
@media(max-width:639px){html.lepg .lepgh{margin-top:64px!important}}
/* QA #6: Peek cards in a grid */
.lpin{max-width:1100px!important;width:100%!important}
#lpbody{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;align-items:start}
#lpbody>h3,#lpbody>h4,#lpbody>p,#lpbody>.lbbook,#lpbody>.lbstop{grid-column:1/-1}
/* v31q field card spreads */
.lefspreads{display:grid;gap:18px;margin-top:14px}
.lefspread h4{margin:0 0 6px;font:700 18px/1.2 inherit;color:#2a3b1f}
.lefspread h4 small{font-weight:600;font-size:14px;color:#4a4a3a}
.lefspread img{width:100%;height:auto;border-radius:10px;border:3px solid #fff8e8;box-shadow:0 2px 8px rgba(0,0,0,.25);display:block}
.lefspread.prev img{max-width:420px;filter:saturate(.9)}
.lefspread.none{background:#fff8e8;border:2px dashed #a4471f;border-radius:10px;padding:10px 14px}
.lefzoom{all:unset;cursor:zoom-in;display:block;position:relative;width:100%}
.lefzt{position:absolute;right:10px;bottom:10px;background:#a4471f;color:#fff8e8;font:700 15px/1 inherit;padding:8px 12px;border-radius:999px}
.lefc.sub .lefcrow:empty{display:none}
.lefzv{position:fixed;inset:0;z-index:5000;background:rgba(20,24,16,.92);display:flex;flex-direction:column;padding:12px}
.lefzv .lefzx{align-self:flex-start;position:static}
.lefzs{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;text-align:center}
.lefzs img{max-width:100%;height:auto;cursor:zoom-in}
.lefzs img.z2{max-width:200%;width:200%;cursor:zoom-out}
.hpo a.hplink{color:#8a3a17;font-weight:700;text-decoration:underline;text-underline-offset:2px}
/* v31q fix (Brad 2:52): no home map on inner pages; one Go Back; one footer at bottom; full-page panels; no sideways scroll */
html.lepg .wrap::before,html.lepg .wrap::after{display:none!important;content:none!important}
html.lepg:not([data-pg=books]):not([data-pg=lab]) #exwrap{display:none!important}
html.lepg .lepg-on .legb-x,html.lepg .lepg-on .lbback.legoback{display:none!important}
html.lepg .lefoot:not(#lefootmain){display:none!important}
html.lepg #lefootmain{margin-top:28px}
html,body{overflow-x:hidden}
html.lepg .lepg-on{max-width:min(1100px,100%)!important;width:100%!important;box-sizing:border-box;margin:0 auto!important}
html.lepg .lepg-on>*{max-width:100%!important;width:auto;box-sizing:border-box}
html.lepg #jmo.lepg-on .jbox,html.lepg #jmo.lepg-on>div,html.lepg .hpo.lepg-on .hpc{max-width:1100px!important;width:100%!important;margin:0 auto!important;max-height:none!important;height:auto!important;overflow:visible!important}
html.lepg .lepg-on *{overflow-wrap:anywhere}
/* Site Guide page: Mom + small map beside her instructions */
.hpside{display:none}
html.lepg[data-pg=guide] .hpo .hpc{display:grid!important;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start;background:#fff8e8!important;border-radius:16px;padding:20px!important}
html.lepg[data-pg=guide] .hpside{display:flex;flex-direction:column;gap:14px;align-items:center;position:sticky;top:12px}
html.lepg[data-pg=guide] .hpmom{width:160px;height:160px;border-radius:50%;border:4px solid #a4471f;object-fit:cover}
html.lepg[data-pg=guide] .hpmap{width:200px;height:auto;border-radius:12px;border:3px solid #e9dcc0}
html.lepg[data-pg=guide] .hphead img.hpface{display:none}
html.lepg[data-pg=guide] .hpx,html.lepg[data-pg=guide] .hpgo{display:none!important}
html.lepg[data-pg=guide] .hpo p,html.lepg[data-pg=guide] .hpo li{color:#2b2418;font-size:16px;line-height:1.5}
html.lepg[data-pg=guide] .hpsub{color:#4a3b28!important}
@media(max-width:700px){html.lepg[data-pg=guide] .hpo .hpc{grid-template-columns:1fr;padding:14px!important}html.lepg[data-pg=guide] .hpside{flex-direction:row;position:static;justify-content:center}html.lepg[data-pg=guide] .hpmom{width:96px;height:96px}html.lepg[data-pg=guide] .hpmap{width:150px}}
html.lepg{background:#b5c48f!important;min-height:100%}
html.lepg body::before{display:none!important;background:none!important}
/* v31u-homefix1: retired floating My Passport pill styles (pill removed from all routes) */
html.lepg #lebjournal{display:none!important}
@media(max-width:700px){html.lepg #lebjournal{display:none!important}html.lepg .lepgh{margin-top:12px!important}}

/* v31q Puzzles & Coloring placeholders */
#stmo:not(.stlab) .lepz{display:none}
.lepz{margin:18px auto;max-width:900px;background:#fbf6ea;border:2px solid #b8863b;border-radius:16px;padding:14px 16px;color:#2b2418;text-align:left}
.lepz h4{margin:12px 0 6px;font-size:15px;color:#5a3a12}
.lepzf{display:flex;flex-wrap:wrap;gap:6px}.lepzb{border:2px solid #7f3415;background:#fff;color:#7f3415;border-radius:999px;padding:6px 12px;font-weight:700;cursor:pointer}
.lepzb[aria-pressed="true"]{background:#7f3415;color:#fff}
.lepzrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.lepzslot{border:2px dashed #b8863b;border-radius:12px;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#fff9ee}
.lepzslot[hidden]{display:none}.lepzic{font-size:28px}
/* labsheets1: real sheet cards */
.lepzslot.lepzreal{align-items:stretch;justify-content:flex-start;padding:8px;gap:6px;border-style:solid;min-height:0;background:#fff}
.lepzslot.lepzreal .lefzoom{width:100%;position:relative}
.lepzslot.lepzreal .lefzoom img{width:100%;height:auto;display:block;border-radius:8px;background:#f5efe0}
.lepzslot.lepzreal .lepztitle{font-size:13px;text-align:center;line-height:1.25;margin:2px 0 0}
.lepzslot.lepzreal .lepzmeta,.lepzslot.lepzreal .lepzscope{font-size:11px;color:#5a3a12;text-align:center}
.lepzslot.lepzreal .lepzscope{display:inline-block;background:#efe4c8;border-radius:999px;padding:2px 8px;font-weight:700}
.lepzdl{display:inline-block;align-self:center;margin:4px 0 2px;padding:6px 12px;border-radius:999px;background:#7f3415;color:#fff8e8;font:700 12px/1 inherit;text-decoration:none}
.lepzdl:hover{filter:brightness(1.08)}
.lepzslot.lepzlock{justify-content:center;align-items:center;text-align:center;min-height:120px}
.lepzrow{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}

@media(max-width:600px){.lepzrow{grid-template-columns:1fr 1fr}}
body:has(#bkp:not([hidden])) .lepgh-back{visibility:hidden}
.lepz .lbh .lefctier{font-size:12px;padding:3px 9px;vertical-align:middle}

/* ===== v31u fix-only: page-role chrome + readability (no new style experiments) ===== */
/* v31u-homefix1: never show My Passport pill on any route */
#lebjournal,button#lebjournal.lebj{display:none!important;visibility:hidden!important;pointer-events:none!important;opacity:0!important}
html.lenopass #lebjournal{display:none!important}
html:not(.lehomeonly) #lesplit,
html:not(.lehomeonly) #jsignout,
html:not(.lehomeonly) .lesignout{display:none!important}
html.lehomeonly #jsignout.lesignout{display:inline-flex!important}
/* Ready/Start-the-journey: books US state picker only (not Lab, not AZ map pages) */
.stmo[data-mode="lab"] #v31lready{display:none!important}
html.lepg[data-pg=lab] #v31lready{display:none!important}
.stmo[data-mode="books"] #v31lready{display:inline-flex!important}
/* v31u Ready? on US Books map near Arizona — not in heading void */
/* v31u-navseq16: pin Ready by Arizona; arrow into AZ */
.stmo[data-mode="books"] .stmap #v31lready{position:absolute!important;left:5%;top:86%;transform:translate(-50%,-50%);z-index:5;margin:0!important;pointer-events:auto;max-width:120px}
.stmo[data-mode="books"] .stmap #v31lready:hover,.stmo[data-mode="books"] .stmap #v31lready:active,.stmo[data-mode="books"] .stmap #v31lready:focus-visible{transform:translate(-50%,-50%) scale(1.08)!important}
.stmo[data-mode="books"] .stmap #v31lready .v31ltag,.stmo[data-mode="books"] .stmap #v31lready svg{width:auto;height:auto;max-height:none;display:block}
@media(max-width:699px){.stmo[data-mode="books"] .stmap #v31lready{left:2%;top:90%;max-width:90px}}
@media(prefers-reduced-motion:reduce){.stmo[data-mode="books"] .stmap #v31lready:hover,.stmo[data-mode="books"] .stmap #v31lready:active,.stmo[data-mode="books"] .stmap #v31lready:focus-visible{transform:translate(-50%,-50%)!important}}
html.lepg[data-pg="books/arizona"] #v31lready,html.lepg[data-pg=books-arizona] #v31lready{display:none!important}


.jfoot.lehide-backup .jtools{display:none!important}
.jtabs.lehide-tabs{display:none!important}
.exfullx{display:none!important} /* "Journal list" junk */
/* Meet the Explorers visible on home */
html:not(.lepg) .wrap>#family{display:block!important;max-width:900px;margin:18px auto 28px;padding:0 14px}
html:not(.lepg) .wrap>#family .v31ivh em{display:none!important}
/* Nature's Lab / Books title plate readable over art */
#sttl.lelabtitle,.lelabtitle,#stmo.stlab #sttl,
html.lepg[data-pg=lab] .lepgh-t{
  color:#2b2418!important;background:rgba(255,250,240,.94)!important;border-radius:12px;padding:6px 14px;
  text-shadow:none!important;display:inline-block;border:2px solid rgba(90,58,30,.25)
}
#stmo.stlab #sttl{margin:8px auto;text-align:center}
/* General Education never on Books */
#stmo:not(.stlab) .lbany,#stmo:not(.stlab) .lexany{display:none!important}
#stmo.stlab .lbany{display:block!important}
/* Passport cells look tappable */
.ppcell[data-stop]{cursor:pointer}
.ppcell[data-stop]:focus-visible{outline:3px solid #c4502e;outline-offset:2px}
/* Quail coloring: bird-centered Gambel crop — keep circle size, no scale() fake zoom */
.lepzm .lemed:nth-child(2) .lemedi,
.lepzm .lemedi[src*="gambels-quail"]{
  object-fit:cover!important;object-position:50% 45%!important;transform:none!important;
  width:86px!important;height:86px!important
}
/* Explore trip planner must be visible */
html.lepg[data-pg=explore] #tl,
html.lepg[data-pg=travel-log] #tl,
html.lepg[data-pg=explore] #tltrips,
html.lepg[data-pg=travel-log] #tltrips{display:block!important;visibility:visible!important}
html.lepg[data-pg=explore] #jp-mine,
html.lepg[data-pg=travel-log] #jp-mine{display:block!important}
html.lepg[data-pg=passport] #jp-anims .janh,
html.lepg[data-pg=passport] #janlist{display:none!important}
html.lepg[data-pg=passport] #jweek{display:none!important}
/* Book trips: chips are the 4 book entry points */
html.lepg[data-pg=journal] .jchips{display:flex!important;flex-wrap:wrap;gap:8px;margin:8px 0}
html.lepg[data-pg=journal] #jlist[hidden]{display:none!important}
html.lepg[data-pg=explore] #lexhub.lepg-on{display:block!important;max-width:1000px;margin:0 auto 12px;padding:0 14px}
html.lepg[data-pg=explore] #jmo.lepg-on{display:block!important}
/* v31u: Travel Docs badge off (Brad: strip junk) */
.dcbar,#dcbtn,.dcbadge{display:none!important}
/* Explore opens Plan: make sure plan picker/new trip is on screen */
html.lepg[data-pg=explore] #tl[data-tab=plan] #tlpp,
html.lepg[data-pg=travel-log] #tl[data-tab=plan] #tlpp{display:block!important}
html.lepg[data-pg=explore] #tl .tlprimary,
html.lepg[data-pg=travel-log] #tl .tlprimary{display:block!important}

/* v31u: Books = covers/map/4 book chips ONLY — no Curator/Travel Journal chrome (Brad) */
html.lepg[data-pg=books] #jmo .jhead,
html.lepg[data-pg=books] #jmo .jtabs,
html.lepg[data-pg=books] #jweek,
html.lepg[data-pg=books] #jp-trips > .jlegend,
html.lepg[data-pg=books] #jp-trips > .jprog,
html.lepg[data-pg=books] #jp-trips > #jbadges,
html.lepg[data-pg=books] #jbadges,
html.lepg[data-pg=books] .jbadges,
html.lepg[data-pg=books] #jmo .jfoot,
html.lepg[data-pg=books] #jsignout,
html.lepg[data-pg=books] #jmo .jexport,
html.lepg[data-pg=books] #jexport,
html.lepg[data-pg=books] .exjlbtn,
html.lepg[data-pg=books] #exjl,
html.lepg[data-pg=books] [data-exjl],
html.lepg[data-pg=books] .lexhub{display:none!important}
/* Keep map + 4 book chips */
html.lepg[data-pg=books] #exwrap,
html.lepg[data-pg=books] #jp-trips .jchips{display:block!important}

/* Books badges force-hide */
html.lepg[data-pg=books] #jbadges,html.lepg[data-pg=books] .jbadges,html.lepg[data-pg=books] .jbadge{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important}

/* v31u Lab AZ: no under-map stop list / cross-section extras; book pins + card info sheets */
#hpan-3 .lbstops,#hpan-3 .lbmore{display:none!important}
.lbaz .lbpin{opacity:1}
.lbaz .lbpin .lbdot{box-shadow:0 0 0 3px #f2c14e,0 0 12px 4px rgba(242,193,78,.7)}
.lefcard .lefcsub{font:600 13px/1.3 inherit;color:#5a4a32}
.lefcard .lefcbody{padding:8px 4px 2px;font:500 14px/1.45 inherit;color:#2b2418}
.lefcard .lefclbl{margin:0 0 4px;font-weight:700}
.lefcard .lefcfacts{margin:0 0 8px;padding-left:1.2em}
.lefcard .lefcsafe{margin:6px 0 0;color:#6a2a12}
.lefcard[open]{box-shadow:0 0 0 3px #f2c14e}

/* v31u-meetdedupe1: /explorers retired — Meet heading stays on Home #family */
/* Hiding-spot circles always visible (locked until date) */
#family .v31ifr{border-radius:50%!important;overflow:hidden;box-shadow:0 0 0 3px #ffe9c4,0 0 0 8px rgba(63,122,74,.32),0 8px 18px rgba(40,30,10,.22)!important;-webkit-mask-image:radial-gradient(circle,#000 62%,transparent 73%)!important;mask-image:radial-gradient(circle,#000 62%,transparent 73%)!important}
#family .v31ivs.v31kc .v31ifr img{border-radius:50%!important}
li.v31ivs.lemlock{opacity:.92;cursor:default}
li.v31ivs.lemlock .v31ifr{filter:saturate(.92)}
/* v31u-navseq25: unlocked Meet circle — soft glow so people know to tap */
li.v31ivs.lemrel{cursor:pointer;z-index:2}
li.v31ivs.lemrel .v31ifr{
  box-shadow:0 0 0 3px rgba(255,248,234,.95),0 0 0 7px rgba(45,138,62,.55),0 8px 22px rgba(45,138,62,.35);
  animation:lemglow 2.2s ease-in-out infinite;
}
li.v31ivs.lemrel b{color:#2d8a3e}
@keyframes lemglow{
  0%,100%{box-shadow:0 0 0 3px rgba(255,248,234,.95),0 0 0 7px rgba(45,138,62,.5),0 8px 20px rgba(45,138,62,.3)}
  50%{box-shadow:0 0 0 4px rgba(255,248,234,1),0 0 0 10px rgba(45,138,62,.7),0 10px 28px rgba(45,138,62,.45)}
}
@media (prefers-reduced-motion:reduce){li.v31ivs.lemrel .v31ifr{animation:none}}
li.v31ivs[hidden]{display:flex!important} /* never hide circles via hidden attr after meet() */
.lemnone{display:flex!important} /* never collapse the circle row */


/* v31u Brad voice 2026-10-23: Books page — no Zip in title bar; no duplicate Books h1 near Go Back */
html.lepg[data-pg=books] .lepgh-zip,
html.lepg[data-pg=books] .lezip-st{display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}
html.lepg[data-pg=books] .lepgh-t{display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;padding:0!important;margin:0!important;background:none!important;pointer-events:none!important;font-size:0!important}
/* Keep map Zip on Arizona map */
/* map Zip off — heading Zip+flower on /books/arizona */
.lezip-az{display:none!important}
/* Start the journey ONLY on US map */
.exmap .pkpin,#exwrap[data-view=az] .pkpin{display:none!important}
.usmap .pkpin,#exwrap[data-view=us] .usmap .pkpin{display:block!important;position:absolute;left:calc(var(--dx) / 924 * 100%);top:calc(var(--dy) / 578 * 100%);transform:translate(-50%,-50%);z-index:4;width:calc(96 / 924 * 100%);min-width:58px}
/* Lab: no big cream content box — sky art shows through the outer card */
html.lepg[data-pg=lab] #hpan-3 .hxcard{background-color:transparent!important;border:0!important;box-shadow:none!important}
html.lepg[data-pg=lab] #hpan-3 .lbbody{background:transparent!important;box-shadow:none!important}
/* Title/lede stay light pills only when needed; keep them clear of a full panel */
html.lepg[data-pg=lab] #hpan-3 .hxcard>h2,
html.lepg[data-pg=lab] #hpan-3 .hxcard>p{background:transparent!important}
/* v31u Brad 2026-10-23: activity text vanished over dark desert floor of learn-sky after cream-box removal.
   Restore per-row / caption scrims so titles + opened body read — NOT the big cream Lab box. */
html.lepg[data-pg=lab] #hpan-3 .lbact{
  background:rgba(255,250,242,.86)!important;
  border:1px solid rgba(234,215,184,.7)!important;
  box-shadow:0 2px 10px rgba(40,30,10,.12)!important;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
html.lepg[data-pg=lab] #hpan-3 .lbact summary,
html.lepg[data-pg=lab] #hpan-3 .lbin,
html.lepg[data-pg=lab] #hpan-3 .lbin p{
  color:#2b2418!important;
}
html.lepg[data-pg=lab] #hpan-3 .lbbook,
html.lepg[data-pg=lab] #hpan-3 .lbstop,
html.lepg[data-pg=lab] #hpan-3 .lbmsg,
html.lepg[data-pg=lab] #hpan-3 .lbh,
html.lepg[data-pg=lab] #hpan-3 .lbnote,
html.lepg[data-pg=lab] #hpan-3 .lbstep{
  background:rgba(255,250,240,.88)!important;
  color:#2b2418!important;
  border-radius:10px;
  padding:4px 10px;
  display:table;
  box-shadow:0 1px 3px rgba(40,30,10,.1);
}
/* Direct route: no us↔az zoom jump */
html.le-direct .exwrap.zooming .usmap{transition:none!important;transform:none!important;opacity:1!important}
html.le-direct .exwrap[data-view=az] .exmap,
html.le-direct .exwrap[data-view=us] .usmap{animation:none!important}

/* v31u Brad 2026-10-23: state-map Zip+flower in heading chrome (clear of map labels/pins); sharp CSS scale */
.lezip-az{display:none!important}
.lepgh-zipfl{display:none;position:relative;width:88px;height:96px;flex:0 0 auto;margin-left:4px;pointer-events:none}
.lepgh.has-zipfl .lepgh-zipfl,.lepgh-zipfl:not([hidden]){display:block}
html.lepg[data-lepath="/books/arizona"] .lepgh-zipfl{display:block!important;visibility:visible!important;width:88px!important;height:96px!important;overflow:visible!important}
html.lepg[data-lepath="/books/arizona"] .lepgh-t{display:block!important;visibility:visible!important;width:auto!important;height:auto!important;overflow:visible!important;font-size:clamp(22px,3.4vw,34px)!important;flex:1!important;background:none!important;pointer-events:auto!important}
html.lepg[data-lepath="/books/arizona"] .lepgh-zip{display:none!important} /* bare Zip; combo uses .lepgh-zipbird */
.lepgh-fl{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:72px;width:auto;max-width:78px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.28))}
.lepgh-zipbird{position:absolute;left:62%;top:2px;width:46px;height:auto;transform:translateX(-50%) scaleX(-1);z-index:2;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}/* Brad: face the flower */
@media(max-width:639px){
  html.lepg[data-lepath="/books/arizona"] .lepgh-zipfl{width:72px!important;height:80px!important}
  .lepgh-fl{height:58px;max-width:64px}
  .lepgh-zipbird{width:38px}
}

/* v31u-stampform2: never float My Passport on books / book reader */
html.lenopass #lebjournal,
html.bkopen #lebjournal,
html.lepg[data-lepath^="/books"] #lebjournal,
html.lepg[data-pg=books] #lebjournal{display:none!important;visibility:hidden!important;pointer-events:none!important}
#jsmo{z-index:10050!important}
#jsgo.jgo.big{background:#c4502e!important;color:#fff!important;position:static!important;width:100%!important;-webkit-appearance:none!important;appearance:none!important}
#jsmo #jshub,#jsmo #jhats,#jsmo #jsfact{display:none!important}


/* v31u-navseq8: Arizona books page = visible #exwrap map + chips */
html.lepg[data-pg=books] #exwrap.lepg-on,html.lepg #exwrap.lepg-on{display:block!important;position:relative!important;inset:auto!important;z-index:auto!important;opacity:1!important;visibility:visible!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0 12px 24px!important;margin:0 auto!important;max-width:min(1100px,100%)!important;background:transparent!important}
html.lepg[data-pg=books] #exwrap.lepg-on .exmap{display:block!important;opacity:1!important;visibility:visible!important}
html.lepg[data-pg=books] #exwrap.lepg-on[data-view=az] .usmap{display:none!important}
html.lepg[data-pg=books] #lebkchips{display:flex!important;flex-wrap:wrap;gap:8px;margin:10px 0 12px}
html.lepg[data-pg=books] #meet:not(.lepg-on){display:contents!important}

/* v31u-navseq9: dedicated Arizona books page */
html.lepg #bkazpage.lepg-on{display:block!important;position:static!important;padding:0 12px 28px!important;max-width:min(1100px,100%)!important;margin:0 auto!important}
#bkazpage .bkazlead{margin:4px 0 10px;font:600 16px/1.35 Georgia,serif;color:#2b2418;background:rgba(255,250,240,.9);border-radius:12px;padding:8px 12px}
#bkazpage #bkazchips{display:flex!important;flex-wrap:wrap;gap:8px;margin:0 0 14px}
#bkazpage #bkazchips .jchip,#bkazpage #lebkchips .jchip,html.lepg[data-pg=books] .lebkchips .jchip{font:700 14px/1.2 Georgia,serif;padding:10px 12px;border-radius:999px;border:2.5px solid var(--bc,#6b4a30);background:color-mix(in srgb,var(--bc,#6b4a30) 18%,#fffaf0);color:#2b2418;cursor:pointer}
#bkazpage #bkazchips .jchip.jall,html.lepg[data-pg=books] .lebkchips .jchip.jall{--bc:#6b4a30;background:#fffaf0;border-color:#6b4a30;color:#3a2a18}
#bkazpage #bkazchips .jchip.jbk,html.lepg[data-pg=books] .lebkchips .jchip.jbk{border-color:var(--bc);background:color-mix(in srgb,var(--bc) 22%,#fffaf0);color:#1f1810}
#bkazpage #bkazchips .jchip[aria-pressed=true],html.lepg[data-pg=books] .lebkchips .jchip[aria-pressed=true]{background:var(--bc,#6b4a30);border-color:var(--bc,#6b4a30);color:#fff}
#bkazpage #bkazchips .jchip.jbk[aria-pressed=true],html.lepg[data-pg=books] .lebkchips .jchip.jbk[aria-pressed=true]{background:var(--bc);border-color:var(--bc);color:#fff}
#bkazpage #bkazmap,#bkazpage #exwrap{display:block!important;position:relative!important;inset:auto!important;z-index:auto!important;opacity:1!important;visibility:visible!important;width:100%!important;max-width:1100px!important;margin:0 auto!important;background:transparent!important}
#bkazpage #exwrap[data-view=az] .usmap{display:none!important}
#bkazpage #exwrap[data-view=az] .exmap{display:block!important;opacity:1!important;visibility:visible!important;width:100%!important}
/* v31u-azmapfix1 (2026-10-27): keep map box on the SAME aspect the stop coords use.
   Desk circles = --dx/--dy on 924×578; phone = --px/--py on 350×700. Forcing 924/578 on
   #bkazpage broke phone (and height:auto on the art let the painted map diverge from the
   positioning box), so Book 1–4 glows floated into the sky / margins. */
#bkazpage #exwrap .exmap{aspect-ratio:924/578;overflow:hidden}
@media(max-width:639px){#bkazpage #exwrap .exmap{aspect-ratio:350/700}}


/* v31u-navseq10: map must paint under chips */
#bkazpage #bkazmap{min-height:220px;width:100%}
/* Fill the aspect box exactly — do NOT height:auto (that desyncs art from % coords). */
#bkazpage #exwrap .exmap .exbg,#bkazpage #exwrap .exmap .exbg img{
  display:block!important;position:absolute!important;top:0!important;left:0!important;
  width:100%!important;height:100%!important;max-width:none!important;object-fit:fill!important;
  opacity:1!important;visibility:visible!important}
/* Keep hit-targets visible/tappable; do NOT force opacity:1 (book chip filter dims others). */
#bkazpage #exwrap .scn{display:block!important;visibility:visible!important;pointer-events:auto!important}


/* v31u-navseq11: book chips use each book's cover color */
#bkazpage #bkazchips .jchip[data-bk="1"],html.lepg[data-pg=books] .lebkchips .jchip[data-bk="1"]{--bc:#c27a1f}
#bkazpage #bkazchips .jchip[data-bk="2"],html.lepg[data-pg=books] .lebkchips .jchip[data-bk="2"]{--bc:#5b8f4e}
#bkazpage #bkazchips .jchip[data-bk="3"],html.lepg[data-pg=books] .lebkchips .jchip[data-bk="3"]{--bc:#7a5c9e}
#bkazpage #bkazchips .jchip[data-bk="4"],html.lepg[data-pg=books] .lebkchips .jchip[data-bk="4"]{--bc:#b5523b}


/* v31u-navseq12: one chip row; spread links under map */
#bkazpage #lebkchips{display:none!important}
#bkazpage #lebkspreads{display:block;margin:14px 0 24px;padding:12px 14px;background:rgba(255,250,240,.92);border-radius:16px;border:2px solid #c4a07a}
#bkazpage #lebkspreads h3{margin:0 0 8px;font:700 1.05rem Georgia,serif;color:#3a2a18}
#bkazpage #lebkspreads .lebkprompt{margin:0;color:#5a3a22}
#bkazpage #lebkspreads ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
#bkazpage #lebkspreads .lebksp{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:600 15px/1.25 Georgia,serif;padding:10px 12px;border-radius:12px;border:2px solid #3f7a4a;background:#fff;color:#24512f;cursor:pointer}
#bkazpage #lebkspreads .lebksp:hover{background:#eef6ea}
#bkazpage #lebkspreads .lebksp-n{flex:none;font-size:12px;opacity:.75}
#bkazpage .lebknote{margin:8px 0 0;padding:8px 12px;border-radius:12px;background:rgba(255,250,240,.9);font:600 14px/1.3 Georgia,serif;color:#2b2418}

/* v31u-navseq15: scene preview must sit above Arizona Books page chrome */
/* v31u-navseq15: scene/character modals must show above Books chrome (were killed by wrap>* hide) */
html.lepg #smo.mo:not([hidden]),html.lepg #cmo.mo:not([hidden]),html.lepg #mo.mo:not([hidden]){display:flex!important;z-index:10060!important}
html.lepg #smo.mo[hidden],html.lepg #cmo.mo[hidden],html.lepg #mo.mo[hidden]{display:none!important}

.v31lvo .v31lvback{display:inline-flex!important;position:relative!important;top:auto!important;left:auto!important;margin:0!important}

/* v31u-nodash1: remove leftover explorer character trails from Books AZ map */
html.lepg[data-pg=books] .exmap .exl.ctr{display:none!important;opacity:0!important;pointer-events:none!important}

/* v31u-homeleak1 (2026-10-29): #bkazpage only shows on /books/arizona (was leaking onto Home after Go Back) */
#bkazpage:not(.lepg-on){display:none!important}
