/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Google Fonts ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Cormorant:ital,wght@0,400;0,500;1,400&family=Inter:wght@300;400;500;600&display=swap');

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Design tokens ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
:root {
  --navy:        #1C2B47;
  --navy-deep:   #141E33;
  --navy-mid:    #233255;
  --gold:        #D4863C;
  --gold-light:  #E09A50;
  --gold-pale:   #F0DEC8;
  --cream:       #FAF6F0;
  --parchment:   #F2EBE0;
  --card-bg:     rgba(235, 238, 245, 0.78);
  --card-border: rgba(200,149,90,0.18);
  --muted:       rgba(255,255,255,0.55);
  --muted-dark:  #7A7068;
  --ink:         #1C1810;
  --line:        rgba(200,149,90,0.15);

  /* Morning sky gradient ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â warm rose/peach at horizon, dusty lavender above */
  --sky-start:   #E8C4B0;  /* warm rose-peach */
  --sky-mid1:    #D4B4C8;  /* dusty mauve */
  --sky-mid2:    #B8B4D4;  /* soft lavender */
  --sky-end:     #A0AACE;  /* pale periwinkle */
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
  font-weight: 400;
  color: var(--ink);
  min-height: 100vh;
  background:
    linear-gradient(
      to bottom,
      rgba(10, 15, 30, 0.10) 0%,
      rgba(10, 15, 30, 0.10) 50%,
      rgba(10, 15, 30, 0.10) 100%
    ),
    url('/splash-bg.jpg') center bottom / cover no-repeat fixed;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Layout ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.screen { display: none; background: transparent; }
.screen.active { display: block; background: transparent; }
.hidden { display: none !important; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Nav pills ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â fixed outside all screens ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.app-nav {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding: 10px 24px;
  border-bottom: 1px solid rgba(200,149,90,0.2);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: rgba(10, 15, 30, 0.72);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  justify-content: center;
}

/* Main container ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â offset by nav height */
.app {
  max-width: 780px;
  margin: 0 auto;
  padding: 68px 20px 80px;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Brand header ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.brand-header {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 42px 0 36px;
}

.brand-flame svg, .brand-flame img {
  width: 64px !important;
  height: 80px !important;
  object-fit: contain;
  filter: drop-shadow(0 2px 12px rgba(200,149,90,0.4));
}

.brand-wordmark {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.brand-wordmark h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 54px;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1;
  color: #ffffff;
  text-transform: uppercase;
}

.brand-sub {
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  font-weight: 500;
}



.nav-pill {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 999px;
  padding: 8px 18px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
  cursor: pointer;
  transition: all 0.18s ease;
  letter-spacing: 0.04em;
}

.nav-pill:hover,
.nav-pill.active {
  background: var(--gold);
  color: #1a1200;
  border-color: var(--gold);
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Auth banner ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.auth-banner {
  background: rgba(28,43,71,0.07);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.auth-banner span { font-size: 14px; color: var(--navy); flex: 1; min-width: 180px; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Passage card (home ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â daily Scripture) ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.passage-hero {
  background: rgba(235, 238, 245, 0.78);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.30);
  box-shadow: 0 8px 32px rgba(0,0,0,0.10);
  border-radius: 22px;
  padding: 32px 28px 28px;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}

.passage-hero::before {
  content: '';
  position: absolute;
  top: -30px; right: -30px;
  width: 160px; height: 160px;
  background: radial-gradient(circle, rgba(200,149,90,0.18) 0%, transparent 70%);
  pointer-events: none;
}

.passage-season {
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
  margin-bottom: 10px;
}

.passage-reference {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 6px;
  line-height: 1.2;
  text-shadow: 0 1px 3px rgba(235,238,245,0.5);
}

.passage-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 17px;
  font-style: italic;
  color: rgba(28, 43, 71, 0.65);
  margin-bottom: 20px;
}

.passage-reason {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(28, 43, 71, 0.75);
  margin-bottom: 24px;
  border-left: 2px solid var(--gold);
  padding-left: 14px;
}

.passage-cta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Values row ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.values-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 24px;
}

.value-item {
  border-top: 2px solid var(--gold);
  padding-top: 12px;
  font-size: 13px;
  color: rgba(255,255,255,0.75);
  line-height: 1.4;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Cards ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.card {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: 20px;
  padding: 26px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 32px rgba(28,43,71,0.08), 0 1px 0 rgba(255,255,255,0.6) inset;
  margin-bottom: 16px;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Eyebrow ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.eyebrow {
  font-size: 10px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 700;
  margin-bottom: 10px;
  text-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Typography ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 42px;
  font-weight: 400;
  line-height: 1.1;
  color: rgba(255,255,255,0.92);
  margin-bottom: 14px;
}

h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 30px;
  font-weight: 400;
  color: rgba(255,255,255,0.92);
  margin-bottom: 12px;
  line-height: 1.2;
}

h4 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px;
  font-weight: 500;
  color: var(--navy);
  margin-bottom: 6px;
}

p { line-height: 1.65; }

.intro {
  font-size: 17px;
  line-height: 1.6;
  color: var(--navy);
  opacity: 0.75;
  max-width: 600px;
}

.muted-small {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Buttons ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
button { font-family: 'Inter', sans-serif; cursor: pointer; transition: all 0.18s ease; }

.primary {
  background: var(--gold);
  color: #1a1200;
  border: none;
  border-radius: 999px;
  padding: 14px 24px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.primary:hover { background: #e8a040; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(200,149,90,0.35); }
button.primary.small-btn, a.primary.small-btn { color: #1a1200 !important; border: none !important; background: var(--gold) !important; }

.secondary {
  background: transparent;
  color: rgba(255,255,255,0.85);
  border: 1.5px solid rgba(255,255,255,0.3);
  border-radius: 999px;
  padding: 12px 22px;
  font-size: 14px;
  font-weight: 500;
}

.secondary:hover { border-color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.08); }

.small-btn {
  background: transparent;
  color: rgba(255,255,255,0.85);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 13px;
}

.small-btn:hover { border-color: rgba(255,255,255,0.5); }

.full { width: 100%; margin-top: 12px; }
.button-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }

/* Ghost CTA inside navy card */
.ghost-btn {
  background: rgba(255,255,255,0.12);
  color: white;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 999px;
  padding: 12px 22px;
  font-size: 14px;
  font-weight: 500;
}
.ghost-btn:hover { background: rgba(255,255,255,0.2); }

.gold-btn {
  background: var(--gold);
  color: white;
  border: none;
  border-radius: 999px;
  padding: 14px 28px;
  font-size: 14px;
  font-weight: 600;
}
.gold-btn:hover { background: var(--gold-light); transform: translateY(-1px); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Voice button ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.voice-btn {
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 13px;
  color: var(--navy);
  display: flex;
  align-items: center;
  gap: 6px;
}
.voice-btn.listening { background: var(--gold-pale); border-color: var(--gold); color: var(--navy-deep); }
.voice-status { font-size: 12px; color: var(--muted); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Media / photo ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.media-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 13px;
  color: var(--navy);
  cursor: pointer;
  transition: all 0.18s;
}
.media-btn:hover { border-color: var(--gold); }
.hidden-file-input { display: none; }
.photo-preview { margin-top: 10px; }
.remove-photo-btn { background: transparent; border: none; color: var(--muted); font-size: 12px; cursor: pointer; margin-top: 4px; display: block; }
.home-voice-row, .home-media-row { display: flex; align-items: center; gap: 10px; margin: 10px 0; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Textarea / input ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
textarea {
  width: 100%;
  min-height: 130px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 16px;
  background: rgba(255,255,255,0.7);
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink);
  resize: vertical;
  transition: border-color 0.18s;
}
textarea:focus { outline: none; border-color: var(--gold); background: white; }

.auth-input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 13px 16px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--ink);
  background: rgba(255,255,255,0.8);
  margin-bottom: 10px;
  display: block;
}
.auth-input:focus { outline: none; border-color: var(--gold); }
select.auth-input { appearance: none; -webkit-appearance: none; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ PWA install modal ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
#pwaInstallModal .card {
  animation: slideUp 0.3s ease;
}
@keyframes slideUp {
  from { transform: translateY(40px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Loading screen ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.loading-screen { min-height: 70vh; display: flex; align-items: center; justify-content: center; }
.loading-screen.active { display: flex; }
.center { text-align: center; max-width: 480px; margin: 0 auto; }

.spinner {
  width: 42px; height: 42px;
  border: 3px solid var(--gold-pale);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 20px;
}
@keyframes spin { to { transform: rotate(360deg); } }

.loading-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 8px;
}

.loading-text { font-size: 14px; color: var(--muted); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Flow screen ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.flow-header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 32px 0 20px;
  flex-wrap: wrap;
}

.flow-header-text { flex: 1; }
.flow-header h2 { font-size: 34px; margin-bottom: 4px; }
.flow-eyebrow { margin-bottom: 6px; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Steps nav ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.steps {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  margin-bottom: 20px;
  padding-bottom: 2px;
  scrollbar-width: none;
}
.steps::-webkit-scrollbar { display: none; }

.step {
  background: rgba(255,255,255,0.35);
  border: 1px solid rgba(28,43,71,0.3);
  border-radius: 999px;
  padding: 7px 16px;
  font-size: 12px;
  font-weight: 500;
  color: var(--navy);
  white-space: nowrap;
  letter-spacing: 0.03em;
}
.step.active { background: var(--navy); color: var(--gold-light); border-color: var(--navy); }
.step.done { background: rgba(200,149,90,0.12); border-color: rgba(200,149,90,0.25); color: var(--gold); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Passage display (in flow) ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.passage-card {
  background: var(--navy);
  border-radius: 18px;
  padding: 24px 22px;
  margin-bottom: 16px;
}
.passage-card-toggle {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.20);
  color: rgba(255,255,255,0.55);
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
  cursor: pointer;
  float: right;
  margin-top: -2px;
}
.passage-card-toggle:hover { color: rgba(255,255,255,0.85); }
.passage-card .eyebrow { color: var(--gold); }
.passage-card .passage-ref-text {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 22px;
  color: white;
  margin-bottom: 4px;
}
.passage-card .passage-title-text {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 15px;
  color: rgba(255,255,255,0.55);
  margin-bottom: 18px;
}
.passage-text-block {
  font-size: 15px;
  line-height: 1.75;
  color: rgba(255,255,255,0.85);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 17px;
  border-top: 1px solid rgba(200,149,90,0.2);
  padding-top: 16px;
  margin-bottom: 20px;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Main step card ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.main-card p { font-size: 16px; line-height: 1.7; color: rgba(255,255,255,0.85); }

/* Opening ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â Mirror encounter text */
.opening-text {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 21px;
  line-height: 1.6;
  color: rgba(255,255,255,0.90);
  margin-bottom: 18px;
  font-style: italic;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Dilemma question ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.dilemma-question {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.3;
  color: rgba(255,255,255,0.92);
  background: rgba(200,149,90,0.12);
  border-radius: 16px;
  padding: 22px 24px;
  margin: 20px 0;
  border-left: 4px solid var(--gold);
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Questions block ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.questions-block { margin: 20px 0 0; }
.question-item {
  padding: 18px 20px;
  background: rgba(200,149,90,0.12);
  border-radius: 14px;
  border: 1px solid rgba(200,149,90,0.3);
}
.question-item p {
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(255,255,255,0.88);
  font-style: italic;
}
.question-sep { height: 1px; background: rgba(200,149,90,0.2); margin: 14px 0; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Return paragraph ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.return-para {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 19px;
  line-height: 1.7;
  color: rgba(255,255,255,0.90);
  margin-bottom: 24px;
  padding-left: 18px;
  border-left: 3px solid var(--gold);
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Lens prompt ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.lens-prompt { margin: 20px 0; }
.lens-prompt-text {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 22px;
  line-height: 1.5;
  color: rgba(255,255,255,0.90);
  font-style: italic;
  margin-bottom: 18px;
  padding-left: 18px;
  border-left: 3px solid var(--gold);
}
.lens-photo-invite {
  background: var(--navy);
  border-radius: 14px;
  padding: 18px 20px;
  color: white;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 14px;
}
.lens-photo-invite strong { color: var(--gold-light); display: block; margin-bottom: 4px; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; }
.lens-closing {
  font-size: 15px;
  color: var(--muted);
  font-style: italic;
  line-height: 1.5;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Framework pills ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.framework-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 18px;
  align-items: center;
}
.framework-list::before {
  content: "Through the lens of:";
  font-size: 12px;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-basis: 100%;
  margin-bottom: 4px;
}
.framework-pill {
  display: inline-block;
  background: rgba(200,149,90,0.1);
  border: 1px solid rgba(200,149,90,0.3);
  border-radius: 999px;
  padding: 6px 14px;
  color: var(--navy);
  font-weight: 600;
  font-size: 12px;
  text-decoration: none;
  transition: all 0.15s;
}
.framework-pill:hover { background: var(--navy); color: var(--gold-light); border-color: var(--navy); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Inline thinker links ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.inline-thinker-link {
  color: var(--gold);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
}
.inline-thinker-link:hover { text-decoration-style: solid; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Session path choice (after Mirror) ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.path-choice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 18px;
}
.path-card {
  background: transparent;
  border: 1.5px solid rgba(28,43,71,0.2);
  border-radius: 16px;
  padding: 18px 16px;
  text-align: left;
  cursor: pointer;
  transition: all 0.18s;
  font-family: 'Inter', sans-serif;
}
.path-card:hover { border-color: var(--navy); background: rgba(28,43,71,0.04); }
.path-card.primary-path { background: var(--navy); border-color: var(--navy); color: white; }
.path-card.primary-path:hover { background: var(--navy-deep); }
.path-label { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 600; margin-bottom: 6px; display: block; }
.path-card.primary-path .path-label { color: var(--gold); }
.path-card:not(.primary-path) .path-label { color: var(--gold); }
.path-desc { font-size: 14px; line-height: 1.5; }
.path-card.primary-path .path-desc { color: rgba(255,255,255,0.85); }
.path-card:not(.primary-path) .path-desc { color: var(--navy); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Response area ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.response-area { margin-top: 20px; }
.response-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.response-area textarea { min-height: 110px; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Professional note ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.note {
  font-size: 13px !important;
  color: var(--muted) !important;
  border-top: 1px solid var(--line);
  padding-top: 14px;
  margin-top: 18px;
  line-height: 1.6;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Artifact ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
blockquote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 21px;
  line-height: 1.45;
  margin: 20px 0;
  padding: 20px 22px;
  background: rgba(200,149,90,0.07);
  border-radius: 14px;
  border-left: 4px solid var(--gold);
  color: var(--navy);
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Auth screen ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.overlay-screen { position: fixed; inset: 0; top: 50px; background: rgba(20,30,51,0.55); backdrop-filter: blur(6px); display: none; align-items: center; justify-content: center; z-index: 200; padding: 20px; }
.overlay-screen.active { display: flex; }
.auth-card { max-width: 440px; width: 100%; }
.auth-tabs { display: flex; gap: 8px; margin-bottom: 18px; }
.path-btn {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 999px;
  padding: 8px 18px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
  cursor: pointer;
  transition: all 0.15s;
}
.path-btn.active, .path-btn:hover { background: var(--gold); color: #1a1200; border-color: var(--gold); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Library ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.page-header { display: flex; justify-content: space-between; align-items: flex-start; padding: 32px 0 20px; gap: 16px; flex-wrap: wrap; }
.library-filters { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px; }
.filter-chip {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 999px;
  padding: 7px 16px;
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
  cursor: pointer;
  transition: all 0.15s;
}
.filter-chip.active { background: var(--gold); color: #1a1200; border-color: var(--gold); }
.view-toggle { display: flex; gap: 6px; }

.library-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.library-card {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: 18px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.18s;
  backdrop-filter: blur(8px);
}
.library-card:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(28,43,71,0.12); border-color: rgba(200,149,90,0.3); }
.library-thumb { width: 100%; height: 160px; background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%); display: flex; align-items: center; justify-content: center; color: var(--gold); }
.library-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.library-card-body { padding: 14px; }
.library-card h4 { font-size: 16px; margin-bottom: 5px; }
.library-card .muted-small { font-size: 12px; }
.library-list { display: grid; gap: 10px; }
.library-row { display: grid; grid-template-columns: 76px 1fr auto; gap: 12px; align-items: center; background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 16px; padding: 12px; cursor: pointer; transition: all 0.15s; backdrop-filter: blur(6px); }
.library-row:hover { border-color: rgba(200,149,90,0.3); }
.library-row-thumb { width: 76px; height: 64px; border-radius: 10px; background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%); overflow: hidden; display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: 11px; }
.library-row-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Session detail ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.session-detail { display: grid; gap: 16px; margin-top: 18px; }
.detail-hero { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 20px; overflow: hidden; }
.detail-hero img { width: 100%; max-height: 380px; object-fit: cover; display: block; }
.detail-body { padding: 22px; }
.detail-section { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 18px; padding: 20px; }
.detail-section h4 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22px; font-weight: 400; margin-bottom: 10px; }
.framework-links { display: flex; flex-wrap: wrap; gap: 8px; }
.framework-links a { background: rgba(200,149,90,0.1); border-radius: 999px; padding: 6px 12px; color: var(--navy); font-weight: 600; text-decoration: none; font-size: 12px; border: 1px solid rgba(200,149,90,0.25); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Insights ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.insights-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.insight-card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 18px; padding: 20px; backdrop-filter: blur(6px); }
.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px; }
.stat-box { background: rgba(255,255,255,0.6); border: 1px solid var(--line); border-radius: 14px; padding: 14px; }
.stat-box strong { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 32px; font-weight: 400; color: var(--navy); display: block; margin-bottom: 2px; }
.stat-box span { font-size: 12px; color: var(--muted); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Groups ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.groups-list { display: grid; gap: 14px; margin-top: 18px; }
.group-card { background: rgba(235, 238, 245, 0.78); border: 1px solid var(--card-border); border-radius: 18px; padding: 20px; cursor: pointer; transition: all 0.18s; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.group-card:hover { border-color: rgba(200,149,90,0.3); box-shadow: 0 6px 24px rgba(28,43,71,0.1); }
.group-card-header { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 10px; }
.group-icon { width: 46px; height: 46px; border-radius: 13px; background: var(--navy); display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: 18px; flex-shrink: 0; }
.card h2, .card h3 { color: var(--navy); }
.card p, .card label { color: var(--ink); }
.card .secondary { color: var(--navy); border-color: rgba(28,43,71,0.3); }
.card .secondary:hover { border-color: var(--navy); background: rgba(28,43,71,0.06); }
.card .small-btn { color: var(--navy); border-color: rgba(28,43,71,0.2); }
.card .small-btn:hover { border-color: var(--navy); }
.group-card h2, .group-card h3 { color: var(--navy) !important; }
.group-card p, .group-card span.member-name, .group-card .group-meta { color: var(--ink) !important; }
.group-card h3 { font-size: 20px; margin-bottom: 3px; }
.group-meta { font-size: 13px; color: var(--muted-dark); margin: 0; }
.group-week-pill { background: rgba(200,149,90,0.08); border: 1px solid rgba(200,149,90,0.2); border-radius: 10px; padding: 10px 14px; margin-top: 10px; }
.group-week-label { font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin: 0 0 4px; }
.group-week-title { font-size: 14px; color: var(--ink); margin: 0; font-weight: 600; }
.group-week-ref { font-size: 13px; color: var(--muted); margin: 2px 0 0; }
.join-group-row { display: flex; gap: 8px; align-items: center; margin: 0 0 6px; }
.join-code-input { flex: 1; margin: 0 !important; }
.group-detail-header { background: rgba(20, 30, 55, 0.6); border: 1px solid rgba(255,255,255,0.1); border-radius: 18px; padding: 22px; margin-bottom: 16px; backdrop-filter: blur(12px); }
.group-detail-header h2 { font-size: 34px; margin: 8px 0 6px; }
.group-begin-card { background: var(--navy); border-radius: 18px; padding: 22px; margin-bottom: 16px; }
.group-begin-card .eyebrow { color: var(--gold); }
.group-begin-card h3 { color: white; margin: 8px 0 10px; }
.group-begin-card p { color: rgba(255,255,255,0.8); margin: 0 0 16px; font-size: 15px; }
.group-begin-btn { background: var(--gold); color: white; border: none; border-radius: 999px; padding: 13px 20px; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14px; cursor: pointer; width: 100%; }
.group-begin-btn:hover { background: var(--gold-light); }
.pastoral-note { background: rgba(200,149,90,0.07); border: 1px solid rgba(200,149,90,0.2); border-radius: 14px; padding: 16px; margin-bottom: 16px; }
.pastoral-note-label { font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin: 0 0 8px; }
.pastoral-note p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--navy); font-style: italic; }
.group-feed { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 18px; padding: 20px; margin-bottom: 16px; backdrop-filter: blur(6px); }
.feed-tabs { display: flex; gap: 8px; margin-bottom: 16px; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.feed-tab { background: transparent; border: none; padding: 6px 0; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14px; color: var(--muted); cursor: pointer; margin-right: 16px; }
.feed-tab.active { color: var(--navy); border-bottom: 2px solid var(--gold); margin-bottom: -13px; }
.share-entry { border-top: 1px solid var(--line); padding: 14px 0; }
.share-entry:first-child { border-top: 0; padding-top: 0; }
.share-entry-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 6px; }
.share-name { font-weight: 700; font-size: 14px; color: var(--navy); }
.share-type-label { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; }
.share-date { font-size: 12px; color: var(--muted); }
.share-content { font-size: 15px; line-height: 1.6; color: var(--ink); margin: 0; font-style: italic; }
.admin-share .share-name::after { content: " ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â· Leader"; color: var(--muted); font-weight: 400; }
.share-options { display: grid; gap: 10px; }
.share-option-btn { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 14px; padding: 16px; text-align: left; cursor: pointer; transition: all 0.15s; font-family: 'Inter', sans-serif; }
.share-option-btn:hover { border-color: rgba(200,149,90,0.4); background: rgba(200,149,90,0.06); }
.share-option-title { font-weight: 700; color: var(--navy); font-size: 15px; display: block; margin-bottom: 4px; }
.share-option-desc { font-size: 13px; color: var(--muted); }
.admin-panel-section { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 18px; padding: 20px; margin-bottom: 16px; backdrop-filter: blur(6px); }
.admin-panel-section h3 { font-size: 22px; margin: 0 0 14px; }
.admin-field-label { font-weight: 600; color: var(--gold); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; display: block; margin: 12px 0 6px; }
.admin-input { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; font-family: 'Inter', sans-serif; font-size: 14px; color: var(--ink); background: rgba(255,255,255,0.8); margin-bottom: 8px; }
.admin-input:focus { outline: none; border-color: var(--gold); }
.admin-textarea { min-height: 80px; resize: vertical; }
.liturgical-suggestion { background: rgba(200,149,90,0.07); border: 1px solid rgba(200,149,90,0.2); border-radius: 14px; padding: 16px; margin-bottom: 14px; }
.liturgical-label { font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin: 0 0 6px; }
.liturgical-ref { font-weight: 700; font-size: 16px; color: var(--navy); margin: 0 0 4px; }
.liturgical-reason { font-size: 13px; color: var(--muted); margin: 0 0 10px; line-height: 1.5; }
.use-suggestion-btn { background: var(--navy); color: var(--gold-light); border: none; border-radius: 999px; padding: 8px 16px; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600; cursor: pointer; }
.passage-row, .article-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; margin-bottom: 8px; }
.remove-item-btn { background: transparent; border: none; color: var(--muted); cursor: pointer; font-size: 18px; padding: 4px; }
.remove-item-btn:hover { color: var(--ink); }
.activity-number { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 36px; font-weight: 400; color: var(--navy); display: block; }
.pending-request { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.pending-request:first-child { border-top: 0; }
.pending-actions { display: flex; gap: 8px; }
.approve-btn { background: var(--navy); color: white; border: none; border-radius: 999px; padding: 6px 14px; font-family: 'Inter', sans-serif; font-size: 13px; cursor: pointer; }
.reject-btn { background: transparent; border: 1px solid var(--line); color: var(--muted); border-radius: 999px; padding: 6px 14px; font-family: 'Inter', sans-serif; font-size: 13px; cursor: pointer; }
.group-type-label { font-weight: 600; color: var(--gold); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; display: block; margin: 14px 0 8px; }
.pending-badge { display: inline-block; background: rgba(200,149,90,0.15); border: 1px solid rgba(200,149,90,0.3); color: var(--gold); border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 700; margin-left: 8px; }
.window-paths { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Save session panel ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.save-session-panel { max-width: 680px; margin: 18px auto 0; }
.lens-upload-btn { margin: 12px 0 8px; }
.save-label { display: block; font-weight: 600; color: var(--gold); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; margin-top: 12px; margin-bottom: 6px; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Account ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.account-panel { display: grid; gap: 14px; }
.account-panel .cardish { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 18px; padding: 20px; backdrop-filter: blur(6px); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Empty state ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.empty-state { background: rgba(255,255,255,0.5); border: 1px dashed rgba(200,149,90,0.3); border-radius: 18px; padding: 30px; text-align: center; color: var(--muted); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Encounter card (passage display in flow) ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.encounter-card { margin-bottom: 14px; }
.encounter-card p:last-child { margin-bottom: 0; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Transcript ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.transcript-card { margin-bottom: 16px; padding: 16px 20px; background: rgba(200,149,90,0.05); }
.transcript-card summary { cursor: pointer; font-weight: 600; color: var(--navy); font-size: 13px; letter-spacing: 0.06em; }
.transcript-list { margin-top: 12px; display: grid; gap: 10px; }
.transcript-entry { border-top: 1px solid var(--line); padding-top: 10px; }
.transcript-entry:first-child { border-top: 0; }
.transcript-entry p { margin: 5px 0; color: var(--muted); font-size: 14px; line-height: 1.45; }
.transcript-entry span { font-weight: 700; color: var(--navy); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Read more ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.read-more-btn { background: transparent; border: none; color: var(--gold); font-weight: 600; font-size: 13px; padding: 8px 0; cursor: pointer; letter-spacing: 0.06em; margin: 6px 0 0; display: block; text-transform: uppercase; }
.read-more-body { font-size: 16px; line-height: 1.75; color: var(--navy-deep); border-left: 3px solid rgba(200,149,90,0.3); padding-left: 16px; margin: 12px 0 0; }
.read-more-body p { margin: 0 0 12px; }
.read-more-body p:last-child { margin-bottom: 0; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Generated image ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
#generatedImage { margin-top: 16px; }
#generatedImage img { width: 100%; border-radius: 14px; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Link preview ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.link-input-row { display: flex; gap: 8px; margin-top: 10px; }
.link-input-row input { flex: 1; border: 1px solid var(--line); border-radius: 12px; padding: 11px 14px; font-family: 'Inter', sans-serif; font-size: 14px; color: var(--ink); background: rgba(255,255,255,0.8); }
.link-preview { margin-top: 12px; background: rgba(255,255,255,0.7); border: 1px solid var(--line); border-radius: 14px; padding: 14px; }
.link-site { font-size: 11px; font-weight: 700; color: var(--gold); letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 4px; }
.link-title { font-size: 15px; font-weight: 600; color: var(--navy); margin: 0 0 5px; }
.link-desc { font-size: 13px; color: var(--muted); margin: 0 0 8px; line-height: 1.5; }
.link-original { font-size: 13px; color: var(--gold); text-decoration: none; font-weight: 600; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Encounter pill ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.encounter-pill { background: rgba(200,149,90,0.07); border: 1px solid rgba(200,149,90,0.2); border-radius: 16px; padding: 16px; }
.encounter-headline { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 19px; color: var(--navy); margin: 6px 0 8px; line-height: 1.3; font-weight: 400; }
.encounter-summary { font-size: 14px; color: var(--muted); line-height: 1.6; margin: 0 0 8px; }
.encounter-link { font-size: 13px; color: var(--gold); text-decoration: none; font-weight: 600; }

#stepBody { white-space: pre-line; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Responsive ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
@media (max-width: 640px) {
  .brand-wordmark h1 { font-size: 42px; }
  .brand-flame svg, .brand-flame img { width: 52px !important; height: 65px !important; }
  h2 { font-size: 34px; }
  .library-grid { grid-template-columns: 1fr; }
  .insights-grid { grid-template-columns: 1fr; }
  .stat-row { grid-template-columns: repeat(2, 1fr); }
  .path-choice { grid-template-columns: 1fr; }
  .page-header { display: block; }
  .auth-banner { display: block; }
  .auth-banner button { margin-top: 10px; }
  .values-row { grid-template-columns: 1fr; }
  .library-row { grid-template-columns: 64px 1fr; }
  .join-group-row { display: block; }
  .join-code-input { width: 100%; margin-bottom: 8px !important; }
}

@media (max-width: 820px) {
  .library-grid { grid-template-columns: 1fr; }
  .insights-grid { grid-template-columns: 1fr; }
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Loading screen ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â spinner only ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.loading-title, .loading-text { display: none; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Check-in options ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.checkin-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}

.checkin-option {
  background: var(--card-bg, #fff);
  border: 1.5px solid var(--border, #e0ddd8);
  border-radius: 10px;
  padding: 14px 18px;
  font-size: 15px;
  font-family: inherit;
  color: var(--navy-deep, #1a2a3a);
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
  line-height: 1.5;
}

.checkin-option:hover {
  border-color: var(--gold, #c8955a);
  background: rgba(200, 149, 90, 0.05);
}

.checkin-option.selected {
  border-color: var(--gold, #c8955a);
  background: rgba(200, 149, 90, 0.1);
  font-weight: 600;
}

.checkin-skip {
  color: var(--muted, #888);
  font-size: 14px;
  border-style: dashed;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Mirror reflection ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.mirror-reflection {
  margin: 20px 0 8px;
  padding: 16px 20px;
  border-left: 3px solid var(--gold, #c8955a);
  background: rgba(200, 149, 90, 0.06);
  border-radius: 0 8px 8px 0;
}

.mirror-reflection p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--navy-deep, #1a2a3a);
  margin: 0 0 8px;
}

.mirror-reflection p:last-child {
  margin-bottom: 0;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Back button ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.back-btn {
  background: none;
  border: none;
  color: var(--muted, #888);
  font-size: 13px;
  padding: 0 0 12px;
  cursor: pointer;
  display: block;
  font-family: inherit;
}
.back-btn:hover { color: var(--navy-deep, #1a2a3a); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Session detail ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.detail-photo {
  width: 100%;
  border-radius: 10px;
  margin-bottom: 16px;
  object-fit: cover;
  max-height: 280px;
}

.detail-section { margin: 16px 0; }
.detail-section h4 {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted, #888);
  margin-bottom: 6px;
}

.detail-ai {
  padding: 14px 16px;
  background: rgba(200,149,90,0.06);
  border-left: 3px solid var(--gold, #c8955a);
  border-radius: 0 8px 8px 0;
}

.group-hero-photo { width:100%; height:220px; background-size:cover; background-position:center; border-radius:18px; margin-bottom:16px; }

/* Member list */
.member-list { display:flex; flex-direction:column; gap:10px; }
.member-row { display:flex; align-items:center; gap:10px; }
.member-avatar { width:32px; height:32px; border-radius:50%; background:var(--navy); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; color:var(--gold); flex-shrink:0; }
.member-name { font-size:14px; flex:1; }
.member-badge { font-size:11px; padding:2px 8px; border-radius:20px; font-weight:600; letter-spacing:0.05em; }
.admin-badge { background:rgba(201,149,90,0.2); color:var(--gold); }
.donating-badge { background:rgba(201,149,90,0.1); color:var(--gold); border:1px solid rgba(201,149,90,0.3); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Member Profile Page ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.profile-page { padding: 16px 0 40px; }

.profile-photo-wrap { display:flex; justify-content:center; margin: 24px 0 16px; }
.profile-photo { width:96px; height:96px; border-radius:50%; object-fit:cover; border:3px solid rgba(201,149,90,0.4); }
.profile-avatar-large { width:96px; height:96px; border-radius:50%; background:var(--navy); display:flex; align-items:center; justify-content:center; font-size:36px; font-weight:700; color:var(--gold); border:3px solid rgba(201,149,90,0.2); }

.profile-name-row { display:flex; align-items:center; gap:10px; justify-content:center; margin-bottom:8px; flex-wrap:wrap; }
.profile-name { font-size:22px; font-weight:700; margin:0; }
.profile-donor-badge { font-size:11px; padding:3px 10px; border-radius:20px; background:rgba(201,149,90,0.15); color:var(--gold); border:1px solid rgba(201,149,90,0.3); font-weight:600; letter-spacing:0.04em; }

.profile-bio { font-size:15px; line-height:1.7; color:var(--muted); text-align:center; margin:8px 0 16px; }

.profile-edit-section { margin-top:12px; }

.profile-shares { margin-top:28px; }
.profile-share-item { padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.07); }
.profile-share-item:last-child { border-bottom:none; }
.profile-share-meta { font-size:11px; color:var(--gold); font-weight:600; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:4px; }
.profile-share-content { font-size:14px; line-height:1.7; color:var(--text); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Splash Screen ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.splash-screen {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: env(safe-area-inset-bottom, 0);
}

.splash-bg {
  position: absolute;
  inset: 0;
  background: url('/splash-bg.jpg') center center / cover no-repeat;
  z-index: 0;
}

.splash-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10, 15, 30, 0.3) 0%,
    rgba(10, 15, 30, 0.55) 40%,
    rgba(10, 15, 30, 0.85) 70%,
    rgba(10, 15, 30, 0.97) 100%
  );
  z-index: 1;
}

.splash-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 480px;
  padding: 0 28px 48px;
  text-align: center;
}

.splash-slide { display: none; }
.splash-slide.active { display: block; }

.splash-flame { width: 100px; height: auto; margin-bottom: 12px; }
.splash-flame.small { width: 72px; margin-bottom: 10px; }

.splash-wordmark {
  font-size: 42px;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: #fff;
  margin: 0 0 4px;
  font-family: Georgia, serif;
}

.splash-sub {
  font-size: 11px;
  letter-spacing: 0.22em;
  color: rgba(255,255,255,0.6);
  margin-bottom: 32px;
  text-transform: uppercase;
}

.splash-tagline {
  font-size: 26px;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  margin-bottom: 12px;
}

.splash-heading {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
  margin-bottom: 20px;
}

.splash-body {
  font-size: 15px;
  color: rgba(255,255,255,0.75);
  line-height: 1.7;
  margin-bottom: 24px;
}

.splash-steps { text-align: left; margin-bottom: 28px; }
.splash-step {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 16px;
}
.splash-step-icon { flex-shrink: 0; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.85); margin-top: 2px; }
.splash-step-icon svg { display: block; }
.splash-step strong { display: block; color: #fff; font-size: 15px; margin-bottom: 2px; }
.splash-step p { color: rgba(255,255,255,0.65); font-size: 13px; margin: 0; line-height: 1.5; }

.splash-check {
  text-align: left;
  color: rgba(255,255,255,0.8);
  font-size: 14px;
  margin-bottom: 10px;
  padding-left: 4px;
}

.splash-btn {
  display: block;
  width: 100%;
  padding: 16px;
  background: var(--gold);
  color: #1a1200;
  font-size: 16px;
  font-weight: 700;
  border: none;
  border-radius: 14px;
  cursor: pointer;
  margin-bottom: 12px;
  letter-spacing: 0.02em;
}
.splash-btn:hover { background: #e8b060; }

.splash-btn-ghost {
  display: block;
  width: 100%;
  padding: 14px;
  background: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.85);
  font-size: 15px;
  font-weight: 500;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 14px;
  cursor: pointer;
  margin-bottom: 10px;
}
.splash-btn-ghost:hover { background: rgba(255,255,255,0.15); }

.splash-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}
.splash-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  cursor: pointer;
  transition: background 0.2s;
}
.splash-dot.active { background: var(--gold); }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Subscribe nav pill ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.nav-subscribe {
  background: var(--gold) !important;
  color: #1a1200 !important;
  border-color: var(--gold) !important;
  font-weight: 700 !important;
}
.nav-subscribe:hover { background: #e8a040 !important; }

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬
   VIGIL VISUAL POLISH ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â REFLECT SCREEN FIX
   Added after original styles so these rules override earlier ones.
   Goal: keep the non-Reflect screens close, but make Reflect feel
   like the original dark Vigil mockup: visible dawn background,
   darker Scripture card, readable logo/text, and gentler glass cards.
   ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */

:root {
  --card-bg: rgba(242, 244, 248, 0.58);
  --card-border: rgba(255,255,255,0.34);
  --glass-light: rgba(242, 244, 248, 0.54);
  --glass-light-strong: rgba(242, 244, 248, 0.68);
  --glass-navy: rgba(20, 30, 51, 0.74);
  --glass-navy-strong: rgba(20, 30, 51, 0.82);
}

body {
  background:
    linear-gradient(
      to bottom,
      rgba(7, 11, 25, 0.78) 0%,
      rgba(9, 13, 28, 0.54) 15%,
      rgba(12, 17, 33, 0.25) 34%,
      rgba(12, 17, 33, 0.12) 58%,
      rgba(7, 10, 22, 0.36) 100%
    ),
    url('/splash-bg.jpg') center bottom / cover no-repeat fixed;
}

.app-nav {
  background: rgba(20, 12, 24, 0.76);
  border-bottom: 1px solid rgba(212,134,60,0.22);
  backdrop-filter: blur(22px) saturate(115%);
  -webkit-backdrop-filter: blur(22px) saturate(115%);
}

/* Give the Reflect logo area a little local darkness without making
   the whole background muddy. */
.brand-header {
  position: relative;
  z-index: 1;
}

.brand-header::before {
  content: '';
  position: absolute;
  inset: 8px -34px 0 -34px;
  background: radial-gradient(
    ellipse at 45% 45%,
    rgba(3, 8, 20, 0.36) 0%,
    rgba(3, 8, 20, 0.18) 42%,
    transparent 78%
  );
  z-index: -1;
  pointer-events: none;
}

.brand-wordmark h1,
.brand-sub,
.page-header h2,
h2,
h3 {
  text-shadow:
    0 2px 8px rgba(0,0,0,0.42),
    0 0 24px rgba(0,0,0,0.28);
}

.brand-flame svg,
.brand-flame img,
.splash-flame {
  filter:
    drop-shadow(0 2px 10px rgba(212,134,60,0.42))
    drop-shadow(0 0 18px rgba(212,134,60,0.18));
}


/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Glass card system ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â unified across all screens ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */

#homeScreen .passage-hero {
  background: rgba(242, 244, 248, 0.16);
  border: 1px solid rgba(255,255,255,0.22);
  backdrop-filter: blur(14px) saturate(115%);
  -webkit-backdrop-filter: blur(14px) saturate(115%);
  box-shadow: 0 10px 28px rgba(0,0,0,0.10), inset 0 1px 0 rgba(255,255,255,0.22);
}

#homeScreen .passage-hero::before,
#homeScreen .passage-hero::after { display: none; }

#homeScreen .passage-reference {
  color: rgba(18, 31, 54, 0.96);
  text-shadow: 0 1px 2px rgba(255,255,255,0.55), 0 0 10px rgba(255,255,255,0.25);
}

#homeScreen .passage-title {
  color: rgba(18, 31, 54, 0.72);
  text-shadow: 0 1px 1px rgba(255,255,255,0.30);
}

#homeScreen .passage-season {
  color: var(--gold);
  text-shadow: 0 1px 1px rgba(255,255,255,0.28);
}

#homeScreen .ghost-btn {
  color: rgba(18, 31, 54, 0.90);
  background: rgba(255,255,255,0.06);
  border-color: rgba(18, 31, 54, 0.28);
  box-shadow: none;
}

#homeScreen > .card {
  background: rgba(242, 244, 248, 0.42);
  border: 1px solid rgba(255,255,255,0.34);
  backdrop-filter: blur(8px) saturate(110%);
  -webkit-backdrop-filter: blur(8px) saturate(110%);
  box-shadow: 0 12px 34px rgba(0,0,0,0.13), inset 0 1px 0 rgba(255,255,255,0.34);
}

.group-card,
.library-card,
.library-row,
.insight-card {
  background: rgba(242, 244, 248, 0.50);
  border: 1px solid rgba(255,255,255,0.36);
  backdrop-filter: blur(12px) saturate(112%);
  -webkit-backdrop-filter: blur(12px) saturate(112%);
  box-shadow: 0 14px 42px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.42);
}

.group-card h2, .group-card h3, .group-card h4,
.library-card h2, .library-card h3, .library-card h4 {
  color: var(--navy);
  text-shadow: none;
}

.group-card p, .group-card span,
.group-card .group-meta, .group-week-ref,
.library-card p, .library-card .muted-small {
  color: rgba(28, 24, 16, 0.78);
}

.group-detail-header,
.group-begin-card,
#flowScreen .passage-card,
.lens-photo-invite {
  background: rgba(20, 30, 51, 0.78);
  border: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(18px) saturate(112%);
  -webkit-backdrop-filter: blur(18px) saturate(112%);
  box-shadow: 0 14px 42px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.10);
}

@media (max-width: 640px) {
  #homeScreen .passage-hero {
    background: rgba(242, 244, 248, 0.20);
    backdrop-filter: blur(10px) saturate(112%);
    -webkit-backdrop-filter: blur(10px) saturate(112%);
  }
  #homeScreen > .card {
    background: rgba(242, 244, 248, 0.46);
  }
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Mind-first card ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â white text on glass (must come last to beat .card rules) ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
#homeScreen .mind-entry-card {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  backdrop-filter: blur(14px) saturate(115%);
  -webkit-backdrop-filter: blur(14px) saturate(115%);
  box-shadow: 0 10px 28px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.18);
}
#homeScreen .mind-entry-card .eyebrow,
#homeScreen .mind-entry-card p.eyebrow { color: rgba(255,255,255,0.58) !important; }
#homeScreen .mind-entry-card p         { color: rgba(255,255,255,0.75) !important; }
#homeScreen .mind-entry-card label     { color: rgba(255,255,255,0.75) !important; }
#homeScreen .mind-entry-card textarea  {
  background: rgba(255,255,255,0.10) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: rgba(255,255,255,0.90) !important;
}
#homeScreen .mind-entry-card textarea::placeholder { color: rgba(255,255,255,0.35) !important; }
#homeScreen .mind-entry-card .voice-btn {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.22) !important;
  color: rgba(255,255,255,0.72) !important;
}
#homeScreen .mind-entry-card .voice-btn:hover {
  background: rgba(255,255,255,0.14) !important;
  border-color: rgba(255,255,255,0.42) !important;
  color: rgba(255,255,255,0.95) !important;
}
#homeScreen .mind-entry-card .voice-btn.listening {
  background: rgba(212,134,60,0.18) !important;
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Community Feed ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.community-feed {
  padding: 0 0 40px;
}
.community-post {
  background: rgba(20, 30, 51, 0.60);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 20px;
  backdrop-filter: blur(12px);
}
.community-photo {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
.community-post-meta {
  padding: 14px 16px 16px;
}
.community-passage {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 17px;
  color: rgba(255,255,255,0.90);
  margin: 0 0 6px;
  font-style: italic;
}
.community-lens {
  font-size: 13px;
  color: rgba(255,255,255,0.55);
  line-height: 1.5;
  margin: 0 0 10px;
}
.community-byline {
  font-size: 12px;
  color: rgba(255,255,255,0.35);
  margin: 0;
}
.community-empty, .community-loading {
  padding: 40px 0;
  text-align: center;
}

/* ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ Passage toggle buttons on home/flow screen ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã‚ÂÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ */
.hero-text-btn {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.75);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 15px;
  padding: 6px 14px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s;
}
.hero-text-btn:hover {
  background: rgba(255,255,255,0.08);
  color: white;
}
.passage-choose-link {
  background: transparent;
  border: none;
  color: rgba(255,255,255,0.40);
  font-size: 13px;
  cursor: pointer;
  padding: 4px 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.passage-choose-link:hover {
  color: rgba(255,255,255,0.65);
}


/* ==========================================================================
   VIGIL V2 ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â NAVY SHELL + IMAGE CARDS
   Goal: match the mockup direction:
   - The app background is mostly plain deep navy.
   - The dawn landscape appears inside cards as a "window", not behind everything.
   - Bottom navigation uses small line icons + labels on mobile.
   ========================================================================== */

:root {
  --v2-navy-0: #050b16;
  --v2-navy-1: #081220;
  --v2-navy-2: #0d1b31;
  --v2-panel: rgba(9, 18, 34, 0.84);
  --v2-panel-strong: rgba(8, 15, 29, 0.92);
  --v2-panel-soft: rgba(255,255,255,0.055);
  --v2-border: rgba(255,255,255,0.16);
  --v2-border-strong: rgba(255,255,255,0.24);
  --v2-white: rgba(255,255,255,0.94);
  --v2-white-soft: rgba(255,255,255,0.70);
  --v2-white-muted: rgba(255,255,255,0.48);
  --v2-gold: #F09322;
  --v2-gold-soft: rgba(240,147,34,0.16);
  --v2-card-radius: 22px;
  --v2-shadow: 0 20px 54px rgba(0,0,0,0.34);
}

/* Plain navy app shell. The image now belongs mainly inside cards. */
html,
body {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(34, 47, 82, 0.34), transparent 42%),
    linear-gradient(180deg, var(--v2-navy-1) 0%, var(--v2-navy-0) 100%) !important;
  color: var(--v2-white) !important;
}

/* Remove page-wide scenic background from normal app screens. Keep splash separately. */
body::before {
  content: none !important;
}

/* Centered app shell. */
.app {
  max-width: 430px !important;
  margin: 0 auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* Top desktop nav remains, but cleaner and less webby. */
.app-nav {
  background: rgba(5, 9, 18, 0.88) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  backdrop-filter: blur(22px) saturate(115%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(115%) !important;
}

.nav-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  color: var(--v2-white-soft) !important;
  background: rgba(255,255,255,0.025) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  box-shadow: none !important;
}

.nav-pill.active,
.nav-pill:hover {
  color: #150b00 !important;
  background: var(--v2-gold) !important;
  border-color: var(--v2-gold) !important;
}

.nav-icon {
  width: 17px;
  height: 17px;
  display: none;
  line-height: 0;
}

.nav-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#navReflect .nav-icon svg path:first-child {
  fill: currentColor;
  stroke: none;
  opacity: .95;
}

/* Global text system: interior pages use white/soft white. */
h1, h2, h3, h4,
.brand-wordmark h1,
.page-header h2,
.passage-reference,
.passage-title,
.passage-ref-text,
.passage-title-text,
.group-card h2, .group-card h3, .group-card h4,
.library-card h4,
.profile-name,
.community-empty h3,
.empty-state h3 {
  color: var(--v2-white) !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.36) !important;
}

p, label,
.intro,
.muted-small,
.card p,
.card label,
.group-meta,
.share-content,
.share-date,
.community-lens,
.community-byline,
.library-card .muted-small,
.detail-section p,
.profile-bio,
.stat-box span {
  color: var(--v2-white-soft) !important;
}

.eyebrow,
.passage-season,
.group-week-label,
.admin-field-label,
.profile-share-meta {
  color: var(--v2-gold) !important;
  text-shadow: 0 0 16px rgba(240,147,34,0.16) !important;
}

/* A reusable image-card treatment.
   Cards are dark panels with the dawn image behind a heavy navy overlay. */
.card,
.passage-hero,
.group-card,
.community-empty,
.empty-state,
#homeScreen > .card,
#profileScreen .card,
.account-panel .cardish,
.group-detail-header,
.admin-panel-section,
.detail-section,
.detail-hero,
.community-post {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    linear-gradient(180deg, rgba(8, 16, 31, 0.74), rgba(8, 15, 29, 0.88)),
    url('/splash-bg.jpg') center center / cover no-repeat !important;
  border: 1px solid var(--v2-border) !important;
  border-radius: var(--v2-card-radius) !important;
  box-shadow: var(--v2-shadow), inset 0 1px 0 rgba(255,255,255,0.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--v2-white) !important;
}

/* Remove earlier pseudo overlays from prior builds. */
.card::before,
.card::after,
.passage-hero::before,
.passage-hero::after,
.group-card::before,
.group-card::after,
.community-empty::before,
.community-empty::after,
.empty-state::before,
.empty-state::after {
  display: none !important;
  content: none !important;
}

/* Stronger Scripture card = almost a dark scenic window. */
#homeScreen .passage-hero,
.passage-card,
#flowScreen .passage-card {
  background:
    linear-gradient(180deg, rgba(5, 11, 22, 0.82), rgba(7, 13, 25, 0.92)),
    url('/splash-bg.jpg') center 38% / cover no-repeat !important;
  border-color: rgba(255,255,255,0.14) !important;
}

/* Mind-entry and account cards can show a warmer lower-sky crop, still dark. */
#homeScreen .mind-entry-card,
#profileScreen .card,
.account-panel .cardish {
  background:
    linear-gradient(180deg, rgba(18, 18, 38, 0.72), rgba(12, 18, 31, 0.86)),
    url('/splash-bg.jpg') center 70% / cover no-repeat !important;
}

/* Inputs should be quiet dark wells inside image cards. */
textarea,
.auth-input,
input[type="text"],
input[type="email"],
input[type="password"],
select,
.admin-input,
#mindInput {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: var(--v2-white) !important;
  border-radius: 15px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

textarea::placeholder,
input::placeholder {
  color: rgba(255,255,255,0.36) !important;
}

textarea:focus,
.auth-input:focus,
input:focus {
  outline: none !important;
  border-color: rgba(240,147,34,0.54) !important;
}

/* Buttons */
.primary,
.gold-btn,
.splash-btn,
.filter-chip.active,
.path-btn.active,
.group-begin-btn,
.approve-btn,
.use-suggestion-btn {
  background: var(--v2-gold) !important;
  color: #160b00 !important;
  border-color: var(--v2-gold) !important;
  box-shadow: 0 12px 28px rgba(240,147,34,0.24) !important;
  font-weight: 700 !important;
}

.secondary,
.small-btn,
.ghost-btn,
.hero-text-btn,
.passage-card-toggle,
.path-btn,
.filter-chip,
.card .secondary,
.card .small-btn {
  background: rgba(255,255,255,0.055) !important;
  color: var(--v2-white-soft) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
  box-shadow: none !important;
}

/* Brand header should float in navy shell, not be a giant webpage header. */
.brand-header {
  justify-content: center !important;
  gap: 14px !important;
  padding: 34px 0 30px !important;
}

.brand-flame img {
  width: 72px !important;
  height: 90px !important;
  filter: drop-shadow(0 8px 30px rgba(240,147,34,0.30)) !important;
}

.brand-wordmark h1 {
  font-size: 52px !important;
  line-height: 0.94 !important;
  letter-spacing: 0.14em !important;
}

.brand-sub {
  color: var(--v2-white-soft) !important;
}

/* Home screen card proportions */
#homeScreen .passage-hero {
  padding: 28px 24px !important;
  margin-bottom: 18px !important;
}

#homeScreen .passage-reference {
  font-size: 38px !important;
  line-height: 1.04 !important;
  margin-bottom: 8px !important;
}

#homeScreen .passage-title {
  font-size: 21px !important;
  color: rgba(255,255,255,0.74) !important;
}

#homeScreen .passage-cta {
  margin-top: 28px !important;
}

#homeScreen .mind-entry-card {
  padding: 24px !important;
}

#homeScreen .mind-entry-card p {
  font-size: 17px !important;
}

/* Hide values row for the app-like mobile look */
.values-row {
  display: none !important;
}

/* Page headers */
.page-header {
  padding: 30px 0 22px !important;
}

.page-header h2 {
  font-size: 42px !important;
  line-height: 1.08 !important;
}

/* Library: use image cards against navy shell */
.library-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.library-card {
  background: var(--v2-panel-strong) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

.library-thumb {
  height: 132px !important;
  background:
    linear-gradient(180deg, rgba(7,13,25,0.20), rgba(7,13,25,0.26)),
    url('/splash-bg.jpg') center 56% / cover no-repeat !important;
}

.library-card-body {
  background: rgba(7, 13, 25, 0.94) !important;
  padding: 14px !important;
}

.library-card h4 {
  font-size: 16px !important;
  line-height: 1.2 !important;
  color: var(--v2-white) !important;
}

.library-card .muted-small {
  font-size: 12px !important;
  color: var(--v2-white-soft) !important;
}

/* Groups: cleaner readable cards */
.group-card {
  padding: 17px !important;
  background:
    linear-gradient(180deg, rgba(7, 13, 25, 0.86), rgba(7, 13, 25, 0.94)),
    url('/splash-bg.jpg') center 58% / cover no-repeat !important;
}

.group-card h3 {
  font-size: 22px !important;
  line-height: 1.18 !important;
}

.group-meta,
.group-card .muted-small,
.group-card p {
  color: rgba(255,255,255,0.74) !important;
}

.group-icon,
.member-avatar {
  background: rgba(5, 11, 22, 0.88) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  color: var(--v2-gold) !important;
}

/* Search fields in groups shouldn't disappear into the scenic card system. */
.join-group-row input,
#groupSearchInput {
  background: rgba(8,15,29,0.72) !important;
}

/* Community empty state: image card with heavy overlay */
.community-empty,
.empty-state {
  text-align: center !important;
  padding: 44px 24px !important;
}

/* Profile */
.profile-page {
  padding-top: 22px !important;
}

.profile-name {
  font-size: 30px !important;
}

.profile-photo,
.profile-avatar-large {
  border: 3px solid rgba(240,147,34,0.38) !important;
  box-shadow: 0 10px 35px rgba(0,0,0,0.35) !important;
}

/* Flow cards */
.main-card,
.transcript-card {
  background:
    linear-gradient(180deg, rgba(7,13,25,0.86), rgba(7,13,25,0.94)),
    url('/splash-bg.jpg') center 52% / cover no-repeat !important;
}

.opening-text,
.dilemma-question,
.question-item p,
.return-para,
.lens-prompt-text,
.main-card p {
  color: var(--v2-white) !important;
}

.question-item,
.dilemma-question,
.mirror-reflection,
.detail-ai,
.pastoral-note,
.liturgical-suggestion,
.encounter-pill {
  background: rgba(255,255,255,0.055) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-left: 3px solid var(--v2-gold) !important;
}

/* Mobile PWA nav: line icons + labels, no subscribe tab */
@media (max-width: 640px) {
  html,
  body {
    background:
      radial-gradient(ellipse at 50% -10%, rgba(39,55,94,0.44), transparent 42%),
      linear-gradient(180deg, #091426 0%, #050a14 100%) !important;
  }

  .app {
    max-width: 430px !important;
    padding: 18px 17px calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .app-nav {
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 0 !important;
    padding: 7px 8px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
    border-bottom: 0 !important;
    background: rgba(4, 8, 17, 0.93) !important;
    backdrop-filter: blur(24px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(118%) !important;
  }

  #navSubscribe,
  .nav-subscribe {
    display: none !important;
  }

  .nav-pill {
    flex-direction: column !important;
    gap: 3px !important;
    min-width: 0 !important;
    height: 54px !important;
    padding: 6px 2px !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: transparent !important;
    color: rgba(255,255,255,0.54) !important;
    box-shadow: none !important;
    font-size: 10px !important;
    letter-spacing: 0 !important;
  }

  .nav-icon {
    display: block !important;
    width: 21px !important;
    height: 21px !important;
  }

  .nav-label {
    display: block !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  .nav-pill.active {
    color: var(--v2-gold) !important;
    background: rgba(240,147,34,0.10) !important;
    box-shadow: 0 0 30px rgba(240,147,34,0.16) !important;
  }

  .brand-header {
    padding: 24px 0 24px !important;
  }

  .brand-flame img {
    width: 62px !important;
    height: 78px !important;
  }

  .brand-wordmark h1 {
    font-size: 44px !important;
  }

  .brand-sub {
    font-size: 9px !important;
    letter-spacing: 0.21em !important;
  }

  #homeScreen .passage-hero {
    padding: 25px 23px !important;
  }

  #homeScreen .passage-reference {
    font-size: 36px !important;
  }

  #homeScreen .passage-cta {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  #homeScreen .passage-cta button {
    width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .page-header h2 {
    font-size: 42px !important;
  }

  .library-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .library-thumb {
    height: 125px !important;
  }

  .library-card-body {
    min-height: 92px !important;
  }

  .group-card {
    min-height: 94px !important;
  }

  .overlay-screen {
    top: 0 !important;
    padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Desktop preview: keep a phone-like column so it does not sprawl. */
@media (min-width: 641px) {
  #homeScreen,
  #libraryScreen,
  #groupsScreen,
  #communityScreen,
  #profileScreen {
    max-width: 430px !important;
    margin: 0 auto !important;
  }

  #flowScreen {
    max-width: 520px !important;
    margin: 0 auto !important;
  }

  .nav-icon {
    display: inline-block !important;
  }
}


/* ==========================================================================
   VIGIL CARD BACKGROUND SIZING FIX
   Starting from the closer previous styles.css.
   Fixes the mountain/church image inside cards so it crops intentionally
   instead of looking oversized, misplaced, or stretched.
   Keep this block at the VERY BOTTOM of styles.css.
   ========================================================================== */

:root {
  --v-shell-navy: #06111f;
  --v-card-border: rgba(255,255,255,0.18);
}

/* Keep the app shell mostly navy; the image should not dominate the whole app. */
body {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(27, 42, 70, 0.55) 0%, rgba(6, 17, 31, 0.95) 58%, #06111f 100%) !important;
  background-color: var(--v-shell-navy) !important;
  overflow-x: hidden !important;
}

/* Prevent right-side clipping. */
html,
body,
.app,
.screen,
.screen.active {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

.app {
  width: 100% !important;
}

/* Shared image-card recipe:
   - The sunset/church image lives INSIDE cards.
   - It is anchored low/center so the church/horizon are visible.
   - A navy overlay keeps text readable.
*/
#homeScreen .passage-hero,
#homeScreen .mind-entry-card,
.group-card,
.group-detail-header,
.group-begin-card,
.community-empty,
.empty-state,
#communityFeed .card,
.community-post,
#profileScreen .card,
.account-panel .cardish,
.detail-hero,
.detail-section {
  background-image:
    linear-gradient(180deg, rgba(5, 11, 24, 0.70), rgba(5, 11, 24, 0.54)),
    url('/splash-bg.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center 72% !important;
  border: 1px solid var(--v-card-border) !important;
  box-shadow:
    0 18px 48px rgba(0,0,0,0.28),
    inset 0 1px 0 rgba(255,255,255,0.08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Scripture card: darker and calmer. */
#homeScreen .passage-hero {
  background-image:
    linear-gradient(180deg, rgba(5, 11, 24, 0.82), rgba(5, 11, 24, 0.68)),
    url('/splash-bg.jpg') !important;
  background-position: center 68% !important;
}

/* Mind card: show a little more warmth/horizon. */
#homeScreen .mind-entry-card {
  background-image:
    linear-gradient(180deg, rgba(5, 11, 24, 0.55), rgba(5, 11, 24, 0.36)),
    url('/splash-bg.jpg') !important;
  background-position: center 84% !important;
}

/* Library cards: image only in the thumbnail; body stays navy. */
.library-card {
  background: rgba(7, 15, 30, 0.92) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,0.24) !important;
  overflow: hidden !important;
}

.library-thumb {
  background-image:
    linear-gradient(180deg, rgba(5, 11, 24, 0.28), rgba(5, 11, 24, 0.46)),
    url('/splash-bg.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center 72% !important;
}

.library-card-body {
  background: rgba(5, 11, 24, 0.92) !important;
}

/* Text on image cards should stay white. */
#homeScreen .passage-reference,
#homeScreen .passage-title,
#homeScreen .mind-entry-card,
#homeScreen .mind-entry-card p,
#homeScreen .mind-entry-card label,
.group-card,
.group-card h2,
.group-card h3,
.group-card h4,
.group-card p,
.group-card span,
.group-meta,
.group-week-title,
.group-week-ref,
.community-empty,
.community-empty p,
.empty-state,
#profileScreen .card,
#profileScreen .card p,
.account-panel .cardish,
.account-panel .cardish p {
  color: rgba(255,255,255,0.92) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.28) !important;
}

#homeScreen .passage-title,
.group-meta,
.group-week-ref,
#profileScreen .card p,
.account-panel .cardish p {
  color: rgba(255,255,255,0.72) !important;
}

#homeScreen .passage-season,
#homeScreen .mind-entry-card .eyebrow,
.group-card .eyebrow,
.group-week-label,
.community-empty .eyebrow,
.empty-state .eyebrow,
#profileScreen .eyebrow {
  color: var(--gold) !important;
  text-shadow: 0 0 16px rgba(212,134,60,0.18) !important;
}

/* Preserve readable form fields on image cards. */
#homeScreen .mind-entry-card textarea,
#mindInput,
.group-card input,
.group-card textarea,
#profileScreen input,
#profileScreen textarea {
  background: rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

#homeScreen .mind-entry-card textarea::placeholder,
#mindInput::placeholder,
.group-card input::placeholder,
.group-card textarea::placeholder {
  color: rgba(255,255,255,0.42) !important;
}

/* Keep the icon bottom nav from the closer version, but prevent the huge desktop nav. */
@media (max-width: 640px) {
  .app {
    max-width: 430px !important;
    margin: 0 auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .app-nav {
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 2px !important;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    background: rgba(3, 7, 16, 0.88) !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
    border-bottom: none !important;
    backdrop-filter: blur(22px) saturate(118%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(118%) !important;
  }

  .nav-pill {
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 8px 2px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255,255,255,0.58) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
  }

  .nav-pill.active {
    background: rgba(212,134,60,0.13) !important;
    color: var(--gold) !important;
    box-shadow: 0 0 28px rgba(212,134,60,0.18) !important;
  }

  .nav-icon {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
  }

  .nav-icon svg {
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  .nav-label {
    font-size: 10.5px !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
  }

  #navSubscribe,
  .nav-subscribe {
    display: none !important;
  }

  #homeScreen .passage-hero,
  #homeScreen .mind-entry-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #homeScreen .passage-hero {
    padding: 24px 20px !important;
    background-position: center 70% !important;
  }

  #homeScreen .mind-entry-card {
    padding: 24px 20px !important;
    background-position: center 84% !important;
  }

  #homeScreen .passage-cta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  #homeScreen .passage-cta button {
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
  }

  .library-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .library-thumb {
    height: 128px !important;
    background-position: center 72% !important;
  }

  .library-card h4 {
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  .library-card .muted-small {
    font-size: 12px !important;
  }
}

@media (max-width: 390px) {
  .app {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  #homeScreen .passage-hero,
  #homeScreen .mind-entry-card {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #homeScreen .passage-reference {
    font-size: 38px !important;
  }

  .library-grid {
    gap: 12px !important;
  }

  .library-thumb {
    height: 118px !important;
  }
}


/* ==========================================================================
   VIGIL REPAIR PATCH ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â session image cards, mirror stack, width
   ========================================================================== */

#flowScreen,
#groupDetailScreen,
#groupPublicScreen,
#sessionDetailScreen {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#groupDetailContent,
#groupPublicContent,
#sessionDetail,
#flowScreen .flow-header,
#flowScreen .steps,
#flowScreen .passage-card,
#flowScreen .main-card,
#flowScreen .transcript-card,
#saveSessionPanel {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#flowScreen .passage-card,
#flowScreen .main-card,
#flowScreen .transcript-card,
#saveSessionPanel,
.detail-section,
.detail-hero,
.group-detail-header,
.group-begin-card,
.group-feed,
.admin-panel-section {
  background-image:
    linear-gradient(180deg, rgba(5, 11, 24, 0.74), rgba(5, 11, 24, 0.58)),
    url('/splash-bg.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center 76% !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  color: rgba(255,255,255,0.92) !important;
}

#flowScreen .passage-card {
  background-image:
    linear-gradient(180deg, rgba(5, 11, 24, 0.82), rgba(5, 11, 24, 0.70)),
    url('/splash-bg.jpg') !important;
  background-position: center 64% !important;
}

#flowScreen .main-card {
  background-position: center 82% !important;
}

.mirror-question-stack {
  display: grid;
  gap: 16px;
}

.mirror-question-stack .questions-block {
  display: grid;
  gap: 12px;
  margin: 0;
}

.mirror-question-stack .question-item,
.mirror-question-stack .mirror-reflection,
.dilemma-question,
.return-para,
.lens-prompt-text {
  background: rgba(255,255,255,0.055) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-left: 3px solid var(--gold) !important;
  border-radius: 14px !important;
  padding: 18px 20px !important;
}

.mirror-question-stack .opening-text {
  margin-bottom: 0 !important;
}

.generated-image-card {
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.18);
  margin: 16px 0;
  background: rgba(5,11,24,0.72);
}

.generated-image-card img {
  width: 100%;
  display: block;
  object-fit: cover;
}

.detail-photo-default,
.library-thumb-default {
  background-image:
    linear-gradient(180deg, rgba(5, 11, 24, 0.25), rgba(5, 11, 24, 0.48)),
    url('/splash-bg.jpg') !important;
  background-size: cover !important;
  background-position: center 72% !important;
}

.detail-photo-default {
  min-height: 240px;
}

.library-flame {
  color: var(--gold);
  font-size: 24px;
  opacity: 0.85;
}

@media (min-width: 900px) {
  .app {
    max-width: 1120px !important;
  }

  #homeScreen {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #libraryScreen,
  #groupsScreen,
  #communityScreen,
  #profileScreen {
    max-width: 920px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 640px) {
  #flowScreen,
  #groupDetailScreen,
  #groupPublicScreen,
  #sessionDetailScreen,
  #groupDetailContent,
  #groupPublicContent,
  #sessionDetail,
  #flowScreen .flow-header,
  #flowScreen .steps,
  #flowScreen .passage-card,
  #flowScreen .main-card,
  #flowScreen .transcript-card,
  #saveSessionPanel {
    max-width: 100% !important;
  }

  .mirror-question-stack .question-item,
  .mirror-question-stack .mirror-reflection,
  .dilemma-question,
  .return-para,
  .lens-prompt-text {
    padding: 16px 16px !important;
  }
}

/* =========================================================
   FINAL VIGIL READABILITY OVERRIDES
   Purpose:
   Dark/photo/glass cards should default to readable white text.
   Light/plain input cards keep dark text where needed.
   ========================================================= */

/* General dark/glass/photo card text */
.main-card,
.main-card *,
.passage-card,
.passage-card *,
.encounter-card,
.encounter-card *,
.transcript-card,
.transcript-card *,
.detail-section,
.detail-section *,
.session-detail,
.session-detail *,
.detail-hero,
.detail-hero *,
.group-detail-header,
.group-detail-header *,
.group-begin-card,
.group-begin-card *,
.group-feed,
.group-feed *,
.admin-panel-section,
.admin-panel-section *,
.save-session-panel,
.save-session-panel *,
.account-panel .cardish,
.account-panel .cardish *,
.empty-state,
.empty-state *,
.mirror-reflection,
.mirror-reflection *,
.return-para,
.lens-prompt,
.lens-prompt *,
.read-more-body,
.read-more-body *,
#stepBody,
#stepBody *,
#sessionSummary,
#sessionSummary *,
.session-so-far,
.session-so-far *,
.session-summary,
.session-summary *,
.accordion,
.accordion *,
details,
details summary {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Section labels stay gold */
.eyebrow,
.flow-eyebrow,
.response-label,
.save-label,
.admin-field-label,
.group-type-label,
.pastoral-note-label,
.liturgical-label,
.group-week-label,
.framework-list::before {
  color: var(--gold-light) !important;
}

/* Links and theological/framework chips should be visible on dark backgrounds */
.inline-thinker-link,
.framework-pill,
.framework-pill *,
.framework-links a,
.framework-links a *,
.thinker-chip,
.thinker-chip *,
.lens-link,
.lens-link * {
  color: var(--gold-light) !important;
  text-decoration-color: rgba(224, 154, 80, 0.75) !important;
}

/* Framework/tag chips keep the same style but readable text */
.framework-pill,
.framework-links a,
.thinker-chip,
.lens-link {
  background: rgba(212, 134, 60, 0.12) !important;
  border-color: rgba(224, 154, 80, 0.35) !important;
}

/* Session path cards: the inactive/short path must not look disabled on image backgrounds */
.path-card,
.path-card *,
.path-card:not(.primary-path),
.path-card:not(.primary-path) *,
.path-desc,
.path-label {
  color: rgba(255, 255, 255, 0.9) !important;
}

.path-card.primary-path,
.path-card.primary-path * {
  color: rgba(255, 255, 255, 0.95) !important;
}

.path-card .path-label,
.path-card.primary-path .path-label,
.path-card:not(.primary-path) .path-label {
  color: var(--gold-light) !important;
}

/* Step pills remain legible */
.step {
  color: rgba(255,255,255,0.82) !important;
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.20) !important;
}

.step.active {
  color: var(--gold-light) !important;
  background: rgba(35,50,85,0.88) !important;
  border-color: rgba(35,50,85,0.9) !important;
}

.step.done {
  color: var(--gold-light) !important;
  background: rgba(212,134,60,0.12) !important;
  border-color: rgba(212,134,60,0.30) !important;
}

/* Light choice cards should keep dark text */
.checkin-option,
.checkin-option *,
.choice-card,
.choice-card *,
.option-card,
.option-card * {
  color: var(--navy-deep) !important;
}

/* Inputs and textareas on dark/photo cards */
textarea,
input,
select,
.auth-input,
.admin-input,
.link-input-row input {
  color: rgba(255,255,255,0.94) !important;
  background: rgba(255,255,255,0.10) !important;
  border-color: rgba(255,255,255,0.22) !important;
}

textarea::placeholder,
input::placeholder {
  color: rgba(255,255,255,0.45) !important;
}

/* Preserve auth/login fields if placed on a genuinely light card */
.auth-card textarea,
.auth-card input,
.auth-card select,
.overlay-screen input,
.overlay-screen select {
  color: var(--ink) !important;
  background: rgba(255,255,255,0.86) !important;
}

/* Library cards */
.library-card h4,
.library-card h4 *,
.library-card-body,
.library-card-body *,
.library-row,
.library-row *,
.library-row h4,
.library-row h4 * {
  color: rgba(255,255,255,0.92) !important;
}

.library-card .muted-small,
.library-row .muted-small,
.library-card-body .muted-small {
  color: rgba(255,255,255,0.72) !important;
}

/* Group cards on dark background */
.group-card,
.group-card *,
.group-meta,
.group-card p,
.group-card span.member-name,
.group-card .group-meta {
  color: rgba(255,255,255,0.90) !important;
}

.group-card h2,
.group-card h3,
.group-card h4 {
  color: rgba(255,255,255,0.96) !important;
}

.group-icon {
  color: var(--gold-light) !important;
}

/* Buttons that should remain dark text on gold */
.nav-pill.active,
.filter-chip.active,
.primary,
.gold-btn,
.group-begin-btn,
.splash-btn,
button.primary.small-btn,
a.primary.small-btn {
  color: #1a1200 !important;
}

/* Secondary and small buttons on dark cards */
.secondary,
.small-btn,
.ghost-btn,
.media-btn,
.voice-btn,
.back-btn,
.read-more-btn {
  color: rgba(255,255,255,0.86) !important;
  border-color: rgba(255,255,255,0.28) !important;
}

/* Session-so-far / accordion headings */
summary,
details summary,
.transcript-card summary,
#sessionSummary summary,
.session-so-far summary,
.session-summary summary {
  color: rgba(255,255,255,0.88) !important;
}

/* Notes should be readable but quieter */
.note,
.muted-small,
.voice-status,
.remove-photo-btn,
.share-date,
.share-type-label,
.liturgical-reason,
.profile-bio {
  color: rgba(255,255,255,0.65) !important;
}

/* Inline body blocks that were inherited from old light theme */
blockquote,
blockquote *,
.detail-ai,
.detail-ai *,
.pastoral-note,
.pastoral-note *,
.liturgical-suggestion,
.liturgical-suggestion *,
.encounter-pill,
.encounter-pill *,
.link-preview,
.link-preview * {
  color: rgba(255,255,255,0.90) !important;
}

/* Keep special headings and references bright */
.passage-reference,
.passage-title,
.passage-reason,
.passage-ref-text,
.passage-title-text,
.opening-text,
.dilemma-question,
.question-item p,
.return-para,
.lens-prompt-text {
  color: rgba(255,255,255,0.94) !important;
}

/* Light overlay option cards */
.checkin-option {
  background: rgba(255,255,255,0.78) !important;
  border-color: rgba(255,255,255,0.75) !important;
}

.checkin-option:hover,
.checkin-option.selected {
  background: rgba(255,255,255,0.88) !important;
  border-color: var(--gold-light) !important;
}

/* Do not let old navy link styles reappear inside dark cards */
.card a,
.main-card a,
.detail-section a,
.session-detail a,
.group-feed a,
.save-session-panel a {
  color: var(--gold-light) !important;
}

/* Bottom nav and PWA nav readability */
.mobile-bottom-nav,
.mobile-bottom-nav *,
.bottom-nav,
.bottom-nav *,
.app-nav,
.app-nav * {
  color: rgba(255,255,255,0.82) !important;
}

.mobile-bottom-nav .active,
.bottom-nav .active,
.app-nav .active {
  color: var(--gold-light) !important;
}

/* Final safety net */
.screen.active :is(.card, .main-card, .detail-section, .transcript-card, .encounter-card, .group-feed, .save-session-panel) :is(p, span, div, label, summary, h2, h3, h4, li) {
  color: rgba(255,255,255,0.92) !important;
}

.screen.active :is(.card, .main-card, .detail-section, .transcript-card, .encounter-card, .group-feed, .save-session-panel) :is(a, .inline-thinker-link, .framework-pill, .framework-links a) {
  color: var(--gold-light) !important;
}

/* =========================================================
   FINAL VIGIL READABILITY PATCH 2
   Focus:
   - Session so far accordion visibility
   - Microphone / voice button visibility
   - Group card metadata visibility
   - Inactive path card visibility
   ========================================================= */

/* Session so far / accordion / collapsible rows */
#sessionSummary,
#sessionSummary *,
#sessionSoFar,
#sessionSoFar *,
.session-so-far,
.session-so-far *,
.session-summary,
.session-summary *,
.session-summary-card,
.session-summary-card *,
.session-progress,
.session-progress *,
.transcript-card,
.transcript-card *,
details,
details *,
details summary,
summary {
  color: rgba(255,255,255,0.94) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.35) !important;
}

#sessionSummary,
#sessionSoFar,
.session-so-far,
.session-summary,
.session-summary-card,
.transcript-card {
  background: rgba(20,30,51,0.56) !important;
  border-color: rgba(255,255,255,0.22) !important;
}

/* If the summary label is a link/button/div/span with old navy color, force it */
#sessionSummary :is(a, button, div, span, p, summary),
#sessionSoFar :is(a, button, div, span, p, summary),
.session-so-far :is(a, button, div, span, p, summary),
.session-summary :is(a, button, div, span, p, summary),
.transcript-card :is(a, button, div, span, p, summary) {
  color: rgba(255,255,255,0.94) !important;
}

/* Microphone / voice controls */
.voice-btn,
.voice-btn *,
.home-voice-row,
.home-voice-row *,
.response-area .voice-btn,
.response-area .voice-btn *,
button.voice-btn,
button.voice-btn *,
[class*="voice"],
[class*="voice"] *,
[class*="mic"],
[class*="mic"] *,
[id*="voice"],
[id*="voice"] *,
[id*="mic"],
[id*="mic"] * {
  color: rgba(255,255,255,0.88) !important;
  fill: none !important;
  stroke: rgba(255,255,255,0.88) !important;
}

.voice-btn,
button.voice-btn,
[class*="mic-btn"],
[id*="micBtn"] {
  background: rgba(255,255,255,0.10) !important;
  border-color: rgba(255,255,255,0.28) !important;
}

/* SVG icons inside voice/mic buttons */
.voice-btn svg,
.voice-btn svg *,
[class*="voice"] svg,
[class*="voice"] svg *,
[class*="mic"] svg,
[class*="mic"] svg * {
  color: rgba(255,255,255,0.88) !important;
  stroke: rgba(255,255,255,0.88) !important;
}

/* Group card subtitles and metadata */
.groups-list .group-card,
.groups-list .group-card *,
.group-card,
.group-card *,
.group-card :is(p, span, div, small, strong, label),
.group-meta,
.group-week-ref,
.group-week-title,
.member-name,
.share-name,
.share-content,
.share-date,
.share-type-label {
  color: rgba(255,255,255,0.92) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.28) !important;
}

.group-card h2,
.group-card h3,
.group-card h4,
.groups-list .group-card h2,
.groups-list .group-card h3,
.groups-list .group-card h4 {
  color: rgba(255,255,255,0.98) !important;
}

/* Search inputs on group/library screens */
.groups-list input,
#groupsScreen input,
#groupSearch,
.search-input,
input[type="search"] {
  color: rgba(255,255,255,0.94) !important;
  background: rgba(255,255,255,0.09) !important;
  border-color: rgba(255,255,255,0.24) !important;
}

.groups-list input::placeholder,
#groupsScreen input::placeholder,
#groupSearch::placeholder,
.search-input::placeholder,
input[type="search"]::placeholder {
  color: rgba(255,255,255,0.52) !important;
}

/* Inactive path cards, especially Short Session / Go to Lens */
.path-choice .path-card,
.path-choice .path-card *,
.path-card,
.path-card *,
.path-card:not(.primary-path),
.path-card:not(.primary-path) *,
button.path-card,
button.path-card * {
  color: rgba(255,255,255,0.92) !important;
  opacity: 1 !important;
}

.path-card:not(.primary-path) {
  background: rgba(20,30,51,0.38) !important;
  border-color: rgba(255,255,255,0.20) !important;
}

.path-card:not(.primary-path) .path-label {
  color: var(--gold-light) !important;
}

.path-card:not(.primary-path) .path-desc {
  color: rgba(255,255,255,0.88) !important;
}

/* Disabled or "not sure yet" options should still be readable */
button:disabled,
button:disabled *,
.disabled,
.disabled *,
[aria-disabled="true"],
[aria-disabled="true"] * {
  color: rgba(255,255,255,0.62) !important;
  opacity: 1 !important;
}

/* Keep light multiple-choice answer cards dark and readable */
.checkin-option,
.checkin-option *,
.choice-card,
.choice-card *,
.option-card,
.option-card * {
  color: var(--navy-deep) !important;
  text-shadow: none !important;
}

/* Gold buttons should keep dark text */
.primary,
.primary *,
.gold-btn,
.gold-btn *,
.group-begin-btn,
.group-begin-btn *,
.splash-btn,
.splash-btn *,
.nav-pill.active,
.nav-pill.active *,
.filter-chip.active,
.filter-chip.active * {
  color: #1a1200 !important;
  text-shadow: none !important;
}

/* Final catch for old navy text inside visual cards */
.main-card :is(p, span, div, label, summary, button:not(.primary):not(.gold-btn)),
.card.visual :is(p, span, div, label, summary, button:not(.primary):not(.gold-btn)),
.flow-card :is(p, span, div, label, summary, button:not(.primary):not(.gold-btn)) {
  color: rgba(255,255,255,0.92) !important;
}

/* =========================================================
   VIGIL LAUNCH POLISH PATCH
   Final pre-launch visibility fixes:
   - Dark glass answer/input boxes with white text
   - Clearer microphone controls
   - Clearer Session So Far accordion
   - Warmer, cleaner bottom-nav active state
   - Group metadata no longer navy/black on photo cards
   ========================================================= */

/* 1) Check-in / multiple-choice answer boxes:
   These live on image/glass cards, so they should be dark glass with white text. */
.checkin-options .checkin-option,
.main-card .checkin-option,
.flow-card .checkin-option,
button.checkin-option,
.checkin-option,
.choice-card,
.option-card {
  background: rgba(12, 20, 36, 0.72) !important;
  color: rgba(255,255,255,0.94) !important;
  border: 1.5px solid rgba(255,255,255,0.30) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.12) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.35) !important;
}

.checkin-options .checkin-option *,
.main-card .checkin-option *,
.flow-card .checkin-option *,
button.checkin-option *,
.checkin-option *,
.choice-card *,
.option-card * {
  color: rgba(255,255,255,0.94) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.35) !important;
}

.checkin-option:hover,
.checkin-option.selected,
.choice-card:hover,
.choice-card.selected,
.option-card:hover,
.option-card.selected {
  background: rgba(28, 43, 71, 0.82) !important;
  border-color: rgba(224,154,80,0.75) !important;
}

.checkin-skip,
.checkin-skip * {
  color: rgba(255,255,255,0.70) !important;
  border-style: dashed !important;
}

/* 2) Text inputs / textareas on dark/photo cards.
   Keep auth/login fields separate below. */
.main-card textarea,
.flow-card textarea,
.response-area textarea,
#userResponse,
#mindInput,
#lensCaption,
#photoCaption,
#groupSearch,
.search-input,
input[type="search"] {
  background: rgba(12, 20, 36, 0.55) !important;
  color: rgba(255,255,255,0.96) !important;
  border: 1.5px solid rgba(255,255,255,0.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10), 0 8px 22px rgba(0,0,0,0.12) !important;
}

.main-card textarea::placeholder,
.flow-card textarea::placeholder,
.response-area textarea::placeholder,
#userResponse::placeholder,
#mindInput::placeholder,
#lensCaption::placeholder,
#photoCaption::placeholder,
#groupSearch::placeholder,
.search-input::placeholder,
input[type="search"]::placeholder {
  color: rgba(255,255,255,0.58) !important;
}

/* Keep login/signup/admin fields readable if they are on light cards */
.auth-card input,
.auth-card textarea,
.auth-card select,
.overlay-screen input,
.overlay-screen textarea,
.overlay-screen select,
.admin-input {
  color: var(--ink) !important;
  background: rgba(255,255,255,0.88) !important;
  text-shadow: none !important;
}

/* 3) Microphone / voice controls */
.voice-btn,
.voice-btn *,
button.voice-btn,
button.voice-btn *,
[class*="mic"],
[class*="mic"] *,
[id*="mic"],
[id*="mic"] * {
  color: rgba(255,255,255,0.92) !important;
  stroke: rgba(255,255,255,0.92) !important;
  fill: none !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.35) !important;
}

.voice-btn,
button.voice-btn,
[class*="mic-btn"],
[id*="micBtn"] {
  background: rgba(12, 20, 36, 0.48) !important;
  border: 1.5px solid rgba(255,255,255,0.30) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.16) !important;
}

.voice-btn.listening,
button.voice-btn.listening {
  background: rgba(212,134,60,0.28) !important;
  border-color: rgba(224,154,80,0.85) !important;
  color: #fff !important;
}

/* 4) Session So Far accordion */
#sessionSummary,
#sessionSoFar,
.session-so-far,
.session-summary,
.session-summary-card,
.transcript-card {
  background: rgba(12, 20, 36, 0.62) !important;
  border: 1px solid rgba(255,255,255,0.24) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,0.16), inset 0 1px 0 rgba(255,255,255,0.10) !important;
}

#sessionSummary,
#sessionSummary *,
#sessionSoFar,
#sessionSoFar *,
.session-so-far,
.session-so-far *,
.session-summary,
.session-summary *,
.session-summary-card,
.session-summary-card *,
.transcript-card,
.transcript-card *,
details summary,
summary {
  color: rgba(255,255,255,0.94) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.36) !important;
}

#sessionSummary a,
#sessionSoFar a,
.session-so-far a,
.session-summary a,
.transcript-card a {
  color: var(--gold-light) !important;
}

/* 5) Bottom nav: active state should be clearly gold, not muddy brown/black. */
.mobile-bottom-nav,
.bottom-nav {
  background: rgba(3, 8, 18, 0.88) !important;
  border-top: 1px solid rgba(255,255,255,0.10) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.mobile-bottom-nav button,
.bottom-nav button,
.mobile-bottom-nav .nav-item,
.bottom-nav .nav-item {
  color: rgba(255,255,255,0.70) !important;
}

.mobile-bottom-nav button svg,
.bottom-nav button svg,
.mobile-bottom-nav .nav-item svg,
.bottom-nav .nav-item svg {
  color: rgba(255,255,255,0.70) !important;
  stroke: rgba(255,255,255,0.70) !important;
}

.mobile-bottom-nav button.active,
.bottom-nav button.active,
.mobile-bottom-nav .active,
.bottom-nav .active,
.mobile-bottom-nav .nav-item.active,
.bottom-nav .nav-item.active {
  background: rgba(212,134,60,0.20) !important;
  color: var(--gold-light) !important;
  border-radius: 20px !important;
  box-shadow: 0 0 24px rgba(212,134,60,0.22) !important;
}

.mobile-bottom-nav button.active *,
.bottom-nav button.active *,
.mobile-bottom-nav .active *,
.bottom-nav .active *,
.mobile-bottom-nav .nav-item.active *,
.bottom-nav .nav-item.active * {
  color: var(--gold-light) !important;
  stroke: var(--gold-light) !important;
  fill: none !important;
  opacity: 1 !important;
}

/* 6) Group cards and metadata on photo cards */
.group-card,
.group-card *,
.groups-list .group-card,
.groups-list .group-card *,
.group-meta,
.group-week-title,
.group-week-ref,
.member-name,
.share-name,
.share-date,
.share-type-label {
  color: rgba(255,255,255,0.92) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.38) !important;
}

.group-card h2,
.group-card h3,
.group-card h4,
.groups-list .group-card h2,
.groups-list .group-card h3,
.groups-list .group-card h4 {
  color: rgba(255,255,255,0.98) !important;
}

/* 7) Inactive Short Session / secondary path cards */
.path-card:not(.primary-path),
.path-card:not(.primary-path) *,
.path-card:not(.primary-path) .path-desc {
  color: rgba(255,255,255,0.88) !important;
  opacity: 1 !important;
}

.path-card:not(.primary-path) {
  background: rgba(12, 20, 36, 0.42) !important;
  border-color: rgba(255,255,255,0.22) !important;
}

.path-card:not(.primary-path) .path-label {
  color: var(--gold-light) !important;
}

/* 8) Gold buttons keep dark text, except bottom nav active handled above */
.primary,
.primary *,
.gold-btn,
.gold-btn *,
.group-begin-btn,
.group-begin-btn *,
.splash-btn,
.splash-btn *,
button.primary.small-btn,
a.primary.small-btn,
.filter-chip.active,
.filter-chip.active *,
.nav-pill.active:not(.nav-item),
.nav-pill.active:not(.nav-item) * {
  color: #1a1200 !important;
  text-shadow: none !important;
}

/* 9) Top app nav remains crisp */
.app-nav .nav-pill.active,
.app-nav .nav-pill.active * {
  color: #1a1200 !important;
  background: var(--gold) !important;
  border-color: var(--gold) !important;
}

/* 10) Any remaining disabled-looking text should be visible but subdued */
button:disabled,
button:disabled *,
.disabled,
.disabled *,
[aria-disabled="true"],
[aria-disabled="true"] * {
  color: rgba(255,255,255,0.62) !important;
  opacity: 1 !important;
}
