/* Kē rebrand Journal. Everything is mode-scoped so /app remains unchanged. */
html.ke-rebrand-mode #scr-journal {
  --kj-navy: #1a2830;
  --kj-navy-soft: #263944;
  --kj-burgundy: #6d3346;
  --kj-gold: #c8a558;
  --kj-gold-light: #e9ba61;
  --kj-cream: #f7f1e8;
  --kj-paper: #fffdf9;
  --kj-ink: #1f2c32;
  --kj-muted: #69757a;
  --kj-line: rgba(200, 165, 88, .48);
  background: #fff !important;
  color: var(--kj-ink) !important;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  transform: none !important;
}

html.ke-rebrand-mode #scr-journal * { box-sizing: border-box; }
html.ke-rebrand-mode :where(#scr-journal button, #scr-journal input, #scr-journal textarea) { font: inherit; }
html.ke-rebrand-mode #scr-journal [hidden] { display: none !important; }
html.ke-rebrand-mode #scr-journal .sr-only {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

html.ke-rebrand-mode .ke-journal-header {
  align-items: center;
  background: var(--kj-navy);
  border-bottom: 1px solid rgba(233,186,97,.25);
  display: grid;
  flex: 0 0 auto;
  gap: 22px;
  grid-template-columns: auto minmax(0,1fr) auto;
  min-height: 92px;
  padding: 17px clamp(18px,4vw,42px);
}
html.ke-rebrand-mode .ke-journal-brand { align-items: center; display: flex; gap: 10px; }
html.ke-rebrand-mode .ke-journal-brand img { border-radius: 9px; height: 42px; width: 42px; }
html.ke-rebrand-mode .ke-journal-brand span { color: rgba(247,241,232,.65); font-size: 8px; font-weight: 800; letter-spacing: 1.3px; }
html.ke-rebrand-mode .ke-journal-header-copy { text-align: center; }
html.ke-rebrand-mode .ke-journal-header .ke-journal-kicker { color: var(--kj-gold-light); }
html.ke-rebrand-mode .ke-journal-header h1 { color: #fff !important; font-family: 'Playfair Display', serif; font-size: clamp(22px,3vw,32px); font-weight: 600; line-height: 1.1; margin: 3px 0 0; }
html.ke-rebrand-mode .ke-journal-header-action { background: transparent; border: 1px solid rgba(233,186,97,.62); border-radius: 999px; color: var(--kj-gold-light); cursor: pointer; font-size: 10px; font-weight: 800; padding: 10px 15px; text-transform: uppercase; }

html.ke-rebrand-mode .ke-journal-main { margin: 0 auto; max-width: 980px; padding: clamp(24px,5vw,52px) clamp(15px,4vw,38px) 54px; width: 100%; }
html.ke-rebrand-mode .ke-journal-kicker { color: var(--kj-burgundy); display: block; font-size: 9px; font-weight: 900; letter-spacing: 1.25px; line-height: 1.2; text-transform: uppercase; }
html.ke-rebrand-mode .ke-journal-alert { background: var(--kj-navy); border: 1px solid var(--kj-line); border-radius: 12px; color: #fff; font-size: 12px; margin-bottom: 18px; padding: 13px 15px; }

html.ke-rebrand-mode .ke-journal-hero,
html.ke-rebrand-mode .ke-journal-editor-card,
html.ke-rebrand-mode .ke-journal-list,
html.ke-rebrand-mode .ke-journal-empty,
html.ke-rebrand-mode .ke-journal-reflection-card {
  border: 1px solid var(--kj-line);
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(26,40,48,.08);
  overflow: hidden;
  position: relative;
}
html.ke-rebrand-mode .ke-journal-hero::before,
html.ke-rebrand-mode .ke-journal-editor-card::before,
html.ke-rebrand-mode .ke-journal-list::before,
html.ke-rebrand-mode .ke-journal-empty::before,
html.ke-rebrand-mode .ke-journal-reflection-card::before,
html.ke-rebrand-mode .ke-journal-modal-card::before {
  animation: keJournalShimmer 4.8s ease-in-out infinite;
  background: linear-gradient(115deg, transparent 36%, rgba(233,186,97,.26) 50%, transparent 64%);
  border-radius: inherit;
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(-100%);
  z-index: 4;
}
html.ke-rebrand-mode .ke-journal-hero > *,
html.ke-rebrand-mode .ke-journal-editor-card > *,
html.ke-rebrand-mode .ke-journal-list > *,
html.ke-rebrand-mode .ke-journal-empty > *,
html.ke-rebrand-mode .ke-journal-reflection-card > *,
html.ke-rebrand-mode .ke-journal-modal-card > * { position: relative; z-index: 5; }
@keyframes keJournalShimmer { 0% { transform: translateX(-100%); } 55%,100% { transform: translateX(100%); } }

html.ke-rebrand-mode .ke-journal-hero { background: var(--kj-navy); color: #fff; display: grid; gap: 24px; grid-template-columns: minmax(0,1fr) auto; padding: clamp(25px,5vw,44px); }
html.ke-rebrand-mode .ke-journal-hero .ke-journal-kicker { color: var(--kj-gold-light); }
html.ke-rebrand-mode .ke-journal-hero h2 { color: #fff !important; font-family: 'Playfair Display', serif; font-size: clamp(30px,5vw,47px); font-weight: 600; letter-spacing: -.6px; line-height: 1.04; margin: 8px 0 11px; max-width: 650px; }
html.ke-rebrand-mode .ke-journal-hero p { color: rgba(255,255,255,.7) !important; font-family: 'Cormorant Garamond', serif; font-size: 20px; font-style: italic; line-height: 1.35; margin: 0; }
html.ke-rebrand-mode .ke-journal-hero-actions { align-content: center; display: grid; gap: 10px; min-width: 168px; }

html.ke-rebrand-mode .ke-journal-primary,
html.ke-rebrand-mode .ke-journal-secondary,
html.ke-rebrand-mode .ke-journal-quiet { border-radius: 999px; cursor: pointer; font-size: 10px; font-weight: 900; min-height: 42px; padding: 11px 18px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-journal-primary { background: var(--kj-gold-light); border: 1px solid var(--kj-gold-light); color: var(--kj-navy); }
html.ke-rebrand-mode .ke-journal-secondary { background: #fff; border: 1px solid var(--kj-gold); color: var(--kj-burgundy); }
html.ke-rebrand-mode .ke-journal-secondary.is-dark { background: transparent; color: var(--kj-gold-light); }
html.ke-rebrand-mode .ke-journal-quiet { background: transparent; border: 0; color: var(--kj-muted); }
html.ke-rebrand-mode .ke-journal-primary:hover { background: #f0c976; transform: translateY(-1px); }
html.ke-rebrand-mode .ke-journal-primary:disabled,
html.ke-rebrand-mode .ke-journal-secondary:disabled { cursor: wait; opacity: .55; }

html.ke-rebrand-mode .ke-journal-archive { margin-top: 38px; }
html.ke-rebrand-mode .ke-journal-section-heading { align-items: end; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 16px; }
html.ke-rebrand-mode .ke-journal-section-heading h2 { color: var(--kj-navy) !important; font-family: 'Playfair Display', serif; font-size: clamp(25px,4vw,34px); font-weight: 600; line-height: 1.1; margin: 5px 0 0; }
html.ke-rebrand-mode .ke-journal-search { align-items: center; background: #fff; border: 1px solid var(--kj-line); border-radius: 999px; display: flex; gap: 8px; max-width: 290px; padding: 0 14px; width: 100%; }
html.ke-rebrand-mode .ke-journal-search svg { fill: none; height: 17px; stroke: var(--kj-burgundy); stroke-linecap: round; stroke-width: 1.7; width: 17px; }
html.ke-rebrand-mode .ke-journal-search input { background: transparent; border: 0; color: var(--kj-ink); min-height: 42px; outline: 0; width: 100%; }
html.ke-rebrand-mode .ke-journal-list { background: var(--kj-paper); }
html.ke-rebrand-mode .ke-journal-row { align-items: center; background: transparent; border: 0; color: var(--kj-ink); cursor: pointer; display: grid; gap: 15px; grid-template-columns: 70px minmax(0,1fr) auto; padding: 19px 21px; text-align: left; width: 100%; }
html.ke-rebrand-mode .ke-journal-row + .ke-journal-row { border-top: 1px solid rgba(200,165,88,.3); }
html.ke-rebrand-mode .ke-journal-row-date { color: var(--kj-burgundy); font-size: 9px; font-weight: 900; letter-spacing: .8px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-journal-row strong { color: var(--kj-navy); display: block; font-family: 'Playfair Display', serif; font-size: 18px; font-weight: 600; }
html.ke-rebrand-mode .ke-journal-row small { color: var(--kj-muted); display: block; font-family: 'Cormorant Garamond', serif; font-size: 15px; font-style: italic; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.ke-rebrand-mode .ke-journal-row-arrow { color: var(--kj-gold); font-size: 19px; }
html.ke-rebrand-mode .ke-journal-reflection-badge { background: rgba(109,51,70,.09); border-radius: 999px; color: var(--kj-burgundy); font-size: 8px; font-weight: 900; padding: 6px 8px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-journal-empty { background: var(--kj-paper); padding: 32px; text-align: center; }
html.ke-rebrand-mode .ke-journal-empty h3 { color: var(--kj-navy) !important; font-family: 'Playfair Display', serif; font-size: 25px; margin: 7px 0; }
html.ke-rebrand-mode .ke-journal-empty p { color: var(--kj-muted) !important; margin: 0 auto 19px; max-width: 460px; }

html.ke-rebrand-mode .ke-journal-subnav { align-items: center; display: grid; gap: 15px; grid-template-columns: auto minmax(0,1fr) auto; margin-bottom: 18px; }
html.ke-rebrand-mode .ke-journal-subnav h2 { color: var(--kj-navy) !important; font-family: 'Playfair Display', serif; font-size: clamp(26px,4vw,38px); font-weight: 600; line-height: 1.08; margin: 4px 0 0; }
html.ke-rebrand-mode .ke-journal-back { align-items: center; background: #fff; border: 1px solid var(--kj-line); border-radius: 50%; color: var(--kj-burgundy); cursor: pointer; display: flex; font-size: 21px; height: 42px; justify-content: center; width: 42px; }
html.ke-rebrand-mode .ke-journal-private-pill { background: rgba(200,165,88,.14); border-radius: 999px; color: var(--kj-burgundy); font-size: 9px; font-weight: 900; padding: 8px 11px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-journal-editor-card { background: var(--kj-paper); padding: clamp(22px,5vw,42px); }
html.ke-rebrand-mode .ke-journal-editor-meta { color: var(--kj-muted); display: flex; font-size: 9px; font-weight: 800; justify-content: space-between; letter-spacing: .5px; margin-bottom: 24px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-journal-prompt { background: rgba(233,186,97,.13); border: 1px solid rgba(200,165,88,.32); border-radius: 14px; margin-bottom: 24px; padding: 16px; }
html.ke-rebrand-mode .ke-journal-prompt p { color: var(--kj-burgundy) !important; font-family: 'Cormorant Garamond', serif; font-size: 20px; font-style: italic; line-height: 1.3; margin: 7px 0 0; }
html.ke-rebrand-mode .ke-journal-title-field { display: grid; gap: 7px; }
html.ke-rebrand-mode .ke-journal-title-field > span { color: var(--kj-burgundy); font-size: 9px; font-weight: 900; letter-spacing: 1px; }
html.ke-rebrand-mode .ke-journal-title-field input { background: transparent; border: 0; border-bottom: 1px solid rgba(200,165,88,.5); border-radius: 0; color: var(--kj-navy); font-family: 'Playfair Display', serif; font-size: 25px; font-weight: 600; outline: 0; padding: 8px 0 11px; width: 100%; }
html.ke-rebrand-mode .ke-journal-body-field { display: block; margin-top: 22px; }
html.ke-rebrand-mode .ke-journal-body-field textarea { background: transparent; border: 0; color: var(--kj-ink); font-family: 'Cormorant Garamond', serif; font-size: 21px; line-height: 1.55; min-height: 340px; outline: 0; padding: 0; resize: vertical; width: 100%; }
html.ke-rebrand-mode .ke-journal-privacy-note { align-items: flex-start; border: 1px solid rgba(109,51,70,.18); border-radius: 13px; display: flex; gap: 10px; padding: 13px; }
html.ke-rebrand-mode .ke-journal-privacy-note > span { color: var(--kj-gold-light); font-size: 17px; line-height: 1; }
html.ke-rebrand-mode .ke-journal-privacy-note p { color: var(--kj-muted) !important; font-size: 10px; line-height: 1.45; margin: 0; }
html.ke-rebrand-mode .ke-journal-privacy-note strong { color: var(--kj-burgundy); }
html.ke-rebrand-mode .ke-journal-editor-actions,
html.ke-rebrand-mode .ke-journal-reflection-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }

html.ke-rebrand-mode .ke-journal-reflection-card { background: var(--kj-paper); padding: clamp(22px,5vw,40px); }
html.ke-rebrand-mode .ke-journal-reflection-intro { align-items: center; background: var(--kj-burgundy); border-radius: 18px; display: grid; gap: 20px; grid-template-columns: 100px minmax(0,1fr); padding: 20px; }
html.ke-rebrand-mode .ke-journal-reflection-intro img { border: 3px solid var(--kj-gold-light); border-radius: 50%; height: 92px; object-fit: cover; width: 92px; }
html.ke-rebrand-mode .ke-journal-reflection-intro .ke-journal-kicker { color: var(--kj-gold-light); }
html.ke-rebrand-mode .ke-journal-reflection-intro blockquote { color: #fff; font-family: 'Cormorant Garamond', serif; font-size: clamp(20px,3vw,26px); font-style: italic; line-height: 1.3; margin: 7px 0 0; }
html.ke-rebrand-mode .ke-journal-reflection-card > section { margin-top: 22px; }
html.ke-rebrand-mode .ke-journal-reflection-card > section p { border: 1px solid rgba(200,165,88,.38); border-radius: 15px; color: var(--kj-ink) !important; font-family: 'Cormorant Garamond', serif; font-size: 19px; line-height: 1.45; margin: 8px 0 0; padding: 18px; }
html.ke-rebrand-mode #ke-journal-question-section p { background: rgba(233,186,97,.1); font-style: italic; }
html.ke-rebrand-mode .ke-journal-safety-note { color: var(--kj-muted) !important; font-size: 10px; line-height: 1.5; margin: 14px auto 0; max-width: 760px; text-align: center; }

html.ke-rebrand-mode .ke-journal-modal { align-items: center; display: flex; inset: 0; justify-content: center; padding: 14px; position: fixed; z-index: 610; }
html.ke-rebrand-mode .ke-journal-modal-backdrop { background: rgba(17,28,33,.76); inset: 0; position: absolute; }
html.ke-rebrand-mode .ke-journal-modal-card { background: var(--kj-paper); border: 1px solid rgba(200,165,88,.72); border-radius: 24px; box-shadow: 0 28px 90px rgba(11,20,24,.4); max-height: calc(100vh - 28px); max-width: 650px; overflow: hidden auto; padding: clamp(25px,5vw,40px); position: relative; width: 100%; z-index: 1; }
html.ke-rebrand-mode .ke-journal-modal-card h2 { color: var(--kj-navy) !important; font-family: 'Playfair Display', serif; font-size: clamp(31px,5vw,42px); line-height: 1.05; margin: 7px 0 8px; }
html.ke-rebrand-mode .ke-journal-modal-card > p { color: var(--kj-muted) !important; font-family: 'Cormorant Garamond', serif; font-size: 18px; font-style: italic; margin: 0; }
html.ke-rebrand-mode .ke-journal-modal-close { background: transparent; border: 0; color: var(--kj-muted); cursor: pointer; font-size: 25px; position: absolute !important; right: 17px; top: 12px; z-index: 8 !important; }
html.ke-rebrand-mode .ke-journal-choice-grid { display: grid; gap: 11px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 22px; }
html.ke-rebrand-mode .ke-journal-choice { background: #fff; border: 1px solid rgba(109,51,70,.2); border-radius: 16px; color: var(--kj-ink); cursor: pointer; display: grid; gap: 6px; min-height: 155px; padding: 18px; text-align: left; }
html.ke-rebrand-mode .ke-journal-choice > span { align-items: center; background: var(--kj-cream); border-radius: 50%; color: var(--kj-burgundy); display: flex; font-size: 10px; font-weight: 900; height: 25px; justify-content: center; width: 25px; }
html.ke-rebrand-mode .ke-journal-choice strong { font-family: 'Playfair Display', serif; font-size: 21px; }
html.ke-rebrand-mode .ke-journal-choice small { color: var(--kj-muted); font-size: 11px; line-height: 1.45; }
html.ke-rebrand-mode .ke-journal-choice.is-reflect { background: var(--kj-burgundy); border-color: var(--kj-burgundy); color: #fff; }
html.ke-rebrand-mode .ke-journal-choice.is-reflect > span { background: var(--kj-gold-light); color: var(--kj-navy); }
html.ke-rebrand-mode .ke-journal-choice.is-reflect small { color: rgba(255,255,255,.72); }
html.ke-rebrand-mode .ke-journal-consent-copy { border-top: 1px solid rgba(200,165,88,.3); color: var(--kj-muted) !important; font-family: inherit !important; font-size: 9px !important; font-style: normal !important; line-height: 1.5; margin-top: 18px !important; padding-top: 13px; }

@media (max-width: 720px) {
  html.ke-rebrand-mode .ke-journal-header { gap: 10px; grid-template-columns: minmax(0,1fr) auto; min-height: 76px; padding: 13px 16px; }
  html.ke-rebrand-mode .ke-journal-brand { display: none; }
  html.ke-rebrand-mode .ke-journal-header-copy { text-align: left; }
  html.ke-rebrand-mode .ke-journal-header h1 { font-size: 21px; }
  html.ke-rebrand-mode .ke-journal-hero { grid-template-columns: 1fr; }
  html.ke-rebrand-mode .ke-journal-hero-actions { grid-template-columns: repeat(2,minmax(0,1fr)); min-width: 0; }
  html.ke-rebrand-mode .ke-journal-section-heading { align-items: stretch; flex-direction: column; }
  html.ke-rebrand-mode .ke-journal-search { max-width: none; }
  html.ke-rebrand-mode .ke-journal-choice-grid { grid-template-columns: 1fr; }
}

/* Journal V2: tactile Kē collection, expressive pages, and private creative tools. */
html.ke-rebrand-mode .ke-journal-shelf-section { margin-bottom: 20px; }
html.ke-rebrand-mode .ke-journal-shelf-heading { align-items: end; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 14px; }
html.ke-rebrand-mode .ke-journal-shelf-heading h2,
html.ke-rebrand-mode .ke-journal-panel-heading h2 { color: var(--kj-navy) !important; font-family: 'Playfair Display',serif; font-size: clamp(26px,4vw,36px); font-weight: 600; line-height: 1.06; margin: 5px 0 0; }
html.ke-rebrand-mode .ke-journal-lock-hook { align-items: center; background: rgba(255,253,249,.9); border: 1px solid rgba(26,40,48,.13); border-radius: 999px; color: var(--kj-burgundy); cursor: pointer; display: inline-flex; font-size: 11px; gap: 7px; min-height: 44px; padding: 9px 14px; }
html.ke-rebrand-mode .ke-journal-lock-hook[aria-pressed="true"] { background: var(--kj-navy); border-color: var(--kj-navy); color: var(--kj-gold-light); }
html.ke-rebrand-mode .ke-journal-header-action:disabled { cursor: not-allowed; opacity: .48; }
html.ke-rebrand-mode .ke-journal-shelf { align-items: flex-end; background: linear-gradient(180deg,transparent 0 calc(100% - 18px),rgba(74,47,37,.14) calc(100% - 18px),rgba(89,55,39,.28) calc(100% - 12px),#7a513d 100%); display: flex; gap: 17px; margin-inline: -10px; min-height: 246px; overflow-x: auto; padding: 9px 15px 27px; perspective: 1100px; scrollbar-width: none; }
html.ke-rebrand-mode .ke-journal-shelf::-webkit-scrollbar { display: none; }
html.ke-rebrand-mode .ke-journal-book-wrap { flex: 0 0 160px; position: relative; }
html.ke-rebrand-mode .ke-journal-book { background: transparent; border: 0; color: #fff; cursor: pointer; height: 202px; padding: 0; position: relative; text-align: left; transform: rotateY(-7deg) translateY(0); transform-style: preserve-3d; transition: transform .22s ease; width: 156px; }
html.ke-rebrand-mode .ke-journal-book:hover,
html.ke-rebrand-mode .ke-journal-book[aria-pressed="true"] { transform: rotateY(0) translateY(-8px); }
html.ke-rebrand-mode .ke-journal-book-cover { background: linear-gradient(145deg,#753047,#562437); border: 1px solid rgba(233,186,97,.68); border-radius: 5px 14px 14px 5px; box-shadow: inset 1px 0 rgba(255,255,255,.17), inset -7px 0 16px rgba(24,7,13,.2), 9px 13px 20px rgba(26,40,48,.18); display: flex; flex-direction: column; inset: 0; overflow: hidden; padding: 24px 18px 16px 27px; position: absolute; }
html.ke-rebrand-mode .ke-journal-book-cover::before { background: linear-gradient(105deg,transparent 34%,rgba(255,255,255,.16) 49%,transparent 63%); content: ''; inset: 0; pointer-events: none; position: absolute; transform: translateX(-80%); }
html.ke-rebrand-mode .ke-journal-book[aria-pressed="true"] .ke-journal-book-cover::before { animation: keJournalV2Gleam 1.7s ease both; }
html.ke-rebrand-mode .ke-journal-book.is-navy .ke-journal-book-cover { background: linear-gradient(145deg,#263b47,#14242d); }
html.ke-rebrand-mode .ke-journal-book.is-sage .ke-journal-book-cover { background: linear-gradient(145deg,#899e8e,#5e7566); }
html.ke-rebrand-mode .ke-journal-book.is-gold .ke-journal-book-cover { background: linear-gradient(145deg,#d9b671,#aa8137); color: var(--kj-navy); }
html.ke-rebrand-mode .ke-journal-book-spine { background: rgba(23,13,17,.28); border-right: 1px solid rgba(233,186,97,.55); border-radius: 5px 0 0 5px; bottom: 1px; left: 6px; position: absolute; top: 1px; width: 12px; z-index: 2; }
html.ke-rebrand-mode .ke-journal-book-monogram { border: 1px solid currentColor; border-radius: 50%; font-family: 'Playfair Display',serif; font-size: 16px; height: 38px; line-height: 36px; margin-bottom: auto; text-align: center; width: 38px; }
html.ke-rebrand-mode .ke-journal-book-cover strong { font-family: 'Playfair Display',serif; font-size: 19px; line-height: 1.08; margin-top: 12px; }
html.ke-rebrand-mode .ke-journal-book-cover small { font-size: 10px; margin-top: 6px; opacity: .75; }
html.ke-rebrand-mode .ke-journal-book-lock { font-size: 7px; letter-spacing: 1px; margin-top: 15px; opacity: .75; }
html.ke-rebrand-mode .ke-journal-book-edit { align-items: center; background: var(--kj-paper); border: 1px solid rgba(26,40,48,.13); border-radius: 50%; bottom: 7px; color: var(--kj-burgundy); cursor: pointer; display: flex; height: 36px; justify-content: center; position: absolute; right: -2px; width: 36px; z-index: 4; }
html.ke-rebrand-mode .ke-journal-book-create { align-items: center; align-self: stretch; background: rgba(255,253,249,.66); border: 1px dashed rgba(96,37,55,.28); border-radius: 14px; color: var(--kj-burgundy); cursor: pointer; display: flex; flex: 0 0 142px; flex-direction: column; justify-content: center; margin-bottom: 0; min-height: 190px; padding: 18px; text-align: center; }
html.ke-rebrand-mode .ke-journal-book-create > span { align-items: center; background: var(--kj-cream); border-radius: 50%; display: flex; font-size: 25px; height: 48px; justify-content: center; margin-bottom: 11px; width: 48px; }
html.ke-rebrand-mode .ke-journal-book-create strong { color: var(--kj-navy); font-family: 'Playfair Display',serif; font-size: 16px; }
html.ke-rebrand-mode .ke-journal-book-create small { color: var(--kj-muted); font-size: 9px; margin-top: 6px; }
html.ke-rebrand-mode .ke-journal-locked-gate { align-items: center; align-self: center; background: var(--kj-navy); border: 1px solid rgba(233,186,97,.5); border-radius: 18px; color: #fff; cursor: pointer; display: flex; flex: 1 0 min(380px,90%); flex-direction: column; justify-content: center; min-height: 150px; padding: 22px; text-align: center; }
html.ke-rebrand-mode .ke-journal-locked-gate > span { color: var(--kj-gold-light); font-size: 21px; }
html.ke-rebrand-mode .ke-journal-locked-gate strong { font-family: 'Playfair Display',serif; font-size: 23px; margin-top: 7px; }
html.ke-rebrand-mode .ke-journal-locked-gate small { color: rgba(255,255,255,.66); margin-top: 6px; }
@keyframes keJournalV2Gleam { to { transform: translateX(90%); } }

html.ke-rebrand-mode .ke-journal-home-tabs { background: rgba(255,253,249,.92); border: 1px solid rgba(26,40,48,.1); border-radius: 999px; display: grid; gap: 4px; grid-template-columns: repeat(2,1fr); margin: 8px 0 20px; padding: 4px; }
html.ke-rebrand-mode .ke-journal-home-tabs button { background: transparent; border: 0; border-radius: 999px; color: var(--kj-muted); cursor: pointer; font-size: 11px; min-height: 42px; padding: 9px; }
html.ke-rebrand-mode .ke-journal-home-tabs button.is-active { background: var(--kj-navy); box-shadow: 0 7px 18px rgba(26,40,48,.16); color: var(--kj-gold-light); }
html.ke-rebrand-mode .ke-journal-insights-panel { background: rgba(255,253,249,.92); border: 1px solid rgba(26,40,48,.1); border-radius: 20px; box-shadow: 0 15px 38px rgba(26,40,48,.06); padding: clamp(20px,4vw,34px); }
html.ke-rebrand-mode .ke-journal-panel-heading p { color: var(--kj-muted) !important; font-family: 'Cormorant Garamond',serif; font-size: 17px; font-style: italic; margin: 8px 0 22px; }
html.ke-rebrand-mode .ke-journal-insight-grid { display: grid; gap: 10px; grid-template-columns: repeat(4,1fr); }
html.ke-rebrand-mode .ke-journal-insight-grid article { background: var(--kj-cream); border-radius: 15px; padding: 18px; }
html.ke-rebrand-mode .ke-journal-insight-grid strong { color: var(--kj-burgundy); display: block; font-family: 'Playfair Display',serif; font-size: 28px; }
html.ke-rebrand-mode .ke-journal-insight-grid span { color: var(--kj-muted); display: block; font-size: 10px; margin-top: 4px; }
html.ke-rebrand-mode .ke-journal-mood-pattern { border-top: 1px solid var(--kj-rule); margin-top: 20px; padding-top: 18px; }
html.ke-rebrand-mode .ke-journal-mood-pattern h3 { color: var(--kj-navy); font-family: 'Playfair Display',serif; font-size: 20px; margin: 0 0 11px; }
html.ke-rebrand-mode .ke-journal-mood-pattern p { color: var(--kj-muted) !important; }
html.ke-rebrand-mode .ke-journal-mood-pattern > span { background: #fff; border: 1px solid rgba(96,37,55,.13); border-radius: 999px; color: var(--kj-burgundy); display: inline-flex; font-size: 11px; margin: 0 6px 6px 0; padding: 8px 11px; }

html.ke-rebrand-mode .ke-journal-subnav-actions { align-items: center; display: flex; gap: 8px; }
html.ke-rebrand-mode .ke-journal-bookmark { align-items: center; background: #fff; border: 1px solid rgba(96,37,55,.18); border-radius: 50%; color: var(--kj-burgundy); cursor: pointer; display: flex; font-size: 21px; height: 44px; justify-content: center; width: 44px; }
html.ke-rebrand-mode .ke-journal-bookmark.is-active { background: var(--kj-burgundy); color: var(--kj-gold-light); }
html.ke-rebrand-mode #scr-journal .ke-journal-editor-card { isolation: isolate; overflow: visible; }
html.ke-rebrand-mode #scr-journal .ke-journal-editor-card[data-ke-page-theme="cream"] { --kj-sheet: #fbf0df; background-color: #fbf0df; }
html.ke-rebrand-mode #scr-journal .ke-journal-editor-card[data-ke-page-theme="sage"] { --kj-sheet: #eef3ed; --kj-rule: rgba(74,101,82,.15); background-color: #eef3ed; }
html.ke-rebrand-mode #scr-journal .ke-journal-editor-card[data-ke-page-theme="midnight"] { --kj-sheet: #1a2830; --kj-rule: rgba(233,186,97,.15); --kj-margin: rgba(233,186,97,.24); background-color: #1a2830; color: #f7f1e8; }
html.ke-rebrand-mode #scr-journal .ke-journal-editor-card[data-ke-page-theme="midnight"] :is(input,textarea) { color: #fff; }
html.ke-rebrand-mode #scr-journal .ke-journal-editor-card[data-ke-page-theme="midnight"] :is(.ke-journal-editor-meta,.ke-journal-page-tools > span) { color: rgba(255,255,255,.65); }
html.ke-rebrand-mode .ke-journal-entry-mood { align-items: center; background: var(--kj-cream); border-radius: 999px; display: inline-flex; gap: 8px; margin-bottom: 16px; min-height: 38px; padding: 5px 7px 5px 12px; }
html.ke-rebrand-mode .ke-journal-entry-mood > span { font-family: 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif; font-size: 19px; line-height: 1; }
html.ke-rebrand-mode .ke-journal-entry-mood strong { color: var(--kj-burgundy); font-size: 11px; }
html.ke-rebrand-mode .ke-journal-entry-mood button { background: #fff; border: 0; border-radius: 999px; color: var(--kj-burgundy); cursor: pointer; min-height: 30px; padding: 5px 9px; }
html.ke-rebrand-mode .ke-journal-page-stage { min-height: clamp(420px,58dvh,680px); position: relative; }
html.ke-rebrand-mode .ke-journal-page-stage > :not(.ke-journal-photo-layer,.ke-journal-decor-layer) { position: relative; z-index: 1; }
html.ke-rebrand-mode :is(.ke-journal-photo-layer,.ke-journal-decor-layer) { inset: 0; overflow: hidden; pointer-events: none; position: absolute; z-index: 6; }
html.ke-rebrand-mode .ke-journal-page-object { cursor: grab; pointer-events: auto; position: absolute; touch-action: none; user-select: none; -webkit-user-select: none; }
html.ke-rebrand-mode .ke-journal-page-object:active { cursor: grabbing; }
html.ke-rebrand-mode .ke-journal-page-object:focus-visible,
html.ke-rebrand-mode .ke-journal-page-object.is-selected { outline: 3px solid var(--kj-gold); outline-offset: 4px; }
html.ke-rebrand-mode .ke-journal-sticker-on-page { align-items: center; display: flex; justify-content: center; transform: translate(-50%,-50%) rotate(var(--ke-page-object-rotation,0deg)) scale(var(--ke-page-object-scale,1)); z-index: 2; }
html.ke-rebrand-mode .ke-journal-sticker-mark { align-items: center; background: rgba(255,255,255,.96); border: 4px solid #fff; border-radius: 21px; box-shadow: 0 3px 0 rgba(200,165,88,.52),0 10px 21px rgba(26,40,48,.18); display: flex; filter: saturate(1.06); font-family: 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif; font-size: 37px; height: 62px; justify-content: center; line-height: 1; min-width: 62px; padding: 5px; }
html.ke-rebrand-mode .ke-journal-photo-on-page { margin: 0; transform: translate(-50%,-50%) rotate(var(--ke-page-object-rotation,0deg)); z-index: 1; }
html.ke-rebrand-mode .ke-journal-photo-on-page img { border: 5px solid #fff; border-radius: 13px; box-shadow: 0 14px 30px rgba(26,40,48,.2),0 2px 5px rgba(26,40,48,.12); display: block; height: auto; max-height: 360px; object-fit: cover; width: 100%; }
html.ke-rebrand-mode .ke-journal-page-object-remove { align-items: center; background: var(--kj-burgundy); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 4px 12px rgba(26,40,48,.24); color: #fff; cursor: pointer; display: flex; font-size: 18px; height: 32px; justify-content: center; opacity: 0; position: absolute; right: -14px; top: -14px; transform: scale(.85); transition: opacity .16s ease,transform .16s ease; width: 32px; z-index: 4; }
html.ke-rebrand-mode .ke-journal-page-object:is(:hover,:focus-within,.is-selected) .ke-journal-page-object-remove { opacity: 1; transform: scale(1); }
html.ke-rebrand-mode .ke-journal-photo-placeholder { align-items: center; aspect-ratio: 4 / 3; background: var(--kj-cream); border: 4px solid #fff; border-radius: 13px; box-shadow: 0 10px 24px rgba(26,40,48,.14); color: var(--kj-burgundy); display: flex; font-size: 28px; justify-content: center; width: 100%; }
html.ke-rebrand-mode .ke-journal-photo-placeholder.is-loading { animation: ke-journal-photo-pulse 1.2s ease-in-out infinite; color: var(--kj-gold); }
html.ke-rebrand-mode .ke-journal-photo-placeholder.is-error { background: #f7eeee; color: #8b3149; }
@keyframes ke-journal-photo-pulse { 50% { opacity: .48; } }
html.ke-rebrand-mode .ke-journal-creative-dock { background: rgba(26,40,48,.97); border: 1px solid rgba(233,186,97,.25); border-radius: 18px; box-shadow: 0 16px 35px rgba(15,26,31,.2); display: grid; gap: 3px; grid-template-columns: repeat(5,1fr); margin-top: 14px; padding: 5px; position: sticky; bottom: 10px; z-index: 25; }
html.ke-rebrand-mode .ke-journal-creative-dock button { align-items: center; background: transparent; border: 0; border-radius: 13px; color: rgba(255,255,255,.72); cursor: pointer; display: flex; flex-direction: column; font-size: 8px; gap: 3px; min-height: 48px; padding: 5px 3px; }
html.ke-rebrand-mode .ke-journal-creative-dock button:hover { background: rgba(233,186,97,.1); color: var(--kj-gold-light); }
html.ke-rebrand-mode .ke-journal-creative-dock button > span { color: var(--kj-gold-light); font-size: 19px; line-height: 1; }
html.ke-rebrand-mode .ke-journal-tool-sheet { background: rgba(255,253,249,.99); border: 1px solid rgba(200,165,88,.4); border-radius: 20px; bottom: 8px; box-shadow: 0 24px 65px rgba(15,26,31,.26); margin-top: 10px; padding: 17px; position: sticky; z-index: 40; }
html.ke-rebrand-mode .ke-journal-tool-sheet-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 13px; }
html.ke-rebrand-mode .ke-journal-tool-sheet-head h3 { color: var(--kj-navy); font-family: 'Playfair Display',serif; font-size: 21px; margin: 3px 0 0; }
html.ke-rebrand-mode .ke-journal-tool-sheet-head > button { background: transparent; border: 0; color: var(--kj-muted); cursor: pointer; font-size: 24px; height: 44px; width: 44px; }
html.ke-rebrand-mode :is(.ke-journal-inline-moods,.ke-journal-theme-picker) { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit,minmax(108px,1fr)); }
html.ke-rebrand-mode :is(.ke-journal-inline-moods,.ke-journal-theme-picker) > button { align-items: center; background: #fff; border: 1px solid rgba(96,37,55,.14); border-radius: 13px; color: var(--kj-burgundy); cursor: pointer; display: flex; gap: 8px; min-height: 48px; padding: 9px 11px; text-align: left; }
html.ke-rebrand-mode :is(.ke-journal-inline-moods,.ke-journal-theme-picker) > button[aria-pressed="true"] { background: var(--kj-burgundy); color: #fff; }
html.ke-rebrand-mode .ke-journal-inline-moods button > span { font-family: 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif; font-size: 23px; line-height: 1; }
html.ke-rebrand-mode .ke-journal-sticker-picker { max-height: min(58dvh,560px); overflow: auto; overscroll-behavior: contain; padding: 2px 5px 8px 2px; }
html.ke-rebrand-mode .ke-journal-sticker-pack + .ke-journal-sticker-pack { border-top: 1px solid rgba(96,37,55,.1); margin-top: 16px; padding-top: 14px; }
html.ke-rebrand-mode .ke-journal-sticker-pack h4 { color: var(--kj-burgundy); font-size: 9px; letter-spacing: 1.5px; margin: 0 0 9px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-journal-sticker-pack > div { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit,minmax(76px,1fr)); }
html.ke-rebrand-mode .ke-journal-sticker-pack button { align-items: center; background: linear-gradient(145deg,#fff,#fbf5eb); border: 1px solid rgba(96,37,55,.12); border-radius: 16px; box-shadow: 0 5px 12px rgba(26,40,48,.06); color: var(--kj-burgundy); cursor: pointer; display: flex; flex-direction: column; gap: 5px; justify-content: center; min-height: 86px; padding: 9px 6px; text-align: center; }
html.ke-rebrand-mode .ke-journal-sticker-pack button:hover { border-color: var(--kj-gold); box-shadow: 0 10px 20px rgba(26,40,48,.1); transform: translateY(-2px); }
html.ke-rebrand-mode .ke-journal-sticker-pack button > span:first-child { filter: drop-shadow(0 3px 3px rgba(26,40,48,.13)); font-family: 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif; font-size: 35px; line-height: 1; }
html.ke-rebrand-mode .ke-journal-sticker-pack button > span:last-child { font-size: 9px; font-weight: 700; line-height: 1.15; }
html.ke-rebrand-mode .ke-journal-theme-picker button > span { border: 1px solid rgba(26,40,48,.1); border-radius: 50%; height: 24px; width: 24px; }
html.ke-rebrand-mode .ke-journal-theme-picker .is-paper { background: #fffdfa; }
html.ke-rebrand-mode .ke-journal-theme-picker .is-cream { background: #fbf0df; }
html.ke-rebrand-mode .ke-journal-theme-picker .is-sage { background: #eef3ed; }
html.ke-rebrand-mode .ke-journal-theme-picker .is-midnight { background: #1a2830; }
html.ke-rebrand-mode .ke-journal-drawing-colors { display: flex; gap: 9px; margin-bottom: 10px; }
html.ke-rebrand-mode .ke-journal-drawing-colors button { background: var(--draw-color); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px rgba(26,40,48,.16); height: 34px; width: 34px; }
html.ke-rebrand-mode .ke-journal-drawing-colors button:nth-child(1) { --draw-color:#6d3346; }
html.ke-rebrand-mode .ke-journal-drawing-colors button:nth-child(2) { --draw-color:#1a2830; }
html.ke-rebrand-mode .ke-journal-drawing-colors button:nth-child(3) { --draw-color:#c8a558; }
html.ke-rebrand-mode .ke-journal-drawing-colors button:nth-child(4) { --draw-color:#829888; }
html.ke-rebrand-mode .ke-journal-drawing-colors button.is-selected { box-shadow: 0 0 0 3px var(--kj-gold); }
html.ke-rebrand-mode #ke-journal-drawing-canvas { background: repeating-linear-gradient(#fff 0 28px,rgba(200,165,88,.18) 29px); border: 1px solid rgba(26,40,48,.12); border-radius: 12px; height: min(280px,38dvh); max-width: 100%; touch-action: none; width: 100%; }
html.ke-rebrand-mode .ke-journal-drawing-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
html.ke-rebrand-mode .ke-journal-drawing-actions button { background: var(--kj-cream); border: 1px solid rgba(96,37,55,.12); border-radius: 999px; color: var(--kj-burgundy); cursor: pointer; min-height: 44px; padding: 8px 13px; }
html.ke-rebrand-mode .ke-journal-drawing-tool > p { color: var(--kj-muted) !important; font-size: 9px; }

html.ke-rebrand-mode .ke-journal-book-form { max-width: 600px; }
html.ke-rebrand-mode .ke-journal-book-title { display: grid; gap: 7px; margin-top: 20px; }
html.ke-rebrand-mode .ke-journal-book-title > span,
html.ke-rebrand-mode .ke-journal-skin-picker legend { color: var(--kj-burgundy); font-size: 9px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-journal-book-title input { background: #fff; border: 1px solid rgba(96,37,55,.2); border-radius: 12px; color: var(--kj-navy); min-height: 48px; padding: 10px 13px; }
html.ke-rebrand-mode .ke-journal-skin-picker { border: 0; display: grid; gap: 9px; grid-template-columns: repeat(4,1fr); margin: 18px 0; padding: 0; }
html.ke-rebrand-mode .ke-journal-skin-picker legend { grid-column: 1 / -1; margin-bottom: 9px; }
html.ke-rebrand-mode .ke-journal-skin-picker label { cursor: pointer; }
html.ke-rebrand-mode .ke-journal-skin-picker input { opacity: 0; position: absolute; }
html.ke-rebrand-mode .ke-journal-skin-picker label > span { align-items: flex-end; border: 3px solid transparent; border-radius: 8px; color: #fff; display: flex; font-size: 9px; height: 96px; padding: 9px; }
html.ke-rebrand-mode .ke-journal-skin-picker input:checked + span { border-color: var(--kj-gold-light); box-shadow: 0 0 0 2px var(--kj-burgundy); }
html.ke-rebrand-mode .ke-journal-skin-picker .is-burgundy { background: #6d3346; }
html.ke-rebrand-mode .ke-journal-skin-picker .is-navy { background: #1a2830; }
html.ke-rebrand-mode .ke-journal-skin-picker .is-sage { background: #829888; }
html.ke-rebrand-mode .ke-journal-skin-picker .is-gold { background: #c8a558; color: var(--kj-navy); }
html.ke-rebrand-mode .ke-journal-lock-choice { align-items: flex-start; background: var(--kj-cream); border-radius: 13px; display: flex; gap: 10px; margin-bottom: 18px; padding: 13px; }
html.ke-rebrand-mode .ke-journal-lock-choice input { margin-top: 3px; }
html.ke-rebrand-mode .ke-journal-lock-choice strong,
html.ke-rebrand-mode .ke-journal-lock-choice small { display: block; }
html.ke-rebrand-mode .ke-journal-lock-choice strong { color: var(--kj-navy); font-size: 11px; }
html.ke-rebrand-mode .ke-journal-lock-choice small { color: var(--kj-muted); font-size: 9px; margin-top: 3px; }
html.ke-rebrand-mode .ke-journal-mood-card { max-width: 570px; }
html.ke-rebrand-mode .ke-journal-mood-grid { display: grid; gap: 9px; grid-template-columns: repeat(3,1fr); margin: 20px 0; }
html.ke-rebrand-mode .ke-journal-mood-grid button { align-items: center; background: linear-gradient(145deg,#fff 0%,#fffaf1 100%); border: 1px solid rgba(96,37,55,.16); border-radius: 18px; box-shadow: 0 8px 18px rgba(26,40,48,.06),inset 0 1px 0 rgba(255,255,255,.9); color: var(--kj-navy); cursor: pointer; display: flex; flex-direction: column; font-weight: 600; gap: 9px; min-height: 98px; padding: 12px; transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease; }
html.ke-rebrand-mode .ke-journal-mood-grid button:hover { border-color: rgba(200,165,88,.78); box-shadow: 0 11px 24px rgba(26,40,48,.1),inset 0 1px 0 rgba(255,255,255,.95); transform: translateY(-2px); }
html.ke-rebrand-mode .ke-journal-mood-grid button:active { transform: translateY(0) scale(.98); }
html.ke-rebrand-mode .ke-journal-mood-grid .ke-journal-mood-emoji { align-items: center; background: radial-gradient(circle at 32% 25%,#fff 0%,#f8eedc 72%,#ead6ae 100%); border: 1px solid rgba(200,165,88,.45); border-radius: 50%; box-shadow: 0 6px 14px rgba(82,57,36,.12),inset 0 1px 0 #fff; display: inline-flex; font-family: 'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif; font-size: 33px; height: 50px; justify-content: center; line-height: 1; width: 50px; }
html.ke-rebrand-mode .ke-journal-mood-grid button.is-selected { background: linear-gradient(145deg,#7b314a 0%,var(--kj-burgundy) 55%,#4f1c2c 100%); border-color: var(--kj-gold-light); box-shadow: 0 13px 28px rgba(96,37,55,.25),inset 0 1px 0 rgba(255,255,255,.2),0 0 0 2px rgba(216,181,112,.22); color: #fff; transform: translateY(-2px); }
html.ke-rebrand-mode .ke-journal-mood-grid button.is-selected .ke-journal-mood-emoji { background: radial-gradient(circle at 32% 25%,#fff 0%,#fff4dc 68%,#e7c67c 100%); border-color: var(--kj-gold-light); box-shadow: 0 7px 17px rgba(18,19,20,.24),0 0 0 3px rgba(255,255,255,.12); }
html.ke-rebrand-mode .ke-journal-mood-actions { display: flex; flex-wrap: wrap; gap: 9px; }

@media (max-width: 720px) {
  html.ke-rebrand-mode .ke-journal-shelf { min-height: 210px; }
  html.ke-rebrand-mode .ke-journal-book-wrap { flex-basis: 132px; }
  html.ke-rebrand-mode .ke-journal-book { height: 169px; width: 130px; }
  html.ke-rebrand-mode .ke-journal-book-cover { padding: 18px 13px 12px 23px; }
  html.ke-rebrand-mode .ke-journal-book-cover strong { font-size: 16px; }
  html.ke-rebrand-mode .ke-journal-book-create { flex-basis: 122px; min-height: 160px; }
  html.ke-rebrand-mode .ke-journal-insight-grid { grid-template-columns: repeat(2,1fr); }
  html.ke-rebrand-mode .ke-journal-skin-picker { grid-template-columns: repeat(2,1fr); }
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open .ke-journal-creative-dock { bottom: 4px; grid-template-columns: repeat(5,58px); overflow-x: auto; }
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open .ke-journal-tool-sheet { bottom: 4px; max-height: calc(var(--ke-journal-visual-height,100dvh) - 80px); overflow-y: auto; }
}

@media (max-width: 430px) {
  html.ke-rebrand-mode .ke-journal-shelf-heading { align-items: flex-start; }
  html.ke-rebrand-mode .ke-journal-lock-hook > span:last-child { max-width: 74px; }
  html.ke-rebrand-mode .ke-journal-home-tabs { margin-bottom: 14px; }
  html.ke-rebrand-mode .ke-journal-insights-panel { border-radius: 16px; padding: 18px 14px; }
  html.ke-rebrand-mode .ke-journal-creative-dock { border-radius: 15px; bottom: 6px; margin-inline: -4px; }
  html.ke-rebrand-mode .ke-journal-tool-sheet { border-radius: 16px; margin-inline: -5px; padding: 14px; }
  html.ke-rebrand-mode :is(.ke-journal-inline-moods,.ke-journal-sticker-picker,.ke-journal-theme-picker) { grid-template-columns: repeat(2,1fr); }
  html.ke-rebrand-mode .ke-journal-mood-grid { grid-template-columns: repeat(2,1fr); }
  html.ke-rebrand-mode .ke-journal-mood-actions > * { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode .ke-journal-book,
  html.ke-rebrand-mode .ke-journal-book-cover::before,
  html.ke-rebrand-mode .ke-journal-mood-grid button { animation: none !important; transition: none !important; }
}


@media (max-width: 430px) {
  html.ke-rebrand-mode .ke-journal-main { padding: 19px 13px 42px; }
  html.ke-rebrand-mode .ke-journal-hero,
  html.ke-rebrand-mode .ke-journal-editor-card,
  html.ke-rebrand-mode .ke-journal-list,
  html.ke-rebrand-mode .ke-journal-empty,
  html.ke-rebrand-mode .ke-journal-reflection-card { border-radius: 18px; }
  html.ke-rebrand-mode .ke-journal-hero { padding: 24px 20px; }
  html.ke-rebrand-mode .ke-journal-hero h2 { font-size: 31px; }
  html.ke-rebrand-mode .ke-journal-hero-actions { grid-template-columns: 1fr; }
  html.ke-rebrand-mode .ke-journal-row { gap: 10px; grid-template-columns: 54px minmax(0,1fr) auto; padding: 16px 14px; }
  html.ke-rebrand-mode .ke-journal-row strong { font-size: 16px; }
  html.ke-rebrand-mode .ke-journal-editor-meta { align-items: flex-start; flex-direction: column; gap: 5px; }
  html.ke-rebrand-mode .ke-journal-body-field textarea { min-height: 300px; }
  html.ke-rebrand-mode .ke-journal-editor-actions > *,
  html.ke-rebrand-mode .ke-journal-reflection-actions > * { flex: 1 1 100%; }
  html.ke-rebrand-mode .ke-journal-reflection-intro { grid-template-columns: 72px minmax(0,1fr); padding: 16px; }
  html.ke-rebrand-mode .ke-journal-reflection-intro img { height: 68px; width: 68px; }
  html.ke-rebrand-mode .ke-journal-modal { padding: 8px; }
  html.ke-rebrand-mode .ke-journal-modal-card { border-radius: 20px; max-height: calc(100vh - 16px); padding: 28px 19px 22px; }
  html.ke-rebrand-mode .ke-journal-choice { min-height: 130px; }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode .ke-journal-hero::before,
  html.ke-rebrand-mode .ke-journal-editor-card::before,
  html.ke-rebrand-mode .ke-journal-list::before,
  html.ke-rebrand-mode .ke-journal-empty::before,
  html.ke-rebrand-mode .ke-journal-reflection-card::before,
  html.ke-rebrand-mode .ke-journal-modal-card::before { animation: none; }
}

/* 2026 premium polish: a quieter, paper-led space for private writing. */
html.ke-rebrand-mode #scr-journal {
  --kj-navy: #1a2830;
  --kj-navy-soft: #253944;
  --kj-burgundy: #602537;
  --kj-gold: #d9b671;
  --kj-gold-light: #e6c77f;
  --kj-cream: #f4ebe0;
  --kj-paper: #fffdfa;
  --kj-ink: #1f2c32;
  --kj-muted: #68757a;
  --kj-line: rgba(26,40,48,.1);
  background:
    linear-gradient(90deg, rgba(217,182,113,.035) 1px, transparent 1px) 0 0 / 32px 32px,
    #fbfaf7 !important;
}
html.ke-rebrand-mode .ke-journal-header {
  background: rgba(26,40,48,.985);
  border-bottom-color: rgba(217,182,113,.2);
  box-shadow: 0 10px 30px rgba(15,26,31,.12);
  min-height: 84px;
}
html.ke-rebrand-mode .ke-journal-header h1 { letter-spacing: -.02em; }
html.ke-rebrand-mode .ke-journal-header-action {
  border-color: rgba(217,182,113,.42);
  font-weight: 500;
  letter-spacing: .04em;
  transition: background-color .2s ease, border-color .2s ease;
}
html.ke-rebrand-mode .ke-journal-header-action:hover { background: rgba(217,182,113,.11); border-color: rgba(217,182,113,.68); }

html.ke-rebrand-mode .ke-journal-main { max-width: 960px; padding-top: clamp(30px,5vw,54px); }
html.ke-rebrand-mode .ke-journal-kicker { font-weight: 500; letter-spacing: 1.25px; }
html.ke-rebrand-mode .ke-journal-hero,
html.ke-rebrand-mode .ke-journal-editor-card,
html.ke-rebrand-mode .ke-journal-list,
html.ke-rebrand-mode .ke-journal-empty,
html.ke-rebrand-mode .ke-journal-reflection-card {
  border-color: var(--kj-line);
  border-radius: 20px;
  box-shadow: 0 1px 2px rgba(26,40,48,.035), 0 13px 32px rgba(26,40,48,.045);
}
html.ke-rebrand-mode .ke-journal-hero::before,
html.ke-rebrand-mode .ke-journal-editor-card::before,
html.ke-rebrand-mode .ke-journal-list::before,
html.ke-rebrand-mode .ke-journal-empty::before,
html.ke-rebrand-mode .ke-journal-reflection-card::before,
html.ke-rebrand-mode .ke-journal-modal-card::before { content: none; }

html.ke-rebrand-mode .ke-journal-hero {
  background:
    radial-gradient(circle at 92% 8%, rgba(217,182,113,.16), transparent 42%),
    linear-gradient(145deg, #1a2830, #21343d);
  border-color: rgba(217,182,113,.22);
  box-shadow: 0 18px 46px rgba(15,26,31,.12);
}
html.ke-rebrand-mode .ke-journal-hero h2 { letter-spacing: -.035em; }
html.ke-rebrand-mode .ke-journal-hero p { color: rgba(255,255,255,.68) !important; }
html.ke-rebrand-mode .ke-journal-primary,
html.ke-rebrand-mode .ke-journal-secondary,
html.ke-rebrand-mode .ke-journal-quiet {
  font-weight: 500;
  letter-spacing: .035em;
  transition: box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}
html.ke-rebrand-mode .ke-journal-primary {
  background: var(--kj-gold);
  border-color: var(--kj-gold);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.36), 0 8px 20px rgba(15,26,31,.13);
}
html.ke-rebrand-mode .ke-journal-primary:hover { background: var(--kj-gold-light); box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 11px 24px rgba(15,26,31,.17); }
html.ke-rebrand-mode .ke-journal-secondary { border-color: rgba(96,37,55,.24); }

html.ke-rebrand-mode .ke-journal-section-heading h2,
html.ke-rebrand-mode .ke-journal-subnav h2 { letter-spacing: -.025em; }
html.ke-rebrand-mode .ke-journal-search {
  background: rgba(255,253,250,.95);
  border-color: rgba(26,40,48,.12);
  box-shadow: inset 0 1px 2px rgba(26,40,48,.025);
}
html.ke-rebrand-mode .ke-journal-list { background: rgba(255,253,250,.97); }
html.ke-rebrand-mode .ke-journal-row { transition: background-color .18s ease; }
html.ke-rebrand-mode .ke-journal-row:hover { background: rgba(244,235,224,.42); }
html.ke-rebrand-mode .ke-journal-row + .ke-journal-row { border-top-color: rgba(26,40,48,.08); }
html.ke-rebrand-mode .ke-journal-row-date,
html.ke-rebrand-mode .ke-journal-reflection-badge,
html.ke-rebrand-mode .ke-journal-private-pill,
html.ke-rebrand-mode .ke-journal-editor-meta,
html.ke-rebrand-mode .ke-journal-title-field > span { font-weight: 500; }

html.ke-rebrand-mode .ke-journal-back {
  border-color: rgba(26,40,48,.12);
  box-shadow: 0 5px 14px rgba(26,40,48,.06);
}
html.ke-rebrand-mode .ke-journal-private-pill { background: var(--kj-cream); }
html.ke-rebrand-mode .ke-journal-editor-card {
  background:
    linear-gradient(rgba(217,182,113,.045) 1px, transparent 1px) 0 3.15rem / 100% 3.15rem,
    var(--kj-paper);
  box-shadow: 0 1px 2px rgba(26,40,48,.03), 0 20px 52px rgba(26,40,48,.055);
}
html.ke-rebrand-mode .ke-journal-prompt {
  background: rgba(244,235,224,.64);
  border-color: rgba(217,182,113,.28);
  border-radius: 16px;
}
html.ke-rebrand-mode .ke-journal-title-field input { border-bottom-color: rgba(26,40,48,.16); }
html.ke-rebrand-mode .ke-journal-title-field input:focus { border-bottom-color: var(--kj-gold); }
html.ke-rebrand-mode .ke-journal-body-field textarea { line-height: 1.6; }
html.ke-rebrand-mode .ke-journal-privacy-note { background: rgba(255,253,250,.78); border-color: rgba(26,40,48,.09); }

html.ke-rebrand-mode .ke-journal-reflection-intro {
  background:
    radial-gradient(circle at 90% 12%, rgba(217,182,113,.18), transparent 40%),
    var(--kj-burgundy);
  border-radius: 18px;
}
html.ke-rebrand-mode .ke-journal-reflection-intro img { border-color: var(--kj-gold); box-shadow: 0 10px 26px rgba(20,8,12,.24); }
html.ke-rebrand-mode .ke-journal-reflection-card > section p { border-color: rgba(26,40,48,.1); }
html.ke-rebrand-mode #ke-journal-question-section p { background: rgba(244,235,224,.56); }

html.ke-rebrand-mode .ke-journal-modal-backdrop { background: rgba(15,26,31,.72); backdrop-filter: blur(8px); }
html.ke-rebrand-mode .ke-journal-modal-card {
  border-color: rgba(217,182,113,.36);
  border-radius: 26px;
  box-shadow: 0 32px 90px rgba(9,18,22,.34);
}
html.ke-rebrand-mode .ke-journal-choice {
  background: #fffdfa;
  border-color: rgba(26,40,48,.11);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
html.ke-rebrand-mode .ke-journal-choice:hover { border-color: rgba(96,37,55,.28); box-shadow: 0 12px 26px rgba(26,40,48,.07); transform: translateY(-2px); }
html.ke-rebrand-mode .ke-journal-choice.is-reflect { border-color: var(--kj-burgundy); }

html.ke-rebrand-mode #scr-journal :is(button,input,textarea):focus-visible {
  outline: 2px solid var(--kj-gold);
  outline-offset: 3px;
}

@media (max-width: 720px) {
  html.ke-rebrand-mode .ke-journal-header { min-height: 74px; }
  html.ke-rebrand-mode .ke-journal-main { padding-top: 24px; }
  html.ke-rebrand-mode .ke-journal-hero { gap: 22px; }
}

@media (max-width: 430px) {
  html.ke-rebrand-mode .ke-journal-main { padding-top: 17px; }
  html.ke-rebrand-mode .ke-journal-hero,
  html.ke-rebrand-mode .ke-journal-editor-card,
  html.ke-rebrand-mode .ke-journal-list,
  html.ke-rebrand-mode .ke-journal-empty,
  html.ke-rebrand-mode .ke-journal-reflection-card { border-radius: 17px; }
  html.ke-rebrand-mode .ke-journal-editor-card { background: var(--kj-paper); }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode .ke-journal-header-action,
  html.ke-rebrand-mode .ke-journal-primary,
  html.ke-rebrand-mode .ke-journal-secondary,
  html.ke-rebrand-mode .ke-journal-quiet,
  html.ke-rebrand-mode .ke-journal-row,
  html.ke-rebrand-mode .ke-journal-choice { transition: none; }
}

/* Notebook workspace: dense, page-led, and designed for repeat use. */
html.ke-rebrand-mode #scr-journal {
  --kj-desk: #f4ebe0;
  --kj-sheet: #fffdfa;
  --kj-rule: rgba(26,40,48,.085);
  --kj-margin: rgba(96,37,55,.15);
  --kj-edge: rgba(26,40,48,.12);
  background: #fbfaf7 !important;
}
html.ke-rebrand-mode #scr-journal .ke-journal-header {
  grid-template-columns: auto minmax(0,1fr) auto;
}
html.ke-rebrand-mode #scr-journal .ke-journal-header-copy { text-align: left; }
html.ke-rebrand-mode #scr-journal .ke-journal-header-copy h1 {
  font-family: 'Playfair Display', serif !important;
  font-size: 21px !important;
  max-width: none;
}
html.ke-rebrand-mode #scr-journal .ke-journal-header-subtitle {
  color: rgba(255,253,250,.62);
  display: block;
  font-size: 11px;
  line-height: 1.2;
  margin-top: 2px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-header-action {
  align-items: center;
  display: inline-flex;
  font-size: 12px;
  gap: 5px;
  min-height: 44px;
  padding: 10px 17px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-header-action > span { font-size: 18px; line-height: 1; }
html.ke-rebrand-mode #scr-journal .ke-journal-main {
  max-width: 900px;
  padding-bottom: max(132px, calc(112px + env(safe-area-inset-bottom)));
  padding-top: clamp(20px,4vw,36px);
}

html.ke-rebrand-mode .ke-journal-draft-card {
  align-items: center;
  background: var(--kj-sheet);
  border: 1px solid var(--kj-edge);
  border-left: 4px solid var(--kj-gold);
  border-radius: 15px;
  box-shadow: 0 8px 22px rgba(26,40,48,.055);
  display: flex;
  margin-bottom: 14px;
  overflow: hidden;
  position: relative;
}
html.ke-rebrand-mode .ke-journal-draft-resume {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--kj-ink);
  cursor: pointer;
  display: grid;
  gap: 12px;
  grid-template-columns: 38px minmax(0,1fr) auto;
  min-height: 72px;
  padding: 10px 44px 10px 14px;
  text-align: left;
  width: 100%;
}
html.ke-rebrand-mode .ke-journal-draft-mark {
  align-items: center;
  background: var(--kj-cream);
  border-radius: 50%;
  color: var(--kj-burgundy);
  display: flex;
  font-size: 18px;
  height: 38px;
  justify-content: center;
  width: 38px;
}
html.ke-rebrand-mode .ke-journal-draft-resume strong { color: var(--kj-navy); display: block; font-family: 'Playfair Display', serif; font-size: 16px; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.ke-rebrand-mode .ke-journal-draft-resume small { color: var(--kj-muted); display: block; font-size: 11px; margin-top: 2px; }
html.ke-rebrand-mode .ke-journal-draft-dismiss { background: transparent; border: 0; color: var(--kj-muted); cursor: pointer; font-size: 21px; height: 44px; position: absolute; right: 3px; top: 14px; width: 40px; }

html.ke-rebrand-mode #scr-journal .ke-journal-hero {
  align-items: center;
  gap: 22px;
  grid-template-columns: minmax(0,1fr) auto;
  padding: clamp(20px,4vw,28px);
}
html.ke-rebrand-mode #scr-journal .ke-journal-hero h2 { font-size: clamp(26px,4.5vw,37px); margin: 6px 0 7px; }
html.ke-rebrand-mode #scr-journal .ke-journal-hero p { font-size: 17px; }
html.ke-rebrand-mode #scr-journal .ke-journal-hero-actions { min-width: 186px; }
html.ke-rebrand-mode #scr-journal .ke-journal-hero-actions button {
  border-color: rgba(230,199,127,.58);
  font-size: 12px;
  min-height: 44px;
  padding-inline: 18px;
}

html.ke-rebrand-mode #scr-journal .ke-journal-archive { margin-top: 26px; }
html.ke-rebrand-mode #scr-journal .ke-journal-section-heading { align-items: end; margin-bottom: 12px; }
html.ke-rebrand-mode #scr-journal .ke-journal-section-heading > div:first-child { min-width: 0; }
html.ke-rebrand-mode #scr-journal .ke-journal-section-heading h2 { font-size: 30px; }
html.ke-rebrand-mode #scr-journal .ke-journal-section-heading p { color: var(--kj-muted) !important; font-size: 12px; margin: 5px 0 0; }
html.ke-rebrand-mode .ke-journal-heading-actions { display: flex; gap: 8px; }
html.ke-rebrand-mode .ke-journal-tool-button {
  align-items: center;
  background: var(--kj-sheet);
  border: 1px solid var(--kj-edge);
  border-radius: 999px;
  color: var(--kj-burgundy);
  cursor: pointer;
  display: inline-flex;
  font-size: 12px;
  gap: 7px;
  min-height: 44px;
  padding: 8px 13px;
}
html.ke-rebrand-mode .ke-journal-tool-button svg { fill: none; height: 17px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 17px; }
html.ke-rebrand-mode .ke-journal-search-panel { margin-bottom: 10px; }
html.ke-rebrand-mode #scr-journal .ke-journal-search { max-width: none; }
html.ke-rebrand-mode #scr-journal .ke-journal-search input { font-size: 14px; }
html.ke-rebrand-mode #scr-journal .ke-journal-search button { background: transparent; border: 0; color: var(--kj-muted); cursor: pointer; font-size: 21px; min-height: 44px; width: 44px; }
html.ke-rebrand-mode .ke-journal-filters {
  display: flex;
  gap: 7px;
  margin-bottom: 14px;
  overflow-x: auto;
  padding: 1px 1px 3px;
  scrollbar-width: none;
}
html.ke-rebrand-mode .ke-journal-filters::-webkit-scrollbar { display: none; }
html.ke-rebrand-mode .ke-journal-filters button {
  background: transparent;
  border: 1px solid var(--kj-edge);
  border-radius: 999px;
  color: var(--kj-muted);
  cursor: pointer;
  flex: 0 0 auto;
  font-size: 12px;
  min-height: 44px;
  padding: 8px 14px;
}
html.ke-rebrand-mode .ke-journal-filters button.is-active { background: var(--kj-burgundy); border-color: var(--kj-burgundy); color: #fff; box-shadow: 0 7px 16px rgba(96,37,55,.16); }

html.ke-rebrand-mode #scr-journal .ke-journal-list {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 9px;
  overflow: visible;
}
html.ke-rebrand-mode .ke-journal-month-label {
  color: var(--kj-burgundy) !important;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .09em;
  margin: 12px 2px 2px;
  text-transform: uppercase;
}
html.ke-rebrand-mode .ke-journal-month-label:first-child { margin-top: 0; }
html.ke-rebrand-mode #scr-journal .ke-journal-row {
  align-items: center;
  background:
    linear-gradient(90deg, transparent 0 64px, var(--kj-margin) 64px 65px, transparent 65px),
    var(--kj-sheet);
  border: 1px solid var(--kj-edge);
  border-radius: 14px;
  box-shadow: 0 1px 1px rgba(26,40,48,.025), 0 7px 18px rgba(26,40,48,.045);
  gap: 14px;
  grid-template-columns: 46px minmax(0,1fr) auto;
  min-height: 88px;
  padding: 12px 14px 12px 10px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-row + .ke-journal-row { border-top: 1px solid var(--kj-edge); }
html.ke-rebrand-mode #scr-journal .ke-journal-row:hover { background-color: #fff; box-shadow: 0 10px 24px rgba(26,40,48,.075); transform: translateY(-1px); }
html.ke-rebrand-mode #scr-journal .ke-journal-row-date { align-items: center; display: flex; flex-direction: column; font-size: 10px; gap: 1px; justify-content: center; letter-spacing: .08em; }
html.ke-rebrand-mode #scr-journal .ke-journal-row-date strong { color: var(--kj-navy); font-family: 'Playfair Display', serif; font-size: 23px; line-height: 1; }
html.ke-rebrand-mode .ke-journal-row-copy { min-width: 0; }
html.ke-rebrand-mode #scr-journal .ke-journal-row-title { font-size: 17px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.ke-rebrand-mode #scr-journal .ke-journal-row small { font-size: 15px; margin-top: 2px; }
html.ke-rebrand-mode .ke-journal-row-meta { color: var(--kj-muted); display: block; font-size: 10px; margin-top: 5px; }
html.ke-rebrand-mode #scr-journal .ke-journal-row-arrow { font-size: 24px; }
html.ke-rebrand-mode #scr-journal .ke-journal-reflection-badge { font-size: 10px; }

html.ke-rebrand-mode #scr-journal .ke-journal-subnav { margin-bottom: 12px; }
html.ke-rebrand-mode #scr-journal .ke-journal-subnav h2 { font-size: 28px; }
html.ke-rebrand-mode #scr-journal .ke-journal-back { height: 44px; width: 44px; }
html.ke-rebrand-mode #scr-journal .ke-journal-private-pill { font-size: 11px; }
html.ke-rebrand-mode #scr-journal .ke-journal-editor-card {
  background: var(--kj-sheet);
  overflow: visible;
  padding: clamp(22px,5vw,42px) clamp(24px,6vw,56px) 28px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-title-field > span { font-size: 11px; }
html.ke-rebrand-mode #scr-journal .ke-journal-title-field input { font-family: 'Playfair Display', serif; font-size: 28px; }
html.ke-rebrand-mode #scr-journal .ke-journal-body-field { margin-top: 12px; }
html.ke-rebrand-mode #scr-journal .ke-journal-body-field textarea {
  background: repeating-linear-gradient(to bottom, transparent 0 calc(1.7em - 1px), var(--kj-rule) calc(1.7em - 1px) 1.7em);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 18px;
  line-height: 1.7;
  min-height: clamp(300px,45dvh,520px);
  padding: 2px 0 8px;
}
html.ke-rebrand-mode .ke-journal-page-tools { align-items: center; border-top: 1px solid var(--kj-rule); display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin-top: 16px; padding-top: 12px; }
html.ke-rebrand-mode .ke-journal-page-tools > span { color: var(--kj-muted); font-size: 11px; }
html.ke-rebrand-mode .ke-journal-page-tools > div { display: flex; flex-wrap: wrap; gap: 6px; }
html.ke-rebrand-mode .ke-journal-page-tools button { background: var(--kj-cream); border: 1px solid rgba(96,37,55,.1); border-radius: 999px; color: var(--kj-burgundy); cursor: pointer; font-size: 11px; min-height: 44px; padding: 8px 12px; }
html.ke-rebrand-mode #scr-journal .ke-journal-privacy-note { margin-top: 14px; padding: 0; }
html.ke-rebrand-mode .ke-journal-privacy-note summary { align-items: center; cursor: pointer; display: grid; gap: 8px; grid-template-columns: auto auto minmax(0,1fr); list-style: none; min-height: 44px; padding: 10px 12px; }
html.ke-rebrand-mode .ke-journal-privacy-note summary::-webkit-details-marker { display: none; }
html.ke-rebrand-mode .ke-journal-privacy-note summary > span:first-child { color: var(--kj-gold); }
html.ke-rebrand-mode .ke-journal-privacy-note summary strong { color: var(--kj-burgundy); font-size: 12px; }
html.ke-rebrand-mode .ke-journal-privacy-note summary > span:last-child { color: var(--kj-muted); font-size: 11px; text-align: right; }
html.ke-rebrand-mode #scr-journal .ke-journal-privacy-note > p { border-top: 1px solid var(--kj-rule); font-size: 12px; padding: 12px; }
html.ke-rebrand-mode #scr-journal .ke-journal-editor-actions { display: grid; grid-template-columns: minmax(160px,1.5fr) 1fr auto auto; }
html.ke-rebrand-mode #scr-journal .ke-journal-editor-actions > * { font-size: 11px; min-height: 44px; }
html.ke-rebrand-mode #scr-journal .ke-journal-quiet.is-danger { color: #8f3040; }
html.ke-rebrand-mode .ke-journal-page-navigation { align-items: center; border-top: 1px solid var(--kj-rule); display: grid; grid-template-columns: 1fr auto 1fr; margin-top: 18px; padding-top: 15px; }
html.ke-rebrand-mode .ke-journal-page-navigation button { background: transparent; border: 0; color: var(--kj-burgundy); cursor: pointer; font-size: 12px; min-height: 44px; }
html.ke-rebrand-mode .ke-journal-page-navigation button:last-child { text-align: right; }
html.ke-rebrand-mode .ke-journal-page-navigation button:first-child { text-align: left; }
html.ke-rebrand-mode .ke-journal-page-navigation button:disabled { color: var(--kj-muted); cursor: default; opacity: .45; }
html.ke-rebrand-mode .ke-journal-page-navigation span { color: var(--kj-muted); font-size: 11px; }
html.ke-rebrand-mode.ke-journal-writing #tab-bar,
html.ke-rebrand-mode.ke-journal-writing #ke-talk-launcher,
html.ke-rebrand-mode.ke-journal-reflecting #ke-talk-launcher { display: none !important; }
html.ke-rebrand-mode.ke-journal-writing #scr-journal .ke-journal-main { padding-bottom: max(26px, env(safe-area-inset-bottom)); }
html.ke-rebrand-mode #scr-journal :is(button,input,textarea,summary):focus-visible {
  outline: 3px solid var(--kj-burgundy);
  outline-offset: 2px;
}
html.ke-rebrand-mode #scr-journal :is(.ke-journal-header-action,.ke-journal-hero button):focus-visible { outline-color: var(--kj-gold-light); }

@media (max-width: 720px) {
  html.ke-rebrand-mode #scr-journal .ke-journal-header { grid-template-columns: 40px minmax(0,1fr) auto; }
  html.ke-rebrand-mode #scr-journal .ke-journal-brand { display: flex; }
  html.ke-rebrand-mode #scr-journal .ke-journal-brand > span:last-child { display: none; }
  html.ke-rebrand-mode #scr-journal .ke-journal-header-copy .ke-journal-kicker { display: none; }
  html.ke-rebrand-mode #scr-journal .ke-journal-header-subtitle { display: none; }
  html.ke-rebrand-mode #scr-journal .ke-journal-hero { grid-template-columns: minmax(0,1fr) auto; }
  html.ke-rebrand-mode #scr-journal .ke-journal-section-heading { align-items: end; flex-direction: row; }
}

@media (max-width: 430px) {
  html.ke-rebrand-mode #scr-journal .ke-journal-header { gap: 9px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-header-copy h1 { font-size: 19px !important; }
  html.ke-rebrand-mode #scr-journal .ke-journal-header-action { font-size: 11px; padding: 8px 13px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-main { padding: 13px 12px max(132px, calc(112px + env(safe-area-inset-bottom))); }
  html.ke-rebrand-mode #scr-journal .ke-journal-hero { gap: 9px; grid-template-columns: 1fr; padding: 16px 18px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-hero h2 { font-size: 26px; line-height: 1.07; margin-block: 5px 0; }
  html.ke-rebrand-mode #scr-journal .ke-journal-hero p { display: none; }
  html.ke-rebrand-mode #scr-journal .ke-journal-hero-actions { min-width: 0; }
  html.ke-rebrand-mode #scr-journal .ke-journal-hero-actions button { width: 100%; }
  html.ke-rebrand-mode #scr-journal .ke-journal-archive { margin-top: 20px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-section-heading { gap: 10px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-section-heading h2 { font-size: 27px; }
  html.ke-rebrand-mode .ke-journal-heading-actions { gap: 5px; }
  html.ke-rebrand-mode .ke-journal-tool-button { min-height: 44px; padding-inline: 11px; }
  html.ke-rebrand-mode .ke-journal-tool-button span { display: none; }
  html.ke-rebrand-mode #scr-journal .ke-journal-row { min-height: 84px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-row small { display: -webkit-box; line-height: 1.25; overflow: hidden; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
  html.ke-rebrand-mode #scr-journal .ke-journal-reflection-badge { max-width: 62px; padding: 5px 6px; text-align: center; }
  html.ke-rebrand-mode #scr-journal .ke-journal-subnav { position: sticky; top: 68px; z-index: 20; background: rgba(251,250,247,.96); margin: -13px -12px 0; padding: 10px 12px; backdrop-filter: blur(12px); }
  html.ke-rebrand-mode #scr-journal .ke-journal-subnav h2 { font-size: 20px; margin-top: 2px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-editor-card {
    background: var(--kj-sheet);
    border-radius: 0;
    box-shadow: none;
    margin-inline: -12px;
    padding: 20px 18px 24px;
  }
  html.ke-rebrand-mode #scr-journal .ke-journal-title-field input { font-size: 25px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-body-field textarea { min-height: clamp(280px,42dvh,430px); }
  html.ke-rebrand-mode .ke-journal-page-tools { align-items: flex-start; flex-direction: column; }
  html.ke-rebrand-mode #scr-journal .ke-journal-editor-actions { grid-template-columns: 1fr 1fr; }
  html.ke-rebrand-mode #scr-journal .ke-journal-editor-actions .ke-journal-primary { grid-column: 1 / -1; }
  html.ke-rebrand-mode #scr-journal .ke-journal-editor-actions > * { flex: none; }
  html.ke-rebrand-mode #scr-journal .ke-journal-editor-actions .is-danger { border-top: 1px solid var(--kj-rule); grid-column: 1 / -1; margin-top: 3px; width: 100%; }
  html.ke-rebrand-mode #scr-journal .ke-journal-modal { align-items: flex-end; padding: 0; }
  html.ke-rebrand-mode #scr-journal .ke-journal-modal-card { border-radius: 24px 24px 0 0; max-height: calc(100dvh - 18px); padding-bottom: max(22px, env(safe-area-inset-bottom)); }
  html.ke-rebrand-mode #scr-journal .ke-journal-choice { min-height: 96px; }
}

/* Android/iOS writing mode: keep app chrome from competing with the keyboard. */
@media (max-width: 720px) {
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open .ke-journal-header {
    display: none !important;
  }
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal .ke-journal-main {
    min-height: var(--ke-journal-visual-height, 100dvh);
    padding: 0 12px max(14px, env(safe-area-inset-bottom));
  }
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal .ke-journal-subnav {
    background: rgba(251,250,247,.98);
    margin: 0 -12px;
    min-height: 54px;
    padding: 6px 12px;
    position: sticky;
    top: 0;
    z-index: 190;
  }
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal .ke-journal-subnav .ke-journal-kicker,
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal .ke-journal-private-pill,
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal .ke-journal-prompt {
    display: none;
  }
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal .ke-journal-subnav h2 {
    font-size: 18px;
    margin: 0;
  }
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal .ke-journal-editor-card {
    margin-inline: -12px;
    padding: 13px 16px 22px;
  }
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal .ke-journal-body-field {
    margin-top: 8px;
  }
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal .ke-journal-body-field textarea {
    min-height: max(180px, calc(var(--ke-journal-visual-height, 100dvh) - 190px));
    scroll-margin-block: 18px;
  }
}

/* Journal privacy lock: branded password verification without native prompts. */
html.ke-rebrand-mode #scr-journal .ke-journal-lock-card {
  background:
    radial-gradient(circle at 9% 5%, rgba(233,186,97,.2), transparent 27%),
    linear-gradient(145deg, #fffdf8 0%, #fbf7ef 100%);
  max-width: 510px;
  overflow: hidden auto;
  padding: clamp(28px,5vw,42px);
  text-align: center;
}
html.ke-rebrand-mode #scr-journal .ke-journal-lock-card::before {
  animation: keJournalLockGleam 1.1s ease .08s both;
  background: linear-gradient(110deg, transparent 17%, rgba(255,255,255,.66) 46%, transparent 71%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(-110%);
  z-index: 0;
}
html.ke-rebrand-mode #scr-journal .ke-journal-lock-card > * { position: relative; z-index: 1; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-emblem {
  align-items: center;
  background: linear-gradient(145deg, var(--kj-navy), #263c47);
  border: 1px solid rgba(233,186,97,.62);
  border-radius: 19px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 13px 30px rgba(26,40,48,.2);
  display: flex;
  height: 64px;
  justify-content: center;
  margin: 0 auto 18px;
  transform: rotate(-2deg);
  width: 64px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-lock-emblem svg { fill: none; height: 34px; stroke: var(--kj-gold-light); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.3; width: 34px; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-card > .ke-journal-kicker { color: var(--kj-burgundy) !important; display: block; letter-spacing: 1.8px; text-align: center; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-card > h2 { font-size: clamp(31px,6vw,43px); margin: 7px 28px 10px; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-card > #ke-journal-lock-modal-copy { color: #6e6965 !important; font-size: 19px; line-height: 1.38; margin-inline: auto; max-width: 410px; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-assurance {
  align-items: center;
  background: linear-gradient(135deg, rgba(239,222,187,.66), rgba(255,255,255,.78));
  border: 1px solid rgba(200,165,88,.34);
  border-radius: 16px;
  display: grid;
  gap: 12px;
  grid-template-columns: 36px minmax(0,1fr);
  margin-top: 24px;
  padding: 14px 16px;
  text-align: left;
}
html.ke-rebrand-mode #scr-journal .ke-journal-lock-assurance > span { align-items: center; background: var(--kj-burgundy); border-radius: 50%; color: var(--kj-gold-light); display: flex; font-size: 15px; height: 36px; justify-content: center; width: 36px; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-assurance strong { color: var(--kj-navy); display: block; font-family: 'Playfair Display',serif; font-size: 16px; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-assurance small { color: var(--kj-muted); display: block; font-size: 10px; line-height: 1.4; margin-top: 3px; }
html.ke-rebrand-mode #scr-journal .ke-journal-password-field { margin-top: 20px; text-align: left; }
html.ke-rebrand-mode #scr-journal .ke-journal-password-field > label { color: var(--kj-burgundy); display: block; font-size: 10px; font-weight: 900; letter-spacing: 1px; margin: 0 0 7px 2px; text-transform: uppercase; }
html.ke-rebrand-mode #scr-journal .ke-journal-password-input { align-items: stretch; background: #fffefa; border: 1.5px solid rgba(96,37,55,.33); border-radius: 14px; box-shadow: inset 0 1px 2px rgba(26,40,48,.06), 0 8px 22px rgba(26,40,48,.06); display: flex; min-height: 54px; overflow: hidden; transition: border-color .18s ease, box-shadow .18s ease; }
html.ke-rebrand-mode #scr-journal .ke-journal-password-input:focus-within { border-color: var(--kj-burgundy); box-shadow: 0 0 0 4px rgba(96,37,55,.12), 0 10px 24px rgba(26,40,48,.08); }
html.ke-rebrand-mode #scr-journal .ke-journal-password-input input {
  -webkit-text-fill-color: var(--kj-navy);
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  caret-color: var(--kj-burgundy);
  color: var(--kj-navy) !important;
  flex: 1;
  font-family: 'DM Sans',sans-serif;
  font-size: 17px;
  font-weight: 650;
  min-width: 0;
  outline: 0 !important;
  padding: 14px 4px 14px 16px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-password-input button { background: transparent; border: 0; color: var(--kj-burgundy); cursor: pointer; font-size: 11px; font-weight: 900; min-width: 68px; padding: 0 15px; }
html.ke-rebrand-mode #scr-journal .ke-journal-password-field > small { color: var(--kj-muted); display: block; font-size: 9px; line-height: 1.4; margin: 7px 2px 0; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-card > .ke-journal-lock-error {
  background: #fff0ef;
  border: 1px solid rgba(143,48,64,.24);
  border-radius: 11px;
  color: #8f3040 !important;
  font-family: 'DM Sans',sans-serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.4;
  margin: 11px 0 0;
  padding: 10px 12px;
  text-align: left;
}
html.ke-rebrand-mode #scr-journal .ke-journal-lock-actions { display: grid; gap: 8px; grid-template-columns: minmax(0,1fr) auto; margin-top: 20px; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-actions .ke-journal-primary { min-height: 50px; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-actions .ke-journal-quiet { min-width: 96px; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-card > .ke-journal-lock-footnote { align-items: center; color: var(--kj-muted) !important; display: flex; font-family: 'DM Sans',sans-serif; font-size: 8px; font-style: normal; gap: 7px; justify-content: center; line-height: 1.45; margin: 16px auto 0; max-width: 370px; }
html.ke-rebrand-mode #scr-journal .ke-journal-lock-footnote > span { color: var(--kj-gold); font-size: 7px; }
html.ke-rebrand-mode #scr-journal #ke-journal-lock-form[aria-busy="true"] { cursor: progress; }
html.ke-rebrand-mode #scr-journal #ke-journal-lock-form[aria-busy="true"] .ke-journal-primary span::before { animation: keJournalLockSpin .75s linear infinite; border: 2px solid rgba(26,40,48,.24); border-radius: 50%; border-top-color: var(--kj-navy); content: ''; display: inline-block; height: 12px; margin-right: 8px; vertical-align: -2px; width: 12px; }
@keyframes keJournalLockGleam { to { transform: translateX(110%); } }
@keyframes keJournalLockSpin { to { transform: rotate(360deg); } }

@media (max-width: 430px) {
  html.ke-rebrand-mode #scr-journal .ke-journal-lock-card { max-height: calc(100dvh - 8px); padding: 24px 18px max(20px, env(safe-area-inset-bottom)); }
  html.ke-rebrand-mode #scr-journal .ke-journal-lock-emblem { border-radius: 16px; height: 54px; margin-bottom: 14px; width: 54px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-lock-emblem svg { height: 29px; width: 29px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-lock-card > h2 { font-size: 30px; margin-inline: 22px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-lock-card > #ke-journal-lock-modal-copy { font-size: 17px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-lock-assurance { margin-top: 18px; padding: 12px 13px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-password-input input { font-size: 16px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-lock-actions { grid-template-columns: 1fr; }
  html.ke-rebrand-mode #scr-journal .ke-journal-lock-actions .ke-journal-quiet { min-height: 44px; order: 2; }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #scr-journal .ke-journal-lock-card::before,
  html.ke-rebrand-mode #scr-journal #ke-journal-lock-form[aria-busy="true"] .ke-journal-primary span::before { animation: none; }
}

/* Journal AI: keep Karamo's perspective clearly separate from the Keeper's
   original words while making every opt-in action feel calm and intentional. */
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflections[hidden],
html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk[hidden],
html.ke-rebrand-mode #scr-journal #ke-journal-reflection-add[hidden] { display: none !important; }

html.ke-rebrand-mode #scr-journal .ke-journal-added-reflections {
  display: grid;
  gap: 14px;
  margin: 24px 0 8px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection {
  background:
    radial-gradient(circle at 92% 7%, rgba(230,199,127,.24), transparent 31%),
    linear-gradient(145deg, rgba(255,253,250,.98), rgba(247,241,232,.9));
  border: 1px solid rgba(200,165,88,.48);
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 16px 34px rgba(26,40,48,.09);
  overflow: hidden;
  padding: clamp(18px,4vw,28px);
  position: relative;
}
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection::before {
  background: linear-gradient(90deg, var(--kj-burgundy), var(--kj-gold-light), var(--kj-burgundy));
  content: '';
  height: 3px;
  inset: 0 0 auto;
  position: absolute;
}
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection-head {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 48px minmax(0,1fr) auto;
  margin-bottom: 16px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection-mark {
  align-items: center;
  background: linear-gradient(145deg, #753047, #4c1c2c);
  border: 1px solid rgba(230,199,127,.7);
  border-radius: 50%;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 8px 18px rgba(96,37,55,.2);
  color: var(--kj-gold-light);
  display: flex;
  font-family: 'Playfair Display',serif;
  font-size: 18px;
  height: 48px;
  justify-content: center;
  width: 48px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection-head h3 {
  color: var(--kj-navy) !important;
  font-family: 'Playfair Display',serif;
  font-size: clamp(19px,3vw,24px);
  font-weight: 600;
  line-height: 1.12;
  margin: 4px 0 0;
}
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection-head > button {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(96,37,55,.16);
  border-radius: 999px;
  color: var(--kj-burgundy);
  cursor: pointer;
  font-size: 9px;
  font-weight: 850;
  min-height: 38px;
  padding: 8px 12px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection blockquote {
  border-bottom: 1px solid rgba(200,165,88,.28);
  color: var(--kj-burgundy);
  font-family: 'Cormorant Garamond',serif;
  font-size: clamp(20px,3vw,25px);
  font-style: italic;
  line-height: 1.38;
  margin: 0 0 15px;
  padding: 0 0 15px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection > p {
  color: var(--kj-ink) !important;
  font-family: 'Cormorant Garamond',serif;
  font-size: 18px;
  line-height: 1.42;
  margin: 12px 0 0;
}
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection > p strong {
  color: var(--kj-burgundy);
  display: block;
  font-family: 'DM Sans',sans-serif;
  font-size: 9px;
  letter-spacing: 1px;
  margin-bottom: 5px;
  text-transform: uppercase;
}
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection-question {
  background: rgba(230,199,127,.14);
  border: 1px solid rgba(200,165,88,.25);
  border-radius: 13px;
  padding: 13px 15px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection > small {
  color: var(--kj-muted);
  display: block;
  font-size: 9px;
  line-height: 1.45;
  margin-top: 15px;
}

html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk {
  align-items: center;
  background:
    radial-gradient(circle at 88% 12%, rgba(230,199,127,.2), transparent 32%),
    linear-gradient(145deg, #243942, #14262e 72%);
  border: 1px solid rgba(230,199,127,.48);
  border-radius: 20px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 17px 36px rgba(26,40,48,.16);
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0,1fr) auto;
  margin-top: 16px;
  overflow: hidden;
  padding: clamp(18px,4vw,24px);
  position: relative;
}
html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk::after {
  background: linear-gradient(112deg, transparent 37%, rgba(255,255,255,.1) 49%, transparent 61%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(-100%);
}
html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk:hover::after { animation: keJournalAiGleam 1.15s ease both; }
html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk .ke-journal-kicker { color: var(--kj-gold-light); }
html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk h3 {
  color: #fff !important;
  font-family: 'Playfair Display',serif;
  font-size: clamp(21px,3vw,27px);
  font-weight: 600;
  line-height: 1.12;
  margin: 6px 0 7px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk p {
  color: rgba(255,255,255,.72) !important;
  font-size: 11px;
  line-height: 1.5;
  margin: 0;
  max-width: 590px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk small {
  color: rgba(230,199,127,.86);
  display: block;
  font-size: 9px;
  margin-top: 9px;
}
html.ke-rebrand-mode #scr-journal #ke-journal-entry-talk-button {
  background: linear-gradient(145deg, #efd78f, var(--kj-gold));
  border-color: rgba(255,255,255,.24);
  box-shadow: 0 10px 24px rgba(10,20,25,.2), inset 0 1px 0 rgba(255,255,255,.55);
  color: var(--kj-navy);
  min-height: 50px;
  min-width: 158px;
  position: relative;
  z-index: 2;
}
html.ke-rebrand-mode #scr-journal #ke-journal-entry-talk-button:hover { transform: translateY(-1px); }

html.ke-rebrand-mode #scr-journal .ke-journal-reflection-separation {
  align-items: flex-start;
  background: linear-gradient(145deg, rgba(247,241,232,.9), rgba(255,255,255,.8));
  border: 1px solid rgba(200,165,88,.3);
  border-radius: 13px;
  color: var(--kj-muted) !important;
  display: flex;
  font-size: 10px;
  line-height: 1.5;
  margin: 22px 0 0;
  padding: 12px 14px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-reflection-separation::before {
  background: var(--kj-gold);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(200,165,88,.14);
  content: '';
  flex: 0 0 7px;
  height: 7px;
  margin: 4px 10px 0 1px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-reflection-actions {
  display: grid;
  gap: 9px;
  grid-template-columns: minmax(150px,1.15fr) minmax(120px,.8fr) minmax(190px,1.25fr);
}
html.ke-rebrand-mode #scr-journal .ke-journal-reflection-actions > button { min-height: 48px; }
html.ke-rebrand-mode #scr-journal #ke-journal-talk {
  background: var(--kj-navy);
  border-color: var(--kj-navy);
  color: var(--kj-gold-light);
}
html.ke-rebrand-mode #scr-journal #ke-journal-reflection-add[aria-busy="true"] { cursor: progress; }

@keyframes keJournalAiGleam { to { transform: translateX(100%); } }

@media (max-width: 720px) {
  html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk { align-items: stretch; grid-template-columns: 1fr; }
  html.ke-rebrand-mode #scr-journal #ke-journal-entry-talk-button { min-width: 0; width: 100%; }
  html.ke-rebrand-mode #scr-journal .ke-journal-reflection-actions { grid-template-columns: 1fr 1fr; }
  html.ke-rebrand-mode #scr-journal #ke-journal-talk { grid-column: 1 / -1; }
}

@media (max-width: 430px) {
  html.ke-rebrand-mode #scr-journal .ke-journal-added-reflections { margin-top: 18px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection { border-radius: 17px; padding: 18px 15px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection-head { gap: 9px; grid-template-columns: 42px minmax(0,1fr); }
  html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection-mark { font-size: 16px; height: 42px; width: 42px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-added-reflection-head > button { grid-column: 1 / -1; justify-self: end; margin-top: -3px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk { border-radius: 17px; gap: 15px; padding: 18px 16px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk p { font-size: 10px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-reflection-actions { grid-template-columns: 1fr; }
  html.ke-rebrand-mode #scr-journal #ke-journal-talk { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #scr-journal .ke-journal-entry-talk:hover::after { animation: none; }
  html.ke-rebrand-mode #scr-journal #ke-journal-entry-talk-button { transition: none; }
}

/* The Journal scrolls independently of the fixed menu. Reserve enough room
   for the final page to clear Karamo's raised portrait and remain tappable. */
html.ke-rebrand-mode #scr-journal {
  scroll-padding-bottom: max(172px, calc(148px + env(safe-area-inset-bottom)));
}

html.ke-rebrand-mode:not(.ke-journal-writing):not(.ke-journal-reflecting) #scr-journal .ke-journal-main {
  padding-bottom: max(172px, calc(148px + env(safe-area-inset-bottom)));
}

/* Guided journal: the emotion and three-minute invitation stay calm and
   secondary to the page. Zero never interrupts the editor. */
html.ke-rebrand-mode #scr-journal .ke-journal-guided-context {
  align-items: stretch;
  background:
    radial-gradient(circle at 8% 12%, rgba(233,186,97,.17), transparent 32%),
    linear-gradient(145deg, #21323b, #17262e 72%);
  border: 1px solid rgba(200,165,88,.42);
  border-radius: 18px;
  box-shadow: 0 15px 34px rgba(16,31,38,.15), inset 0 1px 0 rgba(255,255,255,.09);
  color: #fff;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(150px,.75fr) minmax(260px,1.4fr);
  margin: 0 0 22px;
  overflow: hidden;
  padding: clamp(17px,3.4vw,24px);
  position: relative;
}
html.ke-rebrand-mode #scr-journal .ke-journal-guided-context::after {
  background: linear-gradient(110deg, transparent 38%, rgba(255,255,255,.08) 50%, transparent 62%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  transform: translateX(-100%);
  animation: keJournalGuidedGleam 7.5s ease-in-out infinite;
}
html.ke-rebrand-mode #scr-journal .ke-journal-guided-arrival {
  align-content: center;
  border-right: 1px solid rgba(233,186,97,.25);
  display: grid;
  gap: 5px;
  padding-right: 18px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-guided-arrival span {
  color: var(--kj-gold-light);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}
html.ke-rebrand-mode #scr-journal .ke-journal-guided-arrival strong {
  color: #fff;
  font-family: 'Playfair Display',serif;
  font-size: clamp(22px,3vw,29px);
  font-weight: 600;
  line-height: 1.08;
}
html.ke-rebrand-mode #scr-journal .ke-journal-guided-timer { display: grid; gap: 9px; }
html.ke-rebrand-mode #scr-journal .ke-journal-guided-timer > div:first-child {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
html.ke-rebrand-mode #scr-journal .ke-journal-guided-timer .ke-journal-kicker { color: var(--kj-gold-light); }
html.ke-rebrand-mode #scr-journal #ke-journal-timer-clock {
  color: #fff;
  font-size: 20px;
  font-variant-numeric: tabular-nums;
  letter-spacing: .4px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-timer-progress {
  background: rgba(255,255,255,.12);
  border-radius: 999px;
  display: block;
  height: 3px;
  overflow: hidden;
}
html.ke-rebrand-mode #scr-journal .ke-journal-timer-progress::after {
  background: linear-gradient(90deg, var(--kj-gold), #f2d88e);
  border-radius: inherit;
  box-shadow: 0 0 12px rgba(233,186,97,.5);
  content: '';
  display: block;
  height: 100%;
  transform: scaleX(var(--ke-journal-timer-progress,1));
  transform-origin: left center;
  transition: transform 1s linear;
}
html.ke-rebrand-mode #scr-journal .ke-journal-guided-timer p {
  color: rgba(255,255,255,.67) !important;
  font-size: 10px;
  line-height: 1.45;
  margin: 0;
}
html.ke-rebrand-mode #scr-journal .ke-journal-timer-actions {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
  margin-top: 3px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-timer-actions button { min-height: 42px; }
html.ke-rebrand-mode #scr-journal .ke-journal-guided-timer.is-complete .ke-journal-timer-progress::after { transform: scaleX(0); }

/* Delphi arrives on the same page so the Keeper can compare the reflection
   with their words and explicitly decide whether to add it. */
html.ke-rebrand-mode #scr-journal .ke-journal-inline-reflection {
  background:
    radial-gradient(circle at 90% 4%, rgba(233,186,97,.22), transparent 30%),
    linear-gradient(145deg, #fffdf9, #f8f0e4);
  border: 1px solid rgba(200,165,88,.48);
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(26,40,48,.13), inset 0 1px 0 rgba(255,255,255,.9);
  display: grid;
  gap: 17px;
  margin: 26px 0 6px;
  padding: clamp(20px,4.2vw,32px);
  position: relative;
}
html.ke-rebrand-mode #scr-journal .ke-journal-inline-reflection:focus { outline: 2px solid rgba(200,165,88,.7); outline-offset: 4px; }
html.ke-rebrand-mode #scr-journal .ke-journal-inline-reflection > header {
  align-items: start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
html.ke-rebrand-mode #scr-journal .ke-journal-inline-reflection h3 {
  color: var(--kj-ink) !important;
  font-family: 'Playfair Display',serif;
  font-size: clamp(24px,4vw,34px);
  font-weight: 600;
  line-height: 1.08;
  margin: 5px 0 0;
}
html.ke-rebrand-mode #scr-journal .ke-journal-inline-reflection-intro {
  align-items: center;
  background: var(--kj-burgundy);
  border-radius: 16px;
  display: grid;
  gap: 16px;
  grid-template-columns: 58px minmax(0,1fr);
  padding: 17px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-inline-reflection-intro img {
  border: 2px solid var(--kj-gold-light);
  border-radius: 50%;
  height: 58px;
  object-fit: cover;
  width: 58px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-inline-reflection-intro blockquote {
  color: #fff;
  font-family: 'Cormorant Garamond',serif;
  font-size: clamp(18px,3vw,22px);
  font-style: italic;
  line-height: 1.35;
  margin: 0;
}
html.ke-rebrand-mode #scr-journal .ke-journal-inline-reflection > div:not(.ke-journal-inline-reflection-intro):not(.ke-journal-reflection-actions) > p {
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(26,40,48,.1);
  border-radius: 14px;
  color: var(--kj-ink) !important;
  font-family: 'Cormorant Garamond',serif;
  font-size: 18px;
  line-height: 1.45;
  margin: 7px 0 0;
  padding: 15px;
}
html.ke-rebrand-mode #scr-journal .ke-journal-inline-reflection .ke-journal-reflection-actions {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
html.ke-rebrand-mode #scr-journal #ke-journal-inline-reflection-talk {
  background: var(--kj-navy);
  border-color: var(--kj-navy);
  color: var(--kj-gold-light);
}
html.ke-rebrand-mode #scr-journal :is(#ke-journal-inline-reflection-add,#ke-journal-reflection-add)[aria-busy="true"] { cursor: progress; }

@keyframes keJournalGuidedGleam {
  0%,58% { transform: translateX(-110%); }
  78%,100% { transform: translateX(110%); }
}

@media (max-width: 620px) {
  html.ke-rebrand-mode #scr-journal .ke-journal-guided-context { gap: 13px; grid-template-columns: 1fr; }
  html.ke-rebrand-mode #scr-journal .ke-journal-guided-arrival { border-bottom: 1px solid rgba(233,186,97,.25); border-right: 0; padding: 0 0 13px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-inline-reflection > header { align-items: flex-start; flex-direction: column; gap: 9px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-inline-reflection .ke-journal-reflection-actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #scr-journal .ke-journal-guided-context::after { animation: none; }
  html.ke-rebrand-mode #scr-journal .ke-journal-timer-progress::after { transition: none; }
}

/* Dashboard-aligned Journal shell.
   Shapes are compact launchers; the writing surface deliberately remains paper. */
html.ke-rebrand-mode #scr-journal {
  --kj-navy: #10242d;
  --kj-navy-soft: #18323d;
  --kj-burgundy: #682d43;
  --kj-gold: #d7b56d;
  --kj-gold-light: #f1dca7;
  --kj-cream: #f3eadc;
  --kj-paper: #fffcf6;
  --kj-ink: #172830;
  --kj-muted: #718087;
  --kj-line: rgba(215,181,109,.42);
  background:
    radial-gradient(circle at 50% 10%, rgba(215,181,109,.11), transparent 30%),
    radial-gradient(circle at 9% 52%, rgba(104,45,67,.15), transparent 27%),
    linear-gradient(180deg, #10242d 0%, #09191f 100%) !important;
  color: #fffcf6 !important;
}

html.ke-rebrand-mode #scr-journal .ke-journal-header {
  background: rgba(9,25,31,.94);
  border-bottom-color: rgba(215,181,109,.28);
  box-shadow: 0 12px 32px rgba(0,0,0,.2);
}

html.ke-rebrand-mode #scr-journal .ke-journal-header-action {
  align-items: center;
  background: radial-gradient(circle at 35% 25%, #8b4560, #682d43 58%, #3e1727);
  border: 2px solid var(--kj-gold);
  border-radius: 50%;
  box-shadow: inset 0 0 0 3px rgba(16,36,45,.48), 0 0 0 1px rgba(241,220,167,.35), 0 10px 24px rgba(0,0,0,.25);
  color: #fffaf0;
  display: inline-flex;
  flex-direction: column;
  font-size: 9px;
  height: 68px;
  justify-content: center;
  line-height: 1.05;
  padding: 8px;
  width: 68px;
}

html.ke-rebrand-mode #scr-journal .ke-journal-main {
  max-width: 1000px;
  padding-bottom: max(88px, calc(68px + env(safe-area-inset-bottom)));
}

html.ke-rebrand-mode:not(.ke-journal-writing):not(.ke-journal-reflecting) #scr-journal .ke-journal-main {
  background: transparent;
}

html.ke-rebrand-mode #scr-journal .ke-journal-kicker,
html.ke-rebrand-mode #scr-journal .ke-journal-shelf-heading .ke-journal-kicker,
html.ke-rebrand-mode #scr-journal .ke-journal-panel-heading .ke-journal-kicker,
html.ke-rebrand-mode #scr-journal .ke-journal-section-heading .ke-journal-kicker {
  color: var(--kj-gold-light) !important;
}

html.ke-rebrand-mode #scr-journal :is(.ke-journal-shelf-heading,.ke-journal-panel-heading,.ke-journal-section-heading) h2,
html.ke-rebrand-mode #scr-journal .ke-journal-section-heading p,
html.ke-rebrand-mode #scr-journal .ke-journal-panel-heading p {
  color: #fffcf6 !important;
}

html.ke-rebrand-mode #scr-journal .ke-journal-shelf {
  background:
    linear-gradient(180deg, rgba(255,255,255,.025) 0 calc(100% - 20px), rgba(215,181,109,.15) calc(100% - 20px), rgba(215,181,109,.46) calc(100% - 14px), #3e2930 100%);
  border: 1px solid rgba(215,181,109,.14);
  border-radius: 26px;
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 18px 44px rgba(0,0,0,.2);
  padding-inline: 22px;
}

html.ke-rebrand-mode #scr-journal .ke-journal-lock-hook {
  background: rgba(255,252,246,.06);
  border-color: rgba(215,181,109,.4);
  color: var(--kj-gold-light);
}

html.ke-rebrand-mode #scr-journal .ke-journal-lock-hook[aria-pressed="true"] {
  background: var(--kj-burgundy);
  border-color: var(--kj-gold);
  color: #fffaf0;
}

html.ke-rebrand-mode #scr-journal .ke-journal-book-create {
  align-self: center;
  aspect-ratio: 1;
  background: radial-gradient(circle at 35% 25%, rgba(241,220,167,.2), rgba(104,45,67,.94) 58%, #3d1727);
  border: 2px solid var(--kj-gold);
  border-radius: 50%;
  box-shadow: inset 0 0 0 4px rgba(16,36,45,.45), 0 13px 26px rgba(0,0,0,.27);
  color: #fffcf6;
  flex: 0 0 156px;
  min-height: 156px;
}

html.ke-rebrand-mode #scr-journal .ke-journal-book-create strong,
html.ke-rebrand-mode #scr-journal .ke-journal-book-create small { color: #fffcf6 !important; }
html.ke-rebrand-mode #scr-journal .ke-journal-book-create > span { color: var(--kj-gold-light); }

html.ke-rebrand-mode #scr-journal .ke-journal-home-tabs {
  display: grid;
  gap: clamp(8px,2vw,18px);
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin: 30px auto;
  max-width: 660px;
}

html.ke-rebrand-mode #scr-journal .ke-journal-home-tabs button {
  align-items: center;
  background: transparent;
  border: 0;
  color: rgba(255,252,246,.78);
  display: flex;
  font-family: 'Playfair Display',serif;
  font-size: clamp(14px,2vw,18px);
  justify-content: center;
  min-height: 104px;
  padding: 20px 14px;
  position: relative;
  isolation: isolate;
}

html.ke-rebrand-mode #scr-journal .ke-journal-home-tabs button::before {
  background: linear-gradient(145deg, rgba(31,65,76,.95), rgba(11,29,35,.98));
  border: 1px solid rgba(215,181,109,.55);
  clip-path: polygon(24% 4%,76% 4%,98% 50%,76% 96%,24% 96%,2% 50%);
  content: '';
  inset: 0;
  position: absolute;
  transition: filter .2s ease, transform .2s ease;
  z-index: -1;
}

html.ke-rebrand-mode #scr-journal .ke-journal-home-tabs button.is-active {
  color: #fffaf0;
}

html.ke-rebrand-mode #scr-journal .ke-journal-home-tabs button.is-active::before {
  background: radial-gradient(circle at 36% 24%, #8d4961, #682d43 61%, #421a2a);
  filter: drop-shadow(0 0 10px rgba(215,181,109,.25));
  transform: scale(1.035);
}

html.ke-rebrand-mode #scr-journal .ke-journal-insights-panel {
  background: rgba(255,252,246,.055);
  border: 1px solid rgba(215,181,109,.25);
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(0,0,0,.22);
  padding: clamp(20px,4vw,38px);
}

html.ke-rebrand-mode #scr-journal .ke-journal-list {
  background: rgba(255,252,246,.96);
  border-color: rgba(215,181,109,.5);
  box-shadow: 0 18px 46px rgba(0,0,0,.2);
}

html.ke-rebrand-mode #scr-journal .ke-journal-empty {
  background: rgba(255,252,246,.96);
  border-color: rgba(215,181,109,.5);
}

html.ke-rebrand-mode #scr-journal .ke-journal-search-panel,
html.ke-rebrand-mode #scr-journal .ke-journal-filters {
  background: rgba(255,252,246,.055);
  border-color: rgba(215,181,109,.22);
}

html.ke-rebrand-mode #scr-journal .ke-journal-filters button,
html.ke-rebrand-mode #scr-journal .ke-journal-tool-button {
  background: rgba(255,252,246,.06);
  border-color: rgba(215,181,109,.33);
  color: #f5ead8;
}

html.ke-rebrand-mode #scr-journal .ke-journal-filters button.is-active {
  background: var(--kj-burgundy);
  border-color: var(--kj-gold);
  color: #fffaf0;
}

/* Expanded workspaces keep a stable, high-legibility paper interior. */
html.ke-rebrand-mode.ke-journal-writing #scr-journal,
html.ke-rebrand-mode.ke-journal-reflecting #scr-journal { background-color: #09191f !important; }

html.ke-rebrand-mode #scr-journal .ke-journal-subnav h2 { color: #fffcf6 !important; }
html.ke-rebrand-mode #scr-journal .ke-journal-back,
html.ke-rebrand-mode #scr-journal .ke-journal-bookmark {
  background: rgba(255,252,246,.07);
  border-color: rgba(215,181,109,.5);
  color: var(--kj-gold-light);
}

html.ke-rebrand-mode #scr-journal .ke-journal-editor-card,
html.ke-rebrand-mode #scr-journal .ke-journal-reflection-card {
  background: var(--kj-paper);
  border-color: rgba(215,181,109,.7);
  box-shadow: 0 28px 75px rgba(0,0,0,.3);
}

/* Journal utility forms bloom inside a dark jewel frame; modal fields remain rectangular. */
html.ke-rebrand-mode #scr-journal .ke-journal-modal-backdrop {
  background: rgba(4,15,19,.82);
  backdrop-filter: blur(12px);
}

html.ke-rebrand-mode #scr-journal .ke-journal-modal-card {
  background:
    radial-gradient(circle at 50% 0, rgba(215,181,109,.13), transparent 34%),
    linear-gradient(180deg, #18313b, #0d2027);
  border: 1px solid rgba(215,181,109,.72);
  box-shadow: inset 0 1px rgba(255,255,255,.05), 0 32px 100px rgba(0,0,0,.58);
  color: #fffcf6;
}

html.ke-rebrand-mode #scr-journal .ke-journal-modal-card h2,
html.ke-rebrand-mode #scr-journal .ke-journal-modal-card > p,
html.ke-rebrand-mode #scr-journal .ke-journal-modal-card legend,
html.ke-rebrand-mode #scr-journal .ke-journal-modal-card label { color: #fffcf6 !important; }
html.ke-rebrand-mode #scr-journal .ke-journal-modal-close { color: var(--kj-gold-light); }

html.ke-rebrand-mode #scr-journal .ke-journal-book-title input,
html.ke-rebrand-mode #scr-journal .ke-journal-password-input,
html.ke-rebrand-mode #scr-journal .ke-journal-dialog-input {
  background: #fffcf6;
  border-color: rgba(215,181,109,.62);
  color: var(--kj-ink);
}

html.ke-rebrand-mode #scr-journal .ke-journal-lock-choice {
  background: rgba(255,252,246,.07);
  border-color: rgba(215,181,109,.28);
}

html.ke-rebrand-mode #scr-journal .ke-journal-lock-choice small { color: rgba(255,252,246,.68) !important; }

html.ke-rebrand-mode #scr-journal .ke-journal-mood-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-inline: auto;
  max-width: 520px;
}

html.ke-rebrand-mode #scr-journal .ke-journal-mood-grid button,
html.ke-rebrand-mode #scr-journal .ke-journal-inline-moods button {
  aspect-ratio: 1;
  background: radial-gradient(circle at 35% 25%, #8a4660, #682d43 60%, #401827);
  border: 2px solid var(--kj-gold);
  border-radius: 50%;
  box-shadow: inset 0 0 0 4px rgba(16,36,45,.4), 0 12px 24px rgba(0,0,0,.24);
  color: #fffaf0;
  justify-content: center;
  min-height: 112px;
  text-align: center;
}

html.ke-rebrand-mode #scr-journal .ke-journal-mood-grid button[aria-pressed="true"] {
  filter: brightness(1.13);
  transform: translateY(-3px) scale(1.035);
}

html.ke-rebrand-mode #scr-journal .ke-journal-tool-sheet {
  background: linear-gradient(180deg, #18313b, #0d2027);
  border-color: rgba(215,181,109,.58);
  box-shadow: 0 24px 65px rgba(0,0,0,.38);
}

html.ke-rebrand-mode #scr-journal .ke-journal-tool-sheet-head h3 { color: #fffcf6; }
html.ke-rebrand-mode #scr-journal .ke-journal-tool-sheet-head > button { color: var(--kj-gold-light); }

html.ke-rebrand-mode #scr-journal .ke-journal-dialog-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 22px;
}

html.ke-rebrand-mode #scr-journal .ke-journal-dialog-copy { color: rgba(255,252,246,.76) !important; }

@media (max-width: 600px) {
  html.ke-rebrand-mode #scr-journal .ke-journal-main { padding-inline: 13px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-header-action { height: 58px; width: 58px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-home-tabs { gap: 6px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-home-tabs button { font-size: 13px; min-height: 86px; padding: 15px 8px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-mood-grid { gap: 9px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-mood-grid button { min-height: 92px; }
  html.ke-rebrand-mode #scr-journal .ke-journal-modal { align-items: flex-end; padding: 0; }
  html.ke-rebrand-mode #scr-journal .ke-journal-modal-card { border-radius: 26px 26px 0 0; max-height: min(90dvh,760px); padding-bottom: max(26px,env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #scr-journal .ke-journal-home-tabs button::before,
  html.ke-rebrand-mode #scr-journal .ke-journal-mood-grid button { transition: none; }
}
/* Journal navigation now lives in the shared Flame Bloom. During the brief
   handoff into an editor or privacy dialog, keep the retired library landing
   from flashing behind the destination surface. */
html.ke-rebrand-mode.ke-journal-bloom-handoff #ke-journal-home {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Approved writing jewel -------------------------------------------------
   This targets the live page composer only. Saved-page cards and reflection
   reading surfaces keep their established paper layout. The field begins as
   a large circle, then opens into a taller jewel when the person writes. */
html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form .ke-journal-body-field {
  align-items: stretch;
  aspect-ratio: 1;
  background:
    radial-gradient(circle at 34% 21%, rgba(255,255,255,.13), transparent 25%) padding-box,
    radial-gradient(circle at 50% 56%, #79364e 0%, #5b263b 54%, #2d111e 100%) padding-box,
    conic-gradient(from 28deg, #fff0b6, #b9802f 18%, #f7d88a 35%, #79501a 52%, #d3a34e 72%, #fff0b6) border-box;
  border: 3px solid transparent;
  border-radius: 50%;
  box-shadow:
    inset 0 0 0 4px rgba(8,22,28,.5),
    inset 0 16px 28px rgba(255,255,255,.04),
    0 20px 48px rgba(7,19,24,.3),
    0 0 34px rgba(215,181,109,.16);
  box-sizing: border-box;
  cursor: text;
  display: grid;
  isolation: isolate;
  justify-items: stretch;
  margin: 24px auto 30px;
  min-height: clamp(320px, 48vw, 430px);
  overflow: visible;
  padding: clamp(50px, 9vw, 72px);
  position: relative;
  transition:
    width .42s cubic-bezier(.22,.8,.24,1),
    min-height .42s cubic-bezier(.22,.8,.24,1),
    border-radius .42s cubic-bezier(.22,.8,.24,1),
    box-shadow .28s ease;
  width: min(100%, 430px);
}

html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form .ke-journal-body-field:focus-within,
html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form .ke-journal-body-field:has(textarea:not(:placeholder-shown)) {
  aspect-ratio: auto;
  border-radius: clamp(86px, 17vw, 164px);
  box-shadow:
    inset 0 0 0 4px rgba(8,22,28,.46),
    inset 0 18px 34px rgba(255,255,255,.055),
    0 28px 64px rgba(7,19,24,.36),
    0 0 48px rgba(215,181,109,.22);
  min-height: clamp(430px, 58dvh, 620px);
  width: min(100%, 560px);
}

html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form .ke-journal-body-field:focus-within {
  outline: 3px solid var(--kj-gold-light, #f1dca7);
  outline-offset: 6px;
}

html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form #ke-journal-body-input {
  -webkit-appearance: none;
  appearance: none;
  align-self: stretch;
  background: transparent !important;
  border: 0 !important;
  border-radius: 30px;
  box-shadow: none !important;
  caret-color: #fff0b6;
  color: #fffaf0 !important;
  font: 500 clamp(19px, 2.6vw, 22px)/1.62 var(--ke-font-reflective, "Cormorant Garamond", serif);
  max-height: 520px;
  min-height: 210px !important;
  outline: 2px solid transparent;
  outline-offset: 3px;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 12px 14px;
  resize: none;
  scrollbar-color: rgba(241,220,167,.55) transparent;
  text-align: left;
  width: 100%;
}

html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form #ke-journal-body-input::placeholder {
  color: rgba(255,250,240,.7);
  opacity: 1;
  text-align: center;
}

html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form #ke-journal-body-input:placeholder-shown:not(:focus) {
  padding-block-start: clamp(70px, 8vw, 98px);
  text-align: center;
}

html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form #ke-journal-body-input:focus-visible {
  outline-color: rgba(255,240,182,.95) !important;
}

html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form .ke-journal-body-field:focus-within #ke-journal-body-input,
html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form .ke-journal-body-field:has(textarea:not(:placeholder-shown)) #ke-journal-body-input {
  min-height: clamp(300px, 43dvh, 490px) !important;
  padding-block-start: 12px;
  text-align: left;
}

@media (max-width: 720px) {
  html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form .ke-journal-body-field {
    margin-block: 18px 24px;
    min-height: min(82vw, 360px);
    padding: clamp(38px, 11vw, 54px);
    width: min(100%, 360px);
  }

  html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form .ke-journal-body-field:focus-within,
  html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form .ke-journal-body-field:has(textarea:not(:placeholder-shown)) {
    border-radius: clamp(58px, 18vw, 94px);
    min-height: min(126vw, 520px);
    padding: 34px 26px;
    width: 100%;
  }

  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal #ke-journal-form .ke-journal-body-field,
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal #ke-journal-form .ke-journal-body-field:focus-within,
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal #ke-journal-form .ke-journal-body-field:has(textarea:not(:placeholder-shown)) {
    aspect-ratio: auto;
    border-radius: clamp(44px, 14vw, 72px);
    margin-block: 10px 18px;
    min-height: clamp(250px, calc(var(--ke-journal-visual-height, 100dvh) - 320px), 430px);
    padding: 24px 20px;
    width: 100%;
  }

  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal #ke-journal-form #ke-journal-body-input,
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal #ke-journal-form .ke-journal-body-field:focus-within #ke-journal-body-input,
  html.ke-rebrand-mode.ke-journal-writing.ke-journal-keyboard-open #scr-journal #ke-journal-form .ke-journal-body-field:has(textarea:not(:placeholder-shown)) #ke-journal-body-input {
    max-height: 320px;
    min-height: clamp(160px, calc(var(--ke-journal-visual-height, 100dvh) - 430px), 300px) !important;
    scroll-margin-block: 82px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form .ke-journal-body-field,
  html.ke-rebrand-mode #scr-journal #ke-journal-editor:not([hidden]) #ke-journal-form #ke-journal-body-input {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
/* Saved pages keep their full writing and media without editor-only controls. */
#scr-journal #ke-journal-form :is(.ke-journal-personalize, .ke-journal-editor-actions, .ke-journal-reading-actions)[hidden],
#scr-journal .ke-journal-archive-status[hidden] { display: none !important; }
#scr-journal .ke-journal-page-state { color: var(--gold, #d7b56d); margin: 12px auto 18px; max-width: 720px; text-align: center; }
#scr-journal .ke-journal-page-state strong { font-size: 14px; letter-spacing: .04em; }
#scr-journal #ke-journal-saved-page-meta { color: #e3d9c8 !important; font-size: 13px; margin: 24px 0 0; overflow-wrap: anywhere; }
#scr-journal #ke-journal-saved-page-meta:empty { display: none; }
#scr-journal .ke-journal-reading-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 0 auto 26px; max-width: 620px; }
#scr-journal .ke-journal-reading-actions button { flex: 1 1 180px; min-height: 44px; text-transform: none !important; }
#scr-journal .ke-journal-archive-status { color: #f4ead6; padding: 16px; border: 1px solid #90764b; border-radius: 16px; margin-bottom: 20px; }
#scr-journal #ke-journal-archive-status-copy { color: #f4ead6 !important; }
#scr-journal #ke-journal-alert { color: #fffaf0 !important; }
#scr-journal #ke-journal-archive-back { background: #0c2028; border: 1px solid #90764b; border-radius: 999px; color: #f1d79e; font-size: 13px; gap: 8px; height: auto; min-height: 44px; margin-bottom: 18px; padding: 10px 18px; width: fit-content; }
#scr-journal #ke-journal-form:is([data-ke-journal-state="reading"], [data-ke-journal-state="reflection"]) .ke-journal-page-object { cursor: default; touch-action: auto; }
#scr-journal #ke-journal-form:is([data-ke-journal-state="reading"], [data-ke-journal-state="reflection"]) .ke-journal-page-object-remove { display: none !important; }
#scr-journal #ke-journal-form :is(input, textarea)[readonly] { cursor: text; caret-color: transparent; }
#scr-journal #ke-journal-saved-drawing { background: #fffaf0; border-radius: 12px; display: block; width: 100%; height: auto; margin: 16px auto; position: relative; z-index: 1; }
#scr-journal #ke-journal-saved-drawing[hidden] { display: none !important; }
