/* ═══════════════════════════════════════════════════════════════
   FUN BIBLE ONLINE — LANTERN
   Loaded last on every page. Purple night, fluorescent yellow,
   a few bright supporting colours. Retunes style.css through its
   own tokens, then lays out the app shell (sidebar, top bar, dock),
   the home page and the shared components.
   ═══════════════════════════════════════════════════════════════ */

:root{
  color-scheme:dark;

  /* palette */
  --lt-night:#120828;
  --lt-deep:#0b0420;
  --lt-surf:#1d0f42;
  --lt-surf2:#28165c;
  --lt-line:#3a2482;
  --lt-ink:#f6f1ff;
  --lt-mute:#b8a7e8;
  --lt-neon:#eeff41;   --lt-neon-d:#a9b800;
  --lt-violet:#b14bff; --lt-violet-d:#6d1fc0;
  --lt-pink:#ff4fb8;   --lt-pink-d:#b8237f;
  --lt-cyan:#3ee6ff;   --lt-cyan-d:#1497b0;
  --lt-mint:#4dffb0;   --lt-mint-d:#16a96b;
  --lt-on-bright:#1a0b33;

  --lt-side:268px;
  --lt-r:22px;

  /* retune style.css tokens */
  --gold:#eeff41; --gold-light:#f5ff8a; --gold-dark:#c8d70e; --gold-pale:#f3ecff;
  --purple:#b14bff; --teal:#3ee6ff;
  --dark-bg:var(--lt-night); --dark-surface:var(--lt-surf); --dark-card:var(--lt-surf);
  --dark-border:var(--lt-line); --dark-border2:#4b2fa0;
  --dark-text:var(--lt-ink); --dark-muted:var(--lt-mute); --dark-dimmed:#e2d8ff;
  /* light mode is retired, but keep its tokens on the same night look */
  --light-bg:var(--lt-night); --light-surface:var(--lt-surf); --light-card:var(--lt-surf);
  --light-border:var(--lt-line); --light-border2:#4b2fa0;
  --light-text:var(--lt-ink); --light-muted:var(--lt-mute); --light-dimmed:#e2d8ff;
  --shadow-gold:0 0 24px rgba(177,75,255,.35);
  --shadow-glow:0 0 40px rgba(177,75,255,.25);
  --font-display:'Fredoka',system-ui,sans-serif;
  --font-title:'Fredoka',system-ui,sans-serif;
  --font-body:'Nunito',system-ui,sans-serif;
  --font-ui:'Nunito',system-ui,sans-serif;
  --hdr-h:72px;
}

/* colour roles: any element with .lt-c-* gets --c / --c-d */
.lt-c-neon  {--c:var(--lt-neon);  --c-d:var(--lt-neon-d)}
.lt-c-violet{--c:var(--lt-violet);--c-d:var(--lt-violet-d)}
.lt-c-pink  {--c:var(--lt-pink);  --c-d:var(--lt-pink-d)}
.lt-c-cyan  {--c:var(--lt-cyan);  --c-d:var(--lt-cyan-d)}
.lt-c-mint  {--c:var(--lt-mint);  --c-d:var(--lt-mint-d)}

/* ── ground ──────────────────────────────────────────────────── */
html{font-size:17px;background:var(--lt-night)}
html body,html body.dark,html body.light{
  color:var(--lt-ink);
  font-family:'Nunito',system-ui,sans-serif;
  background:
    radial-gradient(1100px 620px at 85% -8%, #3d1785 0%, transparent 60%),
    radial-gradient(900px 560px at -5% 35%, #26105e 0%, transparent 62%),
    radial-gradient(800px 500px at 60% 110%, #2b0f5a 0%, transparent 60%),
    var(--lt-night);
  background-attachment:fixed;
  line-height:1.55;
}
::selection{background:var(--lt-neon);color:var(--lt-on-bright)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#4b2fa0;border-radius:10px;border:2px solid var(--lt-night)}
:focus-visible{outline:3px solid var(--lt-neon)!important;outline-offset:3px}
h1,h2,h3,h4{font-family:'Fredoka',system-ui,sans-serif;font-weight:600;text-wrap:balance}

/* old decoration off */
#starfield,#particles,.app-overlay,.app-bg,#scroll-bg,#scroll-handle,
.quick-nav-strip,#view-toggle,#look-picks,#tbtn,.theme-btn,#mnubtn,
.home-footer-note,.meta-hint{display:none!important}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ═════════════ SHELL ═════════════ */

/* sidebar (self-contained: some pages don't load style.css) */
#sidenav{position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;overflow:hidden;
  transform:translateX(-100%);transition:transform .28s cubic-bezier(.25,.46,.45,.94)}
#sidenav.open{transform:translateX(0)}
#sidenav .snhdr{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
#sidenav .snitems{flex:1;overflow-y:auto}
#sidenav .sncls{background:none;border:0;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;cursor:pointer}
#nav-overlay{position:fixed;inset:0;z-index:150;display:none}
#nav-overlay.active{display:block;background:rgba(8,3,22,.6);backdrop-filter:blur(4px)}
html #sidenav,html body.dark #sidenav{
  background:rgba(11,4,32,.94);
  border-right:1px solid var(--lt-line);
  width:var(--lt-side);
  z-index:160;
  backdrop-filter:blur(14px);
}
#sidenav .snhdr{border:0;padding:20px 16px 14px}
.lt-logo{display:flex;align-items:center;gap:11px;color:var(--lt-ink);text-decoration:none}
.lt-logo-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,var(--lt-violet),#7b2cff 60%,var(--lt-pink));
  box-shadow:0 0 22px rgba(177,75,255,.55)}
.lt-logo-mark svg{width:20px;height:20px;fill:var(--lt-neon)}
.lt-logo-text{font-family:'Fredoka',sans-serif;font-weight:600;font-size:1.5rem;letter-spacing:.01em}
.lt-logo-text b{color:var(--lt-neon);font-weight:700}
#sidenav .sncls{color:var(--lt-mute)}
#sidenav .sn-verse,#sidenav .hdr-controls{display:none}
#sidenav .snitems{padding:4px 12px 16px}
#sidenav .sn-group{
  margin:16px 10px 6px;font:800 .72rem/1 'Nunito',sans-serif;letter-spacing:.16em;
  text-transform:uppercase;color:#8d7cc9;
}
html #sidenav .sni,html body.dark #sidenav .sni{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:8px 10px;margin:2px 0;border:0;border-radius:14px;
  background:none;color:#ddd3ff;font:700 1rem/1.2 'Nunito',sans-serif;text-align:left;
  transition:background .18s,color .18s;
}
#sidenav .sni:hover{background:var(--lt-surf);color:#fff}
html #sidenav .sni.active,html body.dark #sidenav .sni.active{
  background:var(--lt-surf2);color:#fff;border:0;
  box-shadow:inset 0 0 0 1px var(--lt-line),0 0 18px rgba(177,75,255,.18);
}
#sidenav .sni-icon{
  width:34px;height:34px;border-radius:11px;flex:none;display:grid;place-items:center;
  background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);
  transition:background .18s,color .18s;
}
#sidenav .sni:hover .sni-icon,#sidenav .sni.active .sni-icon{background:var(--c);color:var(--lt-on-bright)}
#sidenav .sni-icon svg{width:19px;height:19px}
#sidenav .sni span:nth-child(2){flex:1}
#sidenav .sni-new{
  margin-left:auto;font:800 .64rem/1 'Nunito',sans-serif;letter-spacing:.08em;
  padding:4px 8px;border-radius:99px;background:var(--lt-neon);color:var(--lt-on-bright);
  -webkit-text-fill-color:var(--lt-on-bright);
}
#sidenav .sn-footer{border-top:1px solid var(--lt-line);padding:14px 18px;color:var(--lt-mute);font-size:.85rem}
#sidenav .sn-footer .lt-small{font-size:.75rem;opacity:.6;margin-top:2px}
#admin-nav-btn{background:rgba(238,255,65,.12)!important;border-color:rgba(238,255,65,.35)!important;color:var(--lt-neon)!important}

/* top bar */
.hdr{position:fixed;top:0;left:0;right:0}
.hdr-inner{display:flex;align-items:center}
.hdr button{cursor:pointer;font-family:inherit}
html .hdr,html body.dark .hdr{
  height:var(--hdr-h);
  background:rgba(18,8,40,.78);
  border-bottom:1px solid rgba(58,36,130,.7);
  backdrop-filter:blur(16px) saturate(160%);
  z-index:100;
}
html body .hdr{width:auto!important;right:0;overflow:visible!important}
html body .hdr-inner{max-width:none;margin:0;height:100%;padding:0 28px!important;gap:14px!important;justify-content:flex-start;overflow:visible!important}
html body .hdr .hdr-controls{gap:10px!important}
.hdr .logo{display:flex;align-items:center;gap:10px;background:none;border:0;padding:0}
.hdr .logo .lt-logo-mark{width:36px;height:36px}
.hdr .logo .lt-logo-text{font-size:1.3rem;color:var(--lt-ink)}
.lt-menu-btn{
  display:grid;place-items:center;width:44px;height:44px;flex:none;
  border-radius:14px;border:1px solid var(--lt-line);background:var(--lt-surf);color:var(--lt-ink);
}
.lt-menu-btn svg{width:22px;height:22px}

.lt-search{position:relative;flex:1 1 320px;max-width:620px;display:flex;align-items:center;gap:10px;
  background:var(--lt-surf);border:1px solid var(--lt-line);border-radius:16px;padding:0 16px;height:48px;color:var(--lt-mute)}
.lt-search:focus-within{border-color:var(--lt-violet);box-shadow:0 0 0 4px rgba(177,75,255,.22)}
.lt-search>svg{width:20px;height:20px;flex:none}
.lt-search input{flex:1;min-width:0;height:100%;border:0;background:none;color:var(--lt-ink);font:600 1rem 'Nunito',sans-serif;outline:none}
.lt-search input::placeholder{color:#9a8acb}
.lt-search-list{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:200;
  background:var(--lt-surf);border:1px solid var(--lt-line);border-radius:18px;padding:6px;
  box-shadow:0 18px 48px rgba(0,0,0,.5);max-height:60vh;overflow:auto}
.lt-search-list button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;
  padding:11px 14px;border:0;border-radius:12px;background:none;color:var(--lt-ink);font:700 1rem 'Nunito',sans-serif;text-align:left}
.lt-search-list button small{color:var(--lt-mute);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.lt-search-list button:hover,.lt-search-list button.on{background:var(--lt-surf2)}
.lt-search-empty{padding:14px;color:var(--lt-mute)}
.lt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* controls moved into the top bar */
.hdr .hdr-controls{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:nowrap;padding:0}
.lt-streak{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:99px;
  background:var(--lt-neon);color:var(--lt-on-bright);font:800 .95rem 'Nunito',sans-serif;white-space:nowrap;
  box-shadow:0 0 18px rgba(238,255,65,.35)}
.lt-streak svg{width:17px;height:17px}
html body .score-pill{height:40px;background:var(--lt-surf);border:1px solid var(--lt-line);border-radius:99px}
html body .score-item{color:var(--lt-neon);font-weight:800}
html body .score-hs{color:var(--lt-violet)}
html body .hdr-btn,html body .age-btn{width:40px;
  height:40px;min-width:40px;border-radius:99px;
  background:var(--lt-surf);border:1px solid var(--lt-line);color:var(--lt-ink);
}
html body .hdr-btn:hover,html body .age-btn:hover{background:var(--lt-surf2);border-color:var(--lt-violet)}
html body .hdr .hdr-controls>*{flex:none}
html body #auth-btn{width:auto;padding:0 18px;gap:8px;font:800 .95rem 'Nunito',sans-serif;max-width:none;overflow:visible;
  background:var(--lt-violet);border:1px solid var(--lt-violet);color:#fff;box-shadow:0 0 18px rgba(177,75,255,.4)}
html body #auth-btn:hover{background:#c26bff}
html body .age-dropdown{background:var(--lt-surf);border:1px solid var(--lt-line);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.5);right:0;left:auto}
html body .age-dropdown button{color:var(--lt-ink);font:700 .98rem 'Nunito',sans-serif;border-radius:10px}
html body .age-dropdown button:hover{background:var(--lt-surf2)}
#xp-badge:empty{display:none}
html body .hdr .age-btn{width:auto;padding:0 12px;gap:4px}

/* phone dock */
#lt-dock{display:none}

/* desktop: sidebar always open */
@media (min-width:1000px){
  html #sidenav,html body.dark #sidenav{transform:none!important;box-shadow:none}
  #nav-overlay{display:none!important}
  #sidenav .sncls{display:none}
  html body{padding-left:var(--lt-side)}
  html .hdr{left:var(--lt-side)!important}
  .lt-menu-btn,.hdr .logo{display:none!important}
}
/* phone + tablet */
@media (max-width:999px){
  :root{--hdr-h:64px}
  html body .hdr-inner{padding:0 12px!important;gap:8px!important}
  html body .hdr .hdr-controls{gap:6px!important}
  .lt-search{height:44px;flex:1 1 auto;padding:0 12px}
  .hdr .score-pill,.hdr #bbtn,.hdr #xp-badge{display:none!important}
  html body #auth-btn{padding:0 14px;font-size:.88rem}
  html body{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}
  #lt-dock{
    display:flex;position:fixed;z-index:120;left:50%;transform:translateX(-50%);
    bottom:calc(10px + env(safe-area-inset-bottom,0px));
    gap:4px;padding:6px;border-radius:24px;max-width:calc(100% - 24px);
    background:rgba(11,4,32,.95);border:1px solid var(--lt-line);box-shadow:0 12px 34px rgba(0,0,0,.55);
  }
  #lt-dock button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border:0;border-radius:18px;
    background:none;color:#d6ccff;font:800 .78rem 'Nunito',sans-serif}
  #lt-dock button svg{width:24px;height:24px}
  #lt-dock button.on{background:var(--lt-neon);color:var(--lt-on-bright)}
}
@media (max-width:640px){
  .hdr .logo{display:none!important}
  html body #auth-btn{font-size:0!important;padding:0!important;width:40px!important;height:40px!important;min-width:40px!important;justify-content:center}
  html body #auth-btn svg{width:18px;height:18px}
  .lt-streak{padding:0 10px;font-size:.85rem}
  .hdr .age-selector{display:none}
  .lt-search input::placeholder{font-size:.9rem}
}
@media (max-width:420px){ .lt-streak{display:none} }

/* ═════════════ PAGE FRAME ═════════════ */
html body .pg{
  max-width:1120px;
  padding:calc(var(--hdr-h) + 28px) 32px 80px;
  z-index:4;
}
@media (max-width:640px){ html body .pg{padding:calc(var(--hdr-h) + 18px) 16px 40px} }

/* page header */
html body .pg-hdr{display:flex;align-items:center;gap:16px;margin:0 0 22px;padding:0;border:0;background:none}
html body .pg-title{
  font-family:'Fredoka',sans-serif;font-weight:600;font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.1;
  color:var(--lt-ink);-webkit-text-fill-color:var(--lt-ink);background:none;letter-spacing:0;text-shadow:none;
}
html body .back-btn,html body .pg-back{
  display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:99px;
  background:var(--lt-surf);border:1px solid var(--lt-line);color:var(--lt-ink);font:800 .92rem 'Nunito',sans-serif;
}
html body .back-btn:hover,html body .pg-back:hover{border-color:var(--lt-violet);background:var(--lt-surf2);transform:none}
html body .section-divider{font-family:'Fredoka',sans-serif;font-weight:600;font-size:1.3rem;letter-spacing:.02em;
  text-transform:none;color:var(--lt-neon);margin:34px 0 16px}
html body .section-divider::before,html body .section-divider::after{background:linear-gradient(90deg,transparent,var(--lt-line),transparent)}

/* intro paragraphs keep a comfortable width */
.comfort-intro,.quotes-intro,.watch-sub,.prayer-wall-sub{max-width:68ch;color:var(--lt-mute);font-size:1.08rem}

/* shared surfaces */
html body .overlay{background:rgba(8,3,22,.78);backdrop-filter:blur(8px)}
html body .overlay-box{background:var(--lt-surf);border:1px solid var(--lt-line);border-radius:26px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
html body .overlay-hdr{background:var(--lt-surf2);border-color:var(--lt-line)}
html body .ov-title{font-family:'Fredoka',sans-serif;font-weight:600;color:var(--lt-ink)}
html body .ov-close{background:var(--lt-surf);border:1px solid var(--lt-line);color:var(--lt-ink);border-radius:12px}

/* inputs */
html body input[type="text"],html body input[type="search"],html body input[type="email"],html body input[type="password"],
html body textarea,html body select{
  background:var(--lt-surf);border:1px solid var(--lt-line);color:var(--lt-ink);border-radius:14px;font-family:'Nunito',sans-serif;
}
html body input::placeholder,html body textarea::placeholder{color:#9a8acb}
html body input:focus,html body textarea:focus,html body select:focus{border-color:var(--lt-violet);box-shadow:0 0 0 4px rgba(177,75,255,.2);outline:none}
.lt-search input,.lt-search input:focus{border:0!important;box-shadow:none!important;background:none!important}

/* story grid cards */
html body .sg{gap:20px}
html body .sc{border-radius:var(--lt-r);border:1px solid var(--lt-line);box-shadow:0 10px 26px rgba(0,0,0,.35);overflow:hidden}
html body .sc:hover{transform:translateY(-4px);border-color:var(--lt-violet);box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 26px rgba(177,75,255,.3)}

/* ═════════════ HOME ═════════════ */
html body .pg.lt-home{max-width:1340px}
.lt-hello h1{font-size:clamp(2rem,3.6vw,3rem);line-height:1.05;margin:4px 0 6px}
.lt-hello h1 b{color:var(--lt-neon);font-weight:700}
.lt-hello p{color:var(--lt-mute);margin:0 0 26px;font-size:1.12rem;max-width:62ch}
.lt-muted{color:var(--lt-mute)}

.lt-row1{display:grid;grid-template-columns:1.45fr 1fr;gap:20px}
.lt-hero{position:relative;overflow:hidden;border-radius:30px;padding:36px 38px;min-height:380px;
  display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(135deg,#5b1fc4 0%,#3a1592 42%,#1f0d5c 100%);
  box-shadow:0 24px 60px rgba(8,3,22,.6),inset 0 0 0 1px rgba(255,255,255,.08)}
.lt-hero-glow{position:absolute;right:-100px;top:-110px;width:460px;aspect-ratio:1;border-radius:50%;
  background:url(images/kingdom/rose-window.jpg) center/cover;opacity:.5;
  -webkit-mask:radial-gradient(circle,#000 34%,transparent 70%);mask:radial-gradient(circle,#000 34%,transparent 70%);
  animation:ltSpin 140s linear infinite}
@keyframes ltSpin{to{transform:rotate(360deg)}}
.lt-hero>*:not(.lt-hero-glow){position:relative}
.lt-tag{align-self:flex-start;font:800 .78rem/1 'Nunito',sans-serif;letter-spacing:.12em;text-transform:uppercase;
  background:var(--lt-neon);color:var(--lt-on-bright);padding:7px 13px;border-radius:99px;box-shadow:0 0 18px rgba(238,255,65,.4)}
.lt-hero blockquote{font-family:'Fredoka',sans-serif;font-weight:600;font-size:clamp(1.8rem,3.1vw,2.7rem);line-height:1.13;
  margin:16px 0 10px;max-width:21ch;color:#fff;text-wrap:balance}
.lt-hero cite{font-style:normal;color:#dccfff;font-size:1.12rem;font-weight:800}
.lt-acts{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.lt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;padding:14px 24px;
  font:600 1.12rem 'Fredoka',sans-serif;text-decoration:none;cursor:pointer;
  background:var(--lt-neon);color:var(--lt-on-bright);box-shadow:0 5px 0 var(--lt-neon-d);transition:transform .1s,box-shadow .1s}
.lt-btn:hover{filter:brightness(1.05)}
.lt-btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--lt-neon-d)}
.lt-btn-violet{background:rgba(255,255,255,.14);color:#fff;box-shadow:0 5px 0 rgba(0,0,0,.28)}
.lt-btn-violet:active{box-shadow:0 1px 0 rgba(0,0,0,.28)}

.lt-cont{display:grid;gap:16px}
.lt-card{display:flex;gap:16px;align-items:center;padding:16px 18px;border-radius:24px;text-decoration:none;color:var(--lt-ink);
  background:var(--lt-surf);border:1px solid var(--lt-line);transition:transform .2s,border-color .2s,box-shadow .2s}
.lt-card:hover{transform:translateY(-3px);border-color:var(--c);box-shadow:0 0 24px color-mix(in srgb,var(--c) 30%,transparent)}
.lt-card img{width:92px;height:92px;border-radius:18px;object-fit:cover;flex:none}
.lt-card>div{flex:1;min-width:0}
.lt-card small{color:var(--c);font:800 .76rem/1.2 'Nunito',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.lt-card h3{margin:4px 0 2px;font-size:1.28rem;line-height:1.2}
.lt-card p{margin:0;color:var(--lt-mute);font-size:.98rem}
.lt-bar{height:10px;border-radius:6px;background:var(--lt-deep);margin-top:10px;overflow:hidden}
.lt-bar i{display:block;height:100%;min-width:10px;border-radius:6px;background:var(--c);box-shadow:0 0 12px var(--c)}

.lt-h2{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:48px 0 18px}
.lt-h2 h2{font-size:1.9rem;margin:0}
.lt-h2 a{color:var(--lt-neon);font-weight:800;text-decoration:none}
.lt-h2 a:hover{text-decoration:underline;text-underline-offset:4px}

.lt-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:18px}
.lt-tile{position:relative;overflow:hidden;border-radius:26px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;
  text-decoration:none;color:#fff;border:3px solid var(--c);box-shadow:0 7px 0 var(--c-d);transition:transform .2s,box-shadow .2s}
.lt-tile:hover{transform:translateY(-4px);box-shadow:0 11px 0 var(--c-d),0 0 30px color-mix(in srgb,var(--c) 35%,transparent)}
.lt-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.lt-tile:hover img{transform:scale(1.05)}
.lt-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,8,40,0) 25%,rgba(18,8,40,.55) 55%,rgba(18,8,40,.94) 100%)}
.lt-tile>div{position:relative;z-index:1}
.lt-pill{display:inline-block;background:var(--c);color:var(--lt-on-bright);font:800 .72rem/1 'Nunito',sans-serif;letter-spacing:.08em;
  text-transform:uppercase;padding:6px 10px;border-radius:99px}
.lt-tile h3{font-size:1.6rem;margin:8px 0 2px;color:#fff}
.lt-tile p{margin:0;color:#e9e2ff;font-size:1rem}
.lt-tile.xl{grid-column:span 2;grid-row:span 2}
.lt-tile.xl h3{font-size:2.5rem}
.lt-tile.xl p{font-size:1.15rem;max-width:36ch}
.lt-tile.wide{grid-column:span 2}

.lt-split{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}
.lt-panel{background:var(--lt-surf);border:1px solid var(--lt-line);border-radius:26px;padding:28px}
.lt-panel>h2{margin:0;font-size:1.65rem}
.lt-xp{font:800 .9rem 'Nunito',sans-serif;color:var(--lt-neon);margin-left:6px;vertical-align:middle}
.lt-quiz-q{font-size:1.3rem;font-weight:800;margin:14px 0 18px}
.lt-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lt-opt{border:0;border-radius:16px;padding:16px 14px;cursor:pointer;
  font:600 1.15rem 'Fredoka',sans-serif;color:var(--lt-on-bright);background:var(--c);box-shadow:0 5px 0 var(--c-d);
  transition:transform .1s,opacity .3s,box-shadow .1s}
.lt-opt:active{transform:translateY(4px);box-shadow:0 1px 0 var(--c-d)}
.lt-opt:disabled{cursor:default}
.lt-opt.dim{opacity:.28}
.lt-opt.right{outline:4px solid #fff;outline-offset:3px}
.lt-quiz-msg{min-height:1.6em;margin-top:18px;font-weight:800;font-size:1.08rem}
.lt-quiz-msg.ok{color:var(--lt-mint)}
.lt-quiz-msg.no{color:var(--lt-pink)}

.lt-streak-big{display:flex;align-items:center;gap:16px;margin:12px 0 14px}
.lt-streak-big b{font:700 3.4rem/1 'Fredoka',sans-serif;color:var(--lt-neon);text-shadow:0 0 24px rgba(238,255,65,.45);font-variant-numeric:tabular-nums}
.lt-streak-big span{font-weight:800;font-size:1.05rem}
.lt-streak-big small{color:var(--lt-mute);font-weight:600;font-size:.9rem}
.lt-home .streak-days{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.lt-pray-head{display:flex;justify-content:space-between;align-items:baseline;margin:20px 0 4px;padding-top:18px;border-top:1px solid var(--lt-line)}
.lt-pray-head h3{margin:0;font-size:1.3rem}
.lt-pray-head a{color:var(--lt-neon);font-weight:800;text-decoration:none}
.lt-pray{display:flex;gap:12px;align-items:flex-start;padding:10px 0}
.lt-pray p{margin:0}
.lt-pray small{color:var(--lt-mute)}
.lt-av{flex:none;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font:700 1.05rem 'Fredoka',sans-serif;
  background:var(--c);color:var(--lt-on-bright)}

.lt-shelf{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:18px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory}
.lt-item{scroll-snap-align:start;text-decoration:none;color:var(--lt-ink);background:var(--lt-surf);border:1px solid var(--lt-line);
  border-radius:22px;overflow:hidden;transition:transform .2s,border-color .2s}
.lt-item:hover{transform:translateY(-4px);border-color:var(--c)}
.lt-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.lt-item>div{padding:12px 16px 16px;border-top:4px solid var(--c)}
.lt-item h3{margin:0;font-size:1.18rem}
.lt-item p{margin:2px 0 0;color:var(--lt-mute);font-size:.95rem}

.lt-foot{margin-top:56px;padding-top:22px;border-top:1px solid var(--lt-line);color:var(--lt-ink);font-size:.95rem;
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.lt-foot p{margin:0}
.lt-foot a{color:var(--lt-neon);font-weight:800}

@media (max-width:1180px){ .lt-bento{grid-template-columns:repeat(2,1fr)} }
@media (max-width:900px){
  .lt-row1,.lt-split{grid-template-columns:1fr}
  .lt-hero{min-height:320px;padding:28px}
}
@media (max-width:560px){
  .lt-bento{grid-template-columns:1fr;grid-auto-rows:190px}
  .lt-tile.xl,.lt-tile.wide{grid-column:auto}
  .lt-opts{grid-template-columns:1fr}
  .lt-card img{width:72px;height:72px}
}

/* ═════════════ BIBLE MAP (kept from the old theme, recoloured) ═════════════ */
html[data-view="map"]:has(#pg-home) body,body.on-map{overflow:hidden}
html[data-view="map"]:has(#pg-home) #pg-home,body.on-map #pg-home{display:none!important}
#the-land{display:none}
html[data-view="map"]:has(#pg-home) #the-land,body.on-map #the-land{display:block!important}
html[data-view="scroll"] #the-land{display:none!important}
html[data-view="scroll"] #pg-home{display:block!important}
#the-land{position:fixed;top:var(--hdr-h);left:0;right:0;bottom:0;z-index:5;background:var(--lt-deep)}
@media (min-width:1000px){ #the-land{left:var(--lt-side)} }
#land-viewport{position:absolute;inset:0;overflow:auto;-webkit-overflow-scrolling:touch}
#land-world{position:relative;width:max(1400px,100%);min-height:100%}
#land-world img.land-art{display:block;width:100%;height:auto;min-height:100vh;object-fit:cover;filter:saturate(1.05) hue-rotate(-8deg)}
.land-hud,.land-hint{display:none!important}
.land-mark{position:absolute;transform:translate(-50%,-50%);background:none;border:0;padding:0;cursor:pointer;z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:6px;min-width:72px}
.land-thumb{width:64px;height:64px;object-fit:cover;display:block;border-radius:50%;border:4px solid var(--lt-neon);
  box-shadow:0 0 0 4px rgba(18,8,40,.6),0 0 22px rgba(238,255,65,.5);background:var(--lt-deep);transition:transform .2s}
.land-mark:hover .land-thumb,.land-mark.on .land-thumb{transform:scale(1.1);border-color:var(--lt-pink)}
.land-label{display:block!important;font:800 .78rem/1 'Nunito',sans-serif;letter-spacing:.04em;color:#fff;
  background:rgba(18,8,40,.88);border:1px solid var(--lt-line);padding:6px 10px;margin-top:4px;white-space:nowrap;border-radius:99px}
#land-dock,#land-toc,.lb-bar,.lb-page{background:var(--lt-surf);color:var(--lt-ink);border:1px solid var(--lt-line)}
#land-dock{position:absolute;left:12px;right:12px;bottom:14px;z-index:8;display:none;max-width:580px;max-height:46vh;margin:0 auto;
  overflow:auto;border-radius:22px;box-shadow:0 20px 50px rgba(0,0,0,.55)}
#land-dock.open{display:grid;grid-template-columns:100px 1fr}
#land-dock img{width:100px;height:100%;min-height:100px;object-fit:cover;display:block}
.land-dock-copy{padding:14px 40px 14px 16px}
.land-dock-copy small{color:var(--lt-neon);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}
.land-dock-copy h2{font-size:1.4rem;margin:4px 0;color:var(--lt-ink)}
.land-dock-copy p{margin:0 0 8px;color:var(--lt-mute)}
.land-dock-close{position:absolute;right:10px;top:8px;background:none;border:0;color:var(--lt-neon);font-size:26px;cursor:pointer;line-height:1}
.land-books{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;max-height:34vh;overflow:auto}
.land-book{appearance:none;cursor:pointer;background:var(--lt-surf2);color:var(--lt-ink);border:1px solid var(--lt-line);
  font:700 .9rem/1.2 'Nunito',sans-serif;padding:8px 12px;border-radius:99px}
.land-book:hover{background:var(--lt-neon);color:var(--lt-on-bright)}
#land-toc{position:absolute;top:14px;left:14px;z-index:8;width:min(250px,46vw);max-height:min(70vh,540px);overflow:auto;
  border-radius:20px;box-shadow:0 14px 34px rgba(0,0,0,.45);padding:10px}
.toc-head{font:800 .75rem 'Nunito',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lt-neon);padding:4px 6px 8px}
#land-toc summary{cursor:pointer;list-style:none;padding:8px;font:600 1.02rem 'Fredoka',sans-serif;border-radius:10px}
#land-toc summary::-webkit-details-marker{display:none}
#land-toc summary::before{content:'▸ ';color:var(--lt-neon)}
#land-toc details[open]>summary::before{content:'▾ '}
#land-toc summary:hover{background:var(--lt-surf2)}
.toc-test{border-bottom:1px solid var(--lt-line);padding-bottom:4px;margin-bottom:4px}
.toc-books{display:flex;flex-direction:column;padding:2px 0 6px 12px}
.toc-book{appearance:none;background:none;border:0;cursor:pointer;text-align:left;padding:6px 8px;border-radius:8px;
  font:600 .95rem/1.3 'Nunito',sans-serif;color:#ddd3ff}
.toc-book:hover{background:var(--lt-neon);color:var(--lt-on-bright)}
#land-bible{position:absolute;inset:auto 12px 12px 12px;height:min(74vh,660px);z-index:9;display:none;flex-direction:column;max-width:760px;margin:0 auto}
#land-bible.open{display:flex!important}
.lb-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;margin-bottom:10px;border-radius:18px}
.lb-brand{font:600 1.1rem 'Fredoka',sans-serif;color:var(--lt-ink)}
.lb-picks{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.lb-picks select,.lb-picks button{font:700 1rem 'Nunito',sans-serif;background:var(--lt-surf2);color:var(--lt-ink);border:1px solid var(--lt-line);padding:6px 10px;border-radius:10px}
.lb-picks button{width:40px;cursor:pointer;font-size:1.2rem}
#lb-back{appearance:none;cursor:pointer;background:var(--lt-neon);color:var(--lt-on-bright);border:0;border-radius:99px;font:800 .9rem 'Nunito',sans-serif;padding:9px 14px}
.lb-page{flex:1;overflow:auto;border-radius:20px;padding:24px 28px 40px;font:400 1.18rem/1.75 'Lora',Georgia,serif}
.lb-ref{font:600 1.6rem 'Fredoka',sans-serif;margin:0 0 14px;color:var(--lt-ink)}
.lb-v{margin:0 0 .7em}
.lb-v sup{color:var(--lt-neon);font:800 .72rem 'Nunito',sans-serif;margin-right:6px}
.lb-loading{opacity:.7;font-style:italic}
.lb-credit{margin:8px 0 0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lt-mute)}
@media (max-width:700px){
  #land-dock.open{grid-template-columns:1fr}
  #land-dock img{width:100%;height:120px}
  #land-toc{width:min(210px,58vw);max-height:48vh;top:10px;left:10px}
}

/* ═════════════ SHEEP NOTEPAD (kept, recoloured) ═════════════ */
#fbo-sheep{position:fixed;z-index:80;transform:translate(-50%,-50%);background:none;border:0;cursor:grab;touch-action:none;
  display:flex;flex-direction:column;align-items:center;gap:2px}
#fbo-sheep:active{cursor:grabbing}
#fbo-sheep[hidden]{display:none!important}
#sidenav .sni[hidden]{display:none!important}
#fbo-sheep .sheep-face{font-size:38px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.5));line-height:1}
#fbo-sheep .sheep-hint{font:800 .62rem/1 'Nunito',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lt-on-bright);
  background:var(--lt-neon);padding:4px 8px;border-radius:99px}
#fbo-notepad{position:fixed;z-index:81;width:280px;display:none;pointer-events:auto}
#fbo-notepad.open{display:block}
#fbo-notepad .pad-string{position:absolute;top:-22px;left:28px;width:2px;height:22px;background:var(--lt-neon)}
#fbo-notepad .pad-sheet{background:var(--lt-surf);color:var(--lt-ink);border:1px solid var(--lt-line);border-radius:18px;
  box-shadow:0 18px 40px rgba(0,0,0,.5);transform:rotate(-1.2deg);padding:12px 14px 10px}
#fbo-notepad header{display:flex;justify-content:space-between;align-items:center;font:600 1rem 'Fredoka',sans-serif;margin-bottom:6px}
.pad-tools{display:flex;gap:4px}
.pad-tools button,.pad-ghost,.pad-save,.pad-del{appearance:none;cursor:pointer;border:1px solid var(--lt-line);background:transparent;
  color:inherit;border-radius:10px;padding:5px 9px;font:700 .78rem 'Nunito',sans-serif}
.pad-save{background:var(--lt-neon);color:var(--lt-on-bright);border:0}
#pad-text{width:100%;min-height:90px;border:0!important;resize:vertical;background:var(--lt-deep)!important;color:inherit;border-radius:12px;
  padding:8px;font:400 1rem/1.45 'Nunito',sans-serif;outline:none;box-shadow:none!important}
.pad-actions{display:flex;gap:6px;margin:6px 0}
.pad-avatars{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.pad-avatars button{font-size:18px;background:none;border:1px solid transparent;border-radius:8px;cursor:pointer;padding:2px 4px}
.pad-avatars button.on{border-color:var(--lt-neon)}
.pad-saved-head{font:800 .68rem 'Nunito',sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin:8px 0 4px}
.pad-saved{max-height:120px;overflow:auto}
.pad-item{display:flex;gap:4px;align-items:flex-start;margin-bottom:4px}
.pad-load{flex:1;text-align:left;background:var(--lt-surf2);border:0;cursor:pointer;color:inherit;font:600 .85rem/1.3 'Nunito',sans-serif;padding:7px 9px;border-radius:10px}
.pad-load small{display:block;opacity:.6;font-size:.7rem;margin-top:2px}
.pad-open{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--lt-line);text-decoration:none;font-size:1rem}
.pad-open:hover{border-color:var(--lt-neon)}
.pad-empty{font-size:.85rem;opacity:.6;margin:0}
.pad-foot{margin:6px 0 0;font-size:.72rem;opacity:.65}
@media (max-width:999px){ #fbo-sheep{bottom:auto} }
@media (max-width:699px){ #fbo-sheep .sheep-hint{display:none} #fbo-sheep .sheep-face{font-size:28px} #fbo-sheep{opacity:.9} }

/* ═════════════ SUPPORT PAGE (about.html has its own small sheet) ═════════════ */
html[data-page="about"] body{font-family:'Nunito',system-ui,sans-serif;font-size:17px}
html[data-page="about"] .wrap{max-width:820px;padding:calc(var(--hdr-h) + 32px) 32px 80px}
html[data-page="about"] .back{display:none}
html[data-page="about"] h1{font-family:'Fredoka',sans-serif;font-weight:600;font-size:clamp(2rem,3.6vw,2.8rem);color:var(--lt-ink)}
html[data-page="about"] .lede{color:var(--lt-mute);font-size:1.15rem}
html[data-page="about"] .support{background:linear-gradient(135deg,#5b1fc4,#2a1275);border:0;border-radius:28px;padding:32px;
  box-shadow:0 20px 50px rgba(8,3,22,.55)}
html[data-page="about"] .support p{font-family:'Nunito',sans-serif;color:#efe8ff;font-size:1.1rem;font-weight:700}
html[data-page="about"] .cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
html[data-page="about"] .card{background:var(--lt-surf);border:1px solid var(--lt-line);border-radius:22px;padding:22px}
html[data-page="about"] .card .tag{font-family:'Nunito',sans-serif;font-weight:800;color:var(--lt-neon)}
html[data-page="about"] h2{font-family:'Fredoka',sans-serif;font-size:1.35rem;color:var(--lt-ink)}
html[data-page="about"] .card p{color:var(--lt-mute)}
html[data-page="about"] footer{border-color:var(--lt-line);color:var(--lt-mute);font-family:'Nunito',sans-serif}
html[data-page="about"] a{color:var(--lt-neon)}
@media (max-width:640px){ html[data-page="about"] .wrap{padding:calc(var(--hdr-h) + 20px) 16px 40px} }

/* ═════════════ STANDALONE CONTROLS (pages without style.css) ═════════════ */
.score-pill{display:flex;align-items:center;gap:8px;padding:0 12px;font-weight:800;font-size:.9rem}
.score-item{display:flex;align-items:center;gap:4px}
.score-divider{width:1px;height:16px;background:var(--lt-line)}
.age-selector{position:relative}
.age-btn{display:flex;align-items:center;gap:4px;cursor:pointer}
.age-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;display:none;flex-direction:column;padding:6px;z-index:210}
.age-dropdown.open{display:flex}
.age-dropdown button{display:block;width:100%;text-align:left;padding:10px 12px;border:0;background:none;cursor:pointer}
.hdr-btn{display:flex;align-items:center;justify-content:center;cursor:pointer}

/* ═════════════ GAMES PAGE ═════════════ */
html[data-page="games"] body{font-family:'Nunito',system-ui,sans-serif;color:var(--lt-ink)}
html[data-page="games"] #sidenav{
  width:var(--lt-side)!important;z-index:160!important;
  background:rgba(11,4,32,.94)!important;border-right:1px solid var(--lt-line)!important;
  transition:transform .28s cubic-bezier(.25,.46,.45,.94)!important;
  transform:translateX(-100%)!important;
}
html[data-page="games"] #sidenav.open{transform:translateX(0)!important}
@media (min-width:1000px){ html[data-page="games"] #sidenav{transform:none!important} }
html[data-page="games"] #sidenav .sni{border-bottom:0!important;color:#ddd3ff!important}
html[data-page="games"] #sidenav .sni:hover{background:var(--lt-surf)!important;color:#fff!important}
html[data-page="games"] #sidenav .sni.active{background:var(--lt-surf2)!important;color:#fff!important}
html[data-page="games"] body.nav-open #nav-overlay{z-index:150;background:rgba(8,3,22,.6)}

html[data-page="games"] .pg{max-width:1240px!important;padding:calc(var(--hdr-h) + 28px) 32px 80px}
html[data-page="games"] .ghdr{text-align:left;margin:0 0 30px}
html[data-page="games"] .gback{display:none}
html[data-page="games"] .ghdr h1{font-family:'Fredoka',sans-serif!important;font-weight:600;font-size:clamp(2rem,3.6vw,2.8rem);
  color:var(--lt-ink)!important;-webkit-text-fill-color:var(--lt-ink)!important;text-shadow:none;margin:0 0 6px}
html[data-page="games"] .gtag{font-style:normal;color:var(--lt-mute)!important;font-size:1.12rem}
html[data-page="games"] .gcat{margin:0 0 40px}
html[data-page="games"] .gcat h2{font-family:'Fredoka',sans-serif!important;font-weight:600;font-size:1.75rem;border:0;padding:0;
  color:var(--lt-ink)!important;-webkit-text-fill-color:var(--lt-ink)!important}
html[data-page="games"] .gcat-sub{font-style:normal;color:var(--lt-mute)!important;font-size:1rem;margin:2px 0 16px}
html[data-page="games"] .ggrid{gap:18px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}

/* cards: bright gradient tiles, no screenshots */
html[data-page="games"] .gcard{
  aspect-ratio:auto;min-height:190px;border-radius:24px;border:0;
  background:linear-gradient(145deg,var(--g1),var(--g2))!important;
  box-shadow:0 7px 0 var(--g3);color:var(--lt-on-bright);
  display:flex;flex-direction:column;justify-content:flex-end;
  --g1:#c77dff;--g2:#7b2cff;--g3:#4c1499;
}
html[data-page="games"] .ggrid>.gcard:nth-child(4n+2){--g1:#ff8ad0;--g2:#ff3ea5;--g3:#a3165f}
html[data-page="games"] .ggrid>.gcard:nth-child(4n+3){--g1:#7ff0ff;--g2:#2bb8ff;--g3:#106b9e}
html[data-page="games"] .ggrid>.gcard:nth-child(4n+4){--g1:#f6ff8a;--g2:#d4ec00;--g3:#7f8c00}
html[data-page="games"] .gcard:hover,html[data-page="games"] .gcard:focus-visible{transform:translateY(-4px) rotate(-.5deg);
  box-shadow:0 11px 0 var(--g3),0 0 30px color-mix(in srgb,var(--g2) 45%,transparent)}
html[data-page="games"] .gcard svg{display:none!important}
html[data-page="games"] .gmeta{position:relative;background:none;padding:22px 20px 20px}
html[data-page="games"] .gic{font-size:2.6rem;margin-bottom:12px;filter:drop-shadow(0 4px 8px rgba(26,11,51,.35))}
html[data-page="games"] .gti{font-family:'Fredoka',sans-serif;font-weight:600;font-size:1.45rem;
  color:var(--lt-on-bright)!important;-webkit-text-fill-color:var(--lt-on-bright)!important;text-shadow:none}
html[data-page="games"] .gsb{color:#2c1650!important;font-weight:700;font-size:.98rem;margin-top:4px}
html[data-page="games"] .badge{font:800 .7rem/1 'Nunito',sans-serif;letter-spacing:.08em;padding:6px 10px;border-radius:99px;
  background:var(--lt-night);color:var(--lt-neon);top:14px;right:14px;box-shadow:none}
/* the farm keeps a photo */
html[data-page="games"] .gcard[href="farm/"]{
  background:linear-gradient(180deg,rgba(18,8,40,0) 20%,rgba(18,8,40,.92)),url(images/goat-mountain.jpg) center/cover!important;
  border:3px solid var(--lt-mint);box-shadow:0 7px 0 var(--lt-mint-d);min-height:300px;
}
html[data-page="games"] .gcard[href="farm/"] .gti{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:2rem}
html[data-page="games"] .gcard[href="farm/"] .gsb{color:#e9e2ff!important}

/* game window: the games were drawn for a dark board */
html[data-page="games"] #gov{background:rgba(8,3,22,.82)}
html[data-page="games"] #gov .overlay-box,html[data-page="games"] #gov .overlay-box--game{
  background:var(--lt-surf)!important;color:var(--lt-ink)!important;font-family:'Nunito',sans-serif;
  border:3px solid var(--lt-violet)!important;border-radius:26px;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 40px rgba(177,75,255,.35)}
html[data-page="games"] #g-ti{font-family:'Fredoka',sans-serif!important;color:var(--lt-ink)!important;font-size:1.3rem}
html[data-page="games"] #g-bd,html[data-page="games"] .g-bd-wrap{color:var(--lt-ink)!important;font-family:'Nunito',sans-serif!important}
html[data-page="games"] #gov .overlay-hdr{background:var(--lt-surf2)!important;border-radius:16px;padding:10px 14px}
html[data-page="games"] .overlay [onclick*="closeOv"]{border-color:var(--lt-line);color:var(--lt-ink);background:var(--lt-surf);border-radius:12px}
@media (max-width:640px){
  html[data-page="games"] .pg{padding:calc(var(--hdr-h) + 18px) 16px 40px}
  html[data-page="games"] .ggrid{grid-template-columns:1fr 1fr;gap:12px}
  html[data-page="games"] .gcard{min-height:160px}
  html[data-page="games"] .gti{font-size:1.15rem}
  html[data-page="games"] .gsb{font-size:.85rem}
}

/* ═════════════ READABILITY ═════════════ */
/* bigger base type on big screens (TV viewing); style.css sizes are rem-based */
@media (min-width:1000px){ html{font-size:18px} }
/* story cards */
html body .sc-content{padding:16px 18px;text-align:left}
html body .stt{font-family:'Fredoka',sans-serif;font-weight:600;font-size:1.22rem;text-shadow:0 2px 8px rgba(0,0,0,.6)}
html body .srf{font-size:.85rem;color:#e6dcff}
html body .stag{font-size:.68rem;font-weight:800;background:var(--lt-neon);color:var(--lt-on-bright);border:0;padding:4px 9px}
html body .sc-overlay{background:linear-gradient(180deg,rgba(18,8,40,0) 35%,rgba(18,8,40,.92) 100%)}
@media (max-width:640px){
  html[data-page="games"] .gcard--hero{grid-column:1/-1}
  html body .stt{font-size:1rem}
  html body .sc-content{padding:10px 12px}
}
/* pop-ups above the sidebar everywhere */
html[data-page="games"] .overlay{z-index:300}
/* Bible reader verses: bigger, bookish */
html body .v-row{font:400 1.12rem/1.75 'Lora',Georgia,serif;padding:10px 12px;border-radius:12px}
html body .v-row:hover{background:var(--lt-surf)}
html body .v-row .vn,html body .v-row sup,html body .v-row b:first-child{color:var(--lt-neon);font-family:'Nunito',sans-serif}

/* ═════════════ MINIMISED SIDEBAR (desktop / TV) ═════════════ */
.lt-mini-btn{display:none;flex:none;width:36px;height:36px;border-radius:11px;place-items:center;cursor:pointer;
  border:1px solid var(--lt-line);background:var(--lt-surf);color:var(--lt-mute);transition:background .18s,color .18s,transform .25s}
.lt-mini-btn:hover{background:var(--lt-surf2);color:var(--lt-neon);border-color:var(--lt-violet)}
.lt-mini-btn svg{width:18px;height:18px}
@media (min-width:1000px){
  .lt-mini-btn{display:grid}
  html.lt-mini{--lt-side:84px}
  html.lt-mini-anim body{transition:padding-left .25s ease}
  html.lt-mini-anim #sidenav{transition:width .25s ease!important}
  html.lt-mini-anim .hdr,html.lt-mini-anim #the-land{transition:left .25s ease}

  html.lt-mini #sidenav .snhdr{flex-direction:column;gap:12px;padding:18px 0 10px}
  html.lt-mini .lt-logo-text,
  html.lt-mini #sidenav .sni span:nth-child(2),
  html.lt-mini #sidenav .sni-new,
  html.lt-mini #sidenav .sn-footer{display:none}
  html.lt-mini .lt-mini-btn svg{transform:scaleX(-1)}
  html.lt-mini #sidenav .snitems{padding:4px 0 16px}
  html.lt-mini #sidenav .sn-group{font-size:0;height:1px;margin:12px 22px;background:var(--lt-line)}
  html.lt-mini #sidenav .sni,html.lt-mini body.dark #sidenav .sni{justify-content:center;padding:6px 0;width:60px;margin:3px auto}
  html.lt-mini #sidenav .sni-icon{width:42px;height:42px;border-radius:13px}
  html.lt-mini #sidenav .sni-icon svg{width:21px;height:21px}
  html.lt-mini #sidenav .sni{position:relative}
  /* a little badge dot where the NEW / START label was */
  html.lt-mini #sidenav .sni:has(.sni-new)::after{content:"";position:absolute;top:6px;right:8px;width:9px;height:9px;border-radius:50%;
    background:var(--lt-neon);box-shadow:0 0 0 2px var(--lt-deep)}
  html.lt-mini #admin-nav-btn{display:none!important}
}
/* style.css forces #sidenav widths with !important at every breakpoint; Lantern owns the width */
@media (min-width:1000px){ html body #sidenav{width:var(--lt-side)!important;max-width:none!important} }
@media (max-width:999px){ html body #sidenav{width:min(300px,85vw)!important;max-width:none!important} }
/* small coloured labels: lift towards white so they pass 4.5:1 on the card */
.lt-card small{color:color-mix(in srgb,var(--c) 62%,#ffffff)}

/* ═════════════ NARRATION PLAYER ═════════════ */
html body .fbo-play-btn{color:var(--lt-ink);font:800 1rem 'Nunito',sans-serif}
html body .fbo-play-icon{background:var(--lt-neon);color:var(--lt-on-bright);box-shadow:0 0 16px rgba(238,255,65,.35)}
html body .fbo-play-btn.fbo-listening .fbo-play-icon{background:var(--lt-pink);color:#fff;box-shadow:0 0 16px rgba(255,79,184,.45)}
html body .fbo-play-time{color:var(--lt-mute)}
html body .fbo-play-progress{background:rgba(255,255,255,.12);height:4px}
html body .fbo-play-fill{background:var(--lt-neon)}
.lt-audio-compact{margin:14px 0 0;max-width:280px}
.lt-audio-compact .fbo-play-icon{width:38px;height:38px}
/* inside the verse-of-the-day button row: a matching pill */
.lt-acts .lt-audio{margin:0;max-width:none;align-self:center}
.lt-acts .lt-audio .fbo-play-btn{background:rgba(255,255,255,.14);border-radius:16px;padding:7px 18px 7px 8px;color:#fff;box-shadow:0 5px 0 rgba(0,0,0,.28)}
.lt-acts .lt-audio .fbo-play-progress{display:none}
.lt-acts .lt-audio .fbo-play-time{margin-left:8px;color:#dccfff}
#lt-journey-audio{margin:10px 0 0}
#bcnt>.lt-audio,.lb-page .lt-audio{margin:0 0 18px;max-width:420px}
/* Bible Bites: the card fills a fixed arena; give it room for the Listen button */
html body .bite-arena{min-height:440px;height:auto}
html body .bite-card{overflow-y:auto;justify-content:center}
html body .bite-card .lt-audio{margin:14px auto 0;flex:none}
/* games being rebuilt */
html[data-page="games"] .gcard--soon{cursor:default;opacity:.55;filter:saturate(.6);min-height:150px}
html[data-page="games"] .gcard--soon:hover{transform:none;box-shadow:0 7px 0 var(--g3)}

/* ═════════════ 3D BIBLE CARD (bible.html) ═════════════ */
.lt-bible3d{position:relative;display:flex;align-items:center;gap:14px;margin:4px 0 16px;padding:18px 18px;border-radius:20px;text-decoration:none;color:var(--lt-ink);
  background:linear-gradient(135deg,#4a1511,#7b2cff 70%);border:1px solid rgba(238,255,65,.45);box-shadow:0 10px 28px rgba(0,0,0,.35)}
.lt-bible3d:hover{border-color:var(--lt-neon)}
.lt-bible3d__badge{position:absolute;top:-10px;right:14px;background:var(--lt-neon);color:var(--lt-on-bright);font:800 .72rem 'Nunito',sans-serif;letter-spacing:.06em;padding:4px 10px;border-radius:99px}
.lt-bible3d__icon{font-size:2.3rem;flex:none}
.lt-bible3d__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.lt-bible3d__txt b{font:600 1.25rem 'Fredoka',sans-serif}
.lt-bible3d__txt span{font-size:.95rem;opacity:.85;line-height:1.35}
.lt-bible3d__go{flex:none;background:var(--lt-neon);color:var(--lt-on-bright);font:700 1rem 'Fredoka',sans-serif;padding:10px 16px;border-radius:14px}
@media (max-width:480px){.lt-bible3d__go{display:none}}

/* ═════════════ AUDIO BIBLE DOWNLOADS (bible.html) ═════════════ */
.lt-dl{margin:0 0 18px;border-radius:20px;background:var(--lt-surf);border:1px solid var(--lt-line);overflow:hidden}
.lt-dl summary{list-style:none;display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer}
.lt-dl summary::-webkit-details-marker{display:none}
.lt-dl__icon{font-size:2rem;flex:none}
.lt-dl__txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.lt-dl__txt b{font:600 1.2rem 'Fredoka',sans-serif;color:var(--lt-ink)}
.lt-dl__txt span{font-size:.92rem;color:var(--lt-mute)}
.lt-dl__chev{color:var(--lt-neon);font-size:1.2rem;transition:transform .2s}
.lt-dl[open] .lt-dl__chev{transform:rotate(180deg)}
.lt-dl__body{padding:0 18px 18px}
.lt-dl__body h3{margin:14px 0 6px;font:800 .8rem 'Nunito',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lt-mute)}
.lt-dl__note{margin:0 0 10px;font-size:.95rem;line-height:1.45;color:var(--lt-ink);opacity:.85}
.lt-dl__small{font-size:.82rem;opacity:.65;margin-top:14px}
.lt-dl__ab{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.lt-dl__file{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border-radius:16px;text-decoration:none;color:var(--lt-ink);
  background:var(--lt-surf2);border:1px solid var(--lt-line)}
.lt-dl__file:hover,.lt-dl__books a:hover{border-color:var(--lt-neon)}
.lt-dl__file b{font:600 1.1rem 'Fredoka',sans-serif}
.lt-dl__file span{font-size:.88rem;color:var(--lt-mute)}
.lt-dl__file em{font-style:normal;font-weight:800;color:var(--lt-neon);font-size:.9rem;margin-top:4px}
.lt-dl__books{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.lt-dl__books h4{grid-column:1/-1;margin:8px 0 0;font:600 1rem 'Fredoka',sans-serif;color:var(--lt-ink)}
.lt-dl__books a{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:10px 12px;border-radius:12px;
  background:var(--lt-surf2);border:1px solid var(--lt-line);text-decoration:none;color:var(--lt-ink);font-weight:700;font-size:.95rem}
.lt-dl__books a span{font-weight:600;font-size:.78rem;color:var(--lt-mute);white-space:nowrap}

/* ═════════════ BUBBLE POPPER (js/bubbles.js) ═════════════ */
#fbo-bubbles{position:fixed;right:0;top:0;bottom:0;width:90px;z-index:60;pointer-events:none;overflow:hidden}
.fbo-bbl{position:absolute;bottom:110px;width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.55);
  display:grid;place-items:center;font-size:1.2rem;line-height:1;cursor:pointer;pointer-events:auto;padding:0;
  box-shadow:0 0 14px rgba(255,255,255,.25),inset 0 -6px 10px rgba(0,0,0,.18);animation:fboBubbleUp linear forwards}
.fbo-bbl.pop{animation:fboBubblePop .3s ease-out forwards}
@keyframes fboBubbleUp{0%{transform:translateY(0) scale(.5);opacity:0}8%{opacity:1;transform:translateY(-6vh) scale(1)}
  50%{transform:translate(-10px,-48vh)}100%{transform:translate(4px,-92vh);opacity:.85}}
@keyframes fboBubblePop{to{transform:scale(1.8);opacity:0}}
html body #bbtn{opacity:.6!important}
html body #bbtn.is-on{opacity:1!important;box-shadow:0 0 0 2px var(--lt-neon),0 0 16px rgba(238,255,65,.45)}
@media (prefers-reduced-motion:reduce){.fbo-bbl{animation-duration:12s!important}}

/* ═════════════ NOTEPAD BUBBLE (js/sheep-notes.js) ═════════════ */
#fbo-padbtn{position:fixed;z-index:130;right:22px;bottom:22px;width:62px;height:62px;border-radius:50%;cursor:pointer;padding:0;
  border:2px solid rgba(255,255,255,.55);display:grid;place-items:center;
  background:
    radial-gradient(circle at 22% 30%,rgba(255,255,255,.95) 0 1.2px,transparent 2px),
    radial-gradient(circle at 70% 22%,rgba(255,240,170,.95) 0 1px,transparent 1.8px),
    radial-gradient(circle at 78% 70%,rgba(255,255,255,.9) 0 1.3px,transparent 2px),
    radial-gradient(circle at 34% 78%,rgba(255,200,255,.9) 0 1px,transparent 1.8px),
    radial-gradient(circle at 55% 48%,rgba(255,255,255,.7) 0 .8px,transparent 1.5px),
    radial-gradient(circle at 30% 25%,#d68bff,#7b2cff 55%,#4a148f);
  box-shadow:0 10px 26px rgba(0,0,0,.45),0 0 22px rgba(177,75,255,.55);animation:fboGlint 3.2s ease-in-out infinite}
#fbo-padbtn svg{width:34px;height:34px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}
#fbo-padbtn:hover,#fbo-padbtn.is-open{border-color:var(--lt-neon)}
#fbo-padbtn[hidden]{display:none}
.fbo-padbtn__n{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:var(--lt-neon);
  color:var(--lt-on-bright);font:800 .75rem/22px 'Nunito',sans-serif;text-align:center}
.fbo-padbtn__n[hidden]{display:none}
@keyframes fboGlint{50%{box-shadow:0 10px 26px rgba(0,0,0,.45),0 0 30px rgba(238,255,65,.35),0 0 18px rgba(177,75,255,.6)}}
#fbo-pad{position:fixed;z-index:131;right:22px;bottom:96px;width:340px;max-height:min(560px,calc(100vh - 140px));display:flex;flex-direction:column;
  background:var(--lt-surf);color:var(--lt-ink);border:1px solid var(--lt-line);border-radius:20px;box-shadow:0 18px 44px rgba(0,0,0,.55);overflow:hidden}
#fbo-pad[hidden]{display:none}
.fbo-pad__top{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 10px 16px;font:600 1.1rem 'Fredoka',sans-serif}
.fbo-pad__tools{display:flex;gap:6px}
.fbo-pad__ic{width:36px;height:36px;border-radius:11px;border:1px solid var(--lt-line);background:var(--lt-surf2);color:var(--lt-ink);
  display:grid;place-items:center;cursor:pointer;text-decoration:none;font:700 1rem 'Nunito',sans-serif}
.fbo-pad__ic:hover{border-color:var(--lt-neon)}
.fbo-pad__paper{margin:0 12px;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px #d7dcea}
#fbo-pad-text{display:block;width:100%;height:150px;border:0;outline:none;resize:none;padding:6px 12px 0 46px;color:#1d2340;
  font:600 1.08rem/28px 'Nunito',sans-serif;
  background:linear-gradient(90deg,transparent 36px,#f2a3a3 36px 38px,transparent 38px),
             repeating-linear-gradient(#fff 0 27px,#bcd0f2 27px 28px);background-attachment:local}
#fbo-pad-text::placeholder{color:#8a93ad}
.fbo-pad__acts{display:flex;gap:8px;padding:10px 12px}
.fbo-pad__save{flex:1;height:42px;border:0;border-radius:12px;background:var(--lt-neon);color:var(--lt-on-bright);font:700 1rem 'Fredoka',sans-serif;cursor:pointer}
.fbo-pad__full{flex:1;display:grid;place-items:center;height:42px;border-radius:12px;border:1px solid var(--lt-line);background:var(--lt-surf2);
  color:var(--lt-ink);font:700 .95rem 'Fredoka',sans-serif;text-decoration:none}
.fbo-pad__full:hover{border-color:var(--lt-neon)}
.fbo-pad__head{padding:2px 16px 6px;font:800 .72rem 'Nunito',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lt-mute)}
.fbo-pad__saved{overflow:auto;padding:0 12px;flex:1;min-height:40px}
.fbo-pad__item{display:flex;gap:6px;align-items:flex-start;margin-bottom:6px}
.fbo-pad__load{flex:1;text-align:left;background:var(--lt-surf2);border:0;border-radius:10px;padding:8px 10px;cursor:pointer;color:inherit;font:600 .9rem/1.35 'Nunito',sans-serif}
.fbo-pad__load small{display:block;opacity:.6;font-size:.72rem;margin-top:3px}
.fbo-pad__open,.fbo-pad__del{flex:none;width:34px;height:34px;border-radius:10px;border:1px solid var(--lt-line);background:transparent;color:inherit;
  display:grid;place-items:center;text-decoration:none;cursor:pointer;font-size:1rem}
.fbo-pad__open:hover,.fbo-pad__del:hover{border-color:var(--lt-neon)}
.fbo-pad__empty{margin:0 4px 8px;font-size:.9rem;opacity:.6}
.fbo-pad__foot{margin:6px 16px 12px;font-size:.75rem;opacity:.6}
#fbo-sheep{display:none!important}
@media (max-width:999px){
  #fbo-padbtn{right:14px;bottom:calc(104px + env(safe-area-inset-bottom,0px));width:56px;height:56px}
  #fbo-pad{left:10px;right:10px;width:auto;bottom:calc(170px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 250px)}
  .fbo-bbl{bottom:190px}
}
.fbo-bbl{bottom:120px}
