/* Kē rebrand dashboard. Every rule is mode-scoped so /app remains unchanged. */
html.ke-rebrand-mode #scr-dashboard {
  --kd-navy: #1a2830;
  --kd-navy-soft: #263d46;
  --kd-burgundy: #682d43;
  --kd-teal: #155158;
  --kd-sage: #4a594b;
  --kd-aubergine: #563448;
  --kd-gold: #d3ad5f;
  --kd-gold-light: #efd89d;
  --kd-cream: #f7efe3;
  --kd-paper: #fffdf8;
  --kd-canvas: #f8f3eb;
  --kd-ink: #1f2c32;
  --kd-muted: #647176;
  --kd-line: rgba(26, 40, 48, 0.12);
  background: var(--kd-navy) !important;
  color: var(--kd-ink) !important;
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: hidden;
  padding-bottom: 0;
  transform: none !important;
}

html.ke-rebrand-mode #scr-dashboard * { box-sizing: border-box; }
html.ke-rebrand-mode #scr-dashboard button,
html.ke-rebrand-mode #scr-dashboard input,
html.ke-rebrand-mode #scr-dashboard textarea,
html.ke-rebrand-mode #scr-dashboard select { font: inherit; }
html.ke-rebrand-mode #scr-dashboard a { color: inherit; text-decoration: none; }

html.ke-rebrand-mode .ke-dashboard-header {
  align-items: center;
  background: var(--kd-navy);
  border-bottom: 1px solid rgba(239, 216, 157, .2);
  box-shadow: 0 8px 24px rgba(17, 29, 34, .12);
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  justify-content: space-between;
  min-height: 72px !important;
  padding: max(9px, env(safe-area-inset-top)) clamp(14px, 3vw, 28px) 9px !important;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 20;
}

html.ke-rebrand-mode .ke-dashboard-brand,
html.ke-rebrand-mode .ke-dashboard-header-actions { align-items: center; display: flex; }
html.ke-rebrand-mode .ke-dashboard-brand { flex: 1 1 auto; gap: 10px; max-width: 100%; min-width: 0; overflow: hidden; }
html.ke-rebrand-mode .ke-dashboard-brand img { flex: 0 0 44px; height: 44px; object-fit: contain; width: 44px; }
html.ke-rebrand-mode .ke-dashboard-header-copy { flex: 1 1 auto; max-width: 100%; min-width: 0; overflow: hidden; }
html.ke-rebrand-mode .ke-dashboard-header-copy h1 {
  color: var(--kd-paper) !important;
  font-family: 'Playfair Display', serif;
  font-size: clamp(15px, 2vw, 18px);
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.12;
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html.ke-rebrand-mode .ke-dashboard-header-copy p {
  color: rgba(247, 239, 227, .7) !important;
  font-family: 'Cormorant Garamond', serif;
  font-size: 11px;
  font-style: italic;
  line-height: 1.1;
  margin: 3px 0 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html.ke-rebrand-mode .ke-dashboard-header-actions { flex: 0 0 auto; gap: 8px; min-width: 0; }
html.ke-rebrand-mode .ke-dashboard-icon-button {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(233, 186, 97, 0.3);
  color: var(--kd-gold-light);
  cursor: pointer;
  display: flex;
  height: 44px;
  justify-content: center;
  padding: 0;
  position: relative;
  width: 44px;
}
html.ke-rebrand-mode .ke-dashboard-icon-button { border-radius: 50%; }
html.ke-rebrand-mode .ke-dashboard-icon-button svg { fill: none; height: 20px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 20px; }
html.ke-rebrand-mode .ke-dashboard-icon-button .notif-badge-shared { align-items: center; background: var(--kd-gold-light); border-radius: 8px; color: var(--kd-navy); display: none; font-size: 9px; font-weight: 800; height: 16px; justify-content: center; min-width: 16px; padding: 0 4px; position: absolute; right: -4px; top: -4px; }
html.ke-rebrand-mode .ke-dashboard-header-flame {
  align-items: center;
  background: var(--kd-cream);
  border: 1px solid rgba(233, 186, 97, .62);
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(233, 186, 97, .12);
  color: var(--kd-burgundy);
  display: inline-flex;
  gap: 6px;
  height: 44px;
  justify-content: center;
  min-width: 56px;
  padding: 0 11px;
  text-decoration: none;
}
html.ke-rebrand-mode .ke-dashboard-header-flame:hover { box-shadow: 0 6px 20px rgba(233, 186, 97, .24); transform: translateY(-2px); }
html.ke-rebrand-mode .ke-dashboard-header-flame svg { fill: var(--kd-gold); height: 17px; width: 14px; }
html.ke-rebrand-mode .ke-dashboard-header-flame circle { fill: var(--kd-cream); }
html.ke-rebrand-mode .ke-dashboard-header-flame strong { color: var(--kd-burgundy); font-size: 12px; font-weight: 900; line-height: 1; }

html.ke-rebrand-mode .ke-dashboard-main { margin: 0 auto; max-width: 940px; padding: clamp(14px, 2.5vw, 24px) clamp(13px, 3vw, 24px) calc(138px + env(safe-area-inset-bottom)); width: 100%; }
html.ke-rebrand-mode .ke-dashboard-eyebrow { color: var(--kd-burgundy) !important; font-size: 10px; font-weight: 800; letter-spacing: 1.55px; line-height: 1.2; margin: 0 0 8px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-dashboard-fieldset { border: 0; margin: 0; padding: 0; }
html.ke-rebrand-mode .ke-dashboard-fieldset legend { color: var(--kd-muted); font-size: 13px; margin-bottom: 12px; }
html.ke-rebrand-mode .ke-dashboard-emotions { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
html.ke-rebrand-mode .ke-dashboard-emotions button { background: #fff; border: 1px solid rgba(109,51,70,.25); border-radius: 999px; color: var(--kd-ink); cursor: pointer; font-size: 12px; font-weight: 700; min-height: 42px; padding: 9px 12px; }
html.ke-rebrand-mode .ke-dashboard-emotions button:hover,
html.ke-rebrand-mode .ke-dashboard-emotions button[aria-pressed="true"] { background: var(--kd-burgundy); border-color: var(--kd-burgundy); color: #fff; }
html.ke-rebrand-mode .ke-dashboard-checkin-note textarea { background: #fff; border: 1px solid rgba(26, 40, 48, 0.16); border-radius: 12px; color: var(--kd-ink); outline: 0; padding: 12px 13px; resize: vertical; width: 100%; }
html.ke-rebrand-mode .ke-dashboard-checkin-note textarea:focus { border-color: var(--kd-gold); box-shadow: 0 0 0 3px rgba(200, 165, 88, .15); }
html.ke-rebrand-mode .ke-dashboard-primary-button,
html.ke-rebrand-mode .ke-dashboard-secondary-button { border-radius: 12px; cursor: pointer; font-size: 12px; font-weight: 800; padding: 11px 15px; }
html.ke-rebrand-mode .ke-dashboard-primary-button { background: var(--kd-burgundy); border: 1px solid var(--kd-burgundy); color: #fff; justify-self: start; }
html.ke-rebrand-mode span.ke-dashboard-primary-button { display: inline-block; }
html.ke-rebrand-mode .ke-dashboard-primary-button:disabled { cursor: wait; opacity: .55; }
html.ke-rebrand-mode .ke-dashboard-secondary-button { background: transparent; border: 1px solid var(--kd-gold); color: var(--kd-navy); }
/* Six therapeutic actions orbit one living Flame. */
html.ke-rebrand-mode .ke-dashboard-tools {
  margin: clamp(2px, 1vw, 10px) 0 28px;
  overflow: visible;
  position: relative;
}

html.ke-rebrand-mode .ke-dashboard-tool-grid {
  --kd-circle-size: 34%;
  --kd-circle-height: 22.5%;
  --kd-core-size: 40%;
  --kd-core-height: 24.375%;
  --kd-orbit-radius: 39%;
  aspect-ratio: 390 / 640;
  isolation: isolate;
  margin: 0 auto;
  max-width: 430px;
  position: relative;
  width: min(100%, 430px);
}

html.ke-rebrand-mode .ke-dashboard-circle-action,
html.ke-rebrand-mode .ke-dashboard-circle-core {
  align-items: center;
  aspect-ratio: 1;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  position: absolute;
  text-align: center;
}
html.ke-rebrand-mode .ke-dashboard-tool {
  min-height: 44px;
  transition: filter 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
html.ke-rebrand-mode .ke-dashboard-tool:focus-visible { filter: brightness(1.05) drop-shadow(0 0 8px var(--kd-gold-light)) drop-shadow(0 0 3px #fff); }
html.ke-rebrand-mode .ke-dashboard-circle-action:hover { --kd-lift: -3px; filter: brightness(1.045) saturate(1.04); }
html.ke-rebrand-mode .ke-dashboard-circle-action:active { --kd-lift: 2px; filter: brightness(.99); }

html.ke-rebrand-mode .ke-dashboard-circle-action {
  --kd-lift: 0px;
  background:
    radial-gradient(circle at 31% 22%, rgba(255,255,255,.99) 0 7%, rgba(255,255,255,.58) 14%, transparent 31%),
    linear-gradient(145deg, #fffefa 0%, #f8f0e5 47%, #e4d2b7 78%, #bea06f 100%);
  border: 3px solid #e2c474;
  box-shadow:
    inset 11px 13px 20px rgba(255,255,255,.8),
    inset -14px -18px 24px rgba(94,59,22,.22),
    inset 0 -3px 5px rgba(116,76,25,.22),
    0 5px 0 #9d792d,
    0 16px 27px rgba(2,8,11,.5),
    0 0 18px rgba(241,207,112,.54);
  flex-direction: column;
  height: var(--kd-circle-height);
  overflow: visible;
  padding: clamp(13px, 4vw, 22px);
  transform: translate(-50%, calc(-50% + var(--kd-lift))) scale(var(--kd-press, 1));
  width: var(--kd-circle-size);
  z-index: 4;
}
html.ke-rebrand-mode .ke-dashboard-circle-action:active { --kd-press: .985; }
html.ke-rebrand-mode .ke-dashboard-circle-action::before {
  background: linear-gradient(142deg, rgba(255,255,255,.72), transparent 39%, rgba(143,99,34,.09) 76%);
  border-radius: 50%;
  box-shadow: inset 0 1px 2px rgba(255,255,255,.96);
  content: '';
  inset: 8px;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
html.ke-rebrand-mode .ke-dashboard-circle-action::after,
html.ke-rebrand-mode .ke-dashboard-circle-core::after {
  animation: keDashboardGoldOrbit 4.6s linear infinite;
  background: conic-gradient(from 0deg, transparent 0 18%, rgba(255,249,211,.98) 22%, #f4cf70 27%, transparent 34% 61%, rgba(255,236,154,.82) 67%, transparent 74% 100%);
  border-radius: 50%;
  content: '';
  inset: -7px;
  padding: 3px;
  pointer-events: none;
  position: absolute;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: 3;
}

/* Tight six-point orbit. Side circles intentionally kiss the canvas edge. */
html.ke-rebrand-mode .ke-dashboard-tool--checkin { --kd-angle: -90deg; left: 50%; top: 14.5%; }
html.ke-rebrand-mode .ke-dashboard-tool--breath { --kd-angle: -30deg; left: 84%; top: 35%; }
html.ke-rebrand-mode .ke-dashboard-tool--cheer { --kd-angle: 30deg; left: 84%; top: 65%; }
html.ke-rebrand-mode .ke-dashboard-tool--thirty-day { --kd-angle: 90deg; left: 50%; top: 85.5%; }
html.ke-rebrand-mode .ke-dashboard-tool--intention { --kd-angle: 150deg; left: 16%; top: 65%; }
html.ke-rebrand-mode .ke-dashboard-tool--journal-new { --kd-angle: 210deg; left: 16%; top: 35%; }

html.ke-rebrand-mode .ke-dashboard-tool-title {
  color: #896219 !important;
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: clamp(15px, 4.7vw, 23px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: .96;
  margin: 0;
  max-width: 10ch;
  position: relative;
  text-wrap: balance;
  text-shadow: 0 1px 0 rgba(255,255,255,.86), 0 2px 3px rgba(82,41,24,.14);
  z-index: 2;
}
html.ke-rebrand-mode .ke-dashboard-tool-title > span { display: block; }
html.ke-rebrand-mode .ke-dashboard-tool--checkin .ke-dashboard-tool-title {
  max-width: none;
  white-space: nowrap;
}
html.ke-rebrand-mode .ke-dashboard-tool-note {
  color: #7b354b;
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(7px, 1.9vw, 9px);
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1;
  margin-top: 7px;
  position: relative;
  text-transform: uppercase;
  z-index: 2;
}
html.ke-rebrand-mode .ke-dashboard-tool--cheer .ke-dashboard-tool-title,
html.ke-rebrand-mode .ke-dashboard-tool--intention .ke-dashboard-tool-title { font-size: clamp(14px, 4.1vw, 20px); }

/* A stationary fuel core marks an unfinished daily action. It matches the core
   of the reward Spark without the flight tail or motion. The full state remains
   in the parent action's accessible name. */
html.ke-rebrand-mode #ke-dashboard-live-constellation .ke-dashboard-spark-pending {
  animation: none;
  --ke-spark-comet-height: clamp(20px, 19%, 22px);
  --ke-spark-comet-width: clamp(20px, 19%, 22px);
  bottom: clamp(8px, 7%, 11px);
  left: 50%;
  pointer-events: none;
  position: absolute;
  transform: translateX(-50%);
  transform-origin: center;
  z-index: 8;
}

/* Keep completion hooks available without showing embers inside dashboard circles. */
html.ke-rebrand-mode #ke-dashboard-live-constellation .ke-dashboard-spark-pending,
html.ke-rebrand-mode #ke-dashboard-live-constellation .ke-dashboard-task-count,
html.ke-rebrand-mode #ke-dashboard-live-constellation:not([data-ke-flow-state="home"]) .ke-dashboard-spark-pending,
html.ke-rebrand-mode #ke-dashboard-live-constellation [data-ke-bloom-dynamic="true"] .ke-dashboard-spark-pending,
html.ke-rebrand-mode #ke-dashboard-live-constellation [data-ke-daily-complete="true"] .ke-dashboard-spark-pending,
html.ke-rebrand-mode #ke-dashboard-live-constellation .ke-dashboard-spark-pending[hidden] {
  display: none !important;
}

/* Journal and Watch & Grow retain their existing completion hooks, but the
   first-dashboard cue is a quiet ember rather than a numeric badge. */
html.ke-rebrand-mode #ke-dashboard-live-constellation .ke-dashboard-task-count {
  animation: keDashboardTaskEmberPulse 3.4s ease-in-out infinite;
  background: url('/app/images/rebrand-fuel-spark.svg?v=20260826-stationary1') center / contain no-repeat;
  border: 0;
  border-radius: 50%;
  bottom: clamp(8px, 7%, 11px);
  box-shadow: none;
  color: transparent;
  display: block;
  font-size: 0;
  height: 17px;
  left: 50%;
  line-height: 0;
  min-width: 17px;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
  position: absolute;
  text-indent: -9999px;
  transform: translateX(-50%);
  width: 17px;
  z-index: 9;
}

@keyframes keDashboardTaskEmberPulse {
  0%,100% { filter: brightness(.86) drop-shadow(0 0 4px rgba(255, 188, 69, .72)) drop-shadow(0 0 8px rgba(229, 67, 26, .48)); }
  50% { filter: brightness(1.13) drop-shadow(0 0 5px rgba(255, 188, 69, .96)) drop-shadow(0 0 12px rgba(229, 67, 26, .72)); }
}

html.ke-rebrand-mode #ke-dashboard-live-constellation:not([data-ke-flow-state="home"]) .ke-dashboard-task-count,
html.ke-rebrand-mode #ke-dashboard-live-constellation [data-ke-bloom-dynamic="true"] .ke-dashboard-task-count,
html.ke-rebrand-mode #ke-dashboard-live-constellation [data-ke-daily-complete="true"] .ke-dashboard-task-count,
html.ke-rebrand-mode #ke-dashboard-live-constellation .ke-dashboard-task-count[hidden] {
  display: none !important;
}

/* Community updates use the Flame language, with one shared unread total for
   new posts, tags, replies/comments, and Sparks received. */
html.ke-rebrand-mode .ke-community-unread-flame {
  animation: keCommunityUnreadFlame 2.5s ease-in-out infinite;
  height: 42px;
  pointer-events: none;
  position: absolute;
  width: 38px;
  z-index: 10;
}

html.ke-rebrand-mode .ke-community-unread-flame[hidden] { display: none !important; }

html.ke-rebrand-mode .ke-community-unread-flame > i {
  background:
    radial-gradient(circle at 49% 66%, #fff7d6 0 12%, #efbf55 13% 27%, transparent 28%),
    linear-gradient(155deg, #fff0ac 0 14%, #d8a743 39%, #872f49 72%, #461625 100%);
  clip-path: polygon(51% 0, 65% 22%, 91% 51%, 85% 75%, 68% 94%, 50% 100%, 30% 92%, 12% 75%, 8% 52%, 28% 27%, 31% 51%);
  filter: drop-shadow(0 0 4px rgba(255, 232, 155, .8)) drop-shadow(0 3px 3px rgba(3, 15, 20, .62));
  inset: 0;
  position: absolute;
}

html.ke-rebrand-mode .ke-community-unread-flame > strong {
  align-items: center;
  background: #0d242c;
  border: 1px solid rgba(255, 240, 183, .92);
  border-radius: 999px;
  bottom: -2px;
  box-shadow: 0 2px 5px rgba(2, 12, 16, .58);
  color: #fff8df !important;
  display: flex;
  font-family: "DM Sans", sans-serif;
  font-size: 10px;
  font-weight: 800;
  height: 19px;
  justify-content: center;
  letter-spacing: -.02em;
  line-height: 1;
  min-width: 19px;
  padding: 0 4px;
  position: absolute;
  right: -3px;
}

html.ke-rebrand-mode .ke-community-unread-flame--dashboard {
  bottom: clamp(7px, 7%, 10px);
  height: 22px;
  left: calc(50% - 10px);
  right: auto;
  top: auto;
  width: 20px;
}

html.ke-rebrand-mode .ke-community-unread-flame--dashboard > strong {
  bottom: -1px;
  font-size: 7px;
  height: 14px;
  min-width: 14px;
  padding-inline: 3px;
  right: -4px;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-community-button[data-ke-community-notification-control] {
  overflow: visible !important;
}

html.ke-rebrand-mode #t-resources { position: relative; }

html.ke-rebrand-mode .ke-community-unread-flame--nav {
  height: 31px;
  left: calc(50% + 7px);
  top: 2px;
  width: 28px;
}

html.ke-rebrand-mode .ke-community-unread-flame--nav > strong {
  bottom: -3px;
  font-size: 8px;
  height: 17px;
  min-width: 17px;
  right: -5px;
}

html.ke-rebrand-mode .ke-community-unread-flame--feed {
  height: 28px;
  right: -2px;
  top: -6px;
  width: 25px;
}

html.ke-rebrand-mode .ig-icon-btn[data-ke-community-notification-control] { position: relative; }

html.ke-rebrand-mode .ke-community-unread-flame--feed > strong {
  bottom: -4px;
  font-size: 8px;
  height: 16px;
  min-width: 16px;
  right: 0;
}

@keyframes keCommunityUnreadFlame {
  0%, 100% { filter: brightness(.94); transform: translateY(0) scale(.96); }
  50% { filter: brightness(1.08); transform: translateY(-1px) scale(1.035); }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode .ke-community-unread-flame { animation: none !important; }
}

/* Use the Keeper's new living Flame asset in the shared core. */
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-picture,
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-picture img {
  display: block;
  height: 100%;
  object-fit: contain;
  width: 100%;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-svg,
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-ember {
  display: none !important;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] {
  --kd-core-height: 36.4%;
}

html.ke-rebrand-mode .ke-dashboard-flame-core {
  background:
    radial-gradient(circle at 31% 22%, rgba(73,107,118,.72), transparent 29%),
    radial-gradient(circle at 50% 48%, #263f49 0, #14262e 63%, #09151a 100%) padding-box,
    linear-gradient(135deg, #fff0a9, #a87624 30%, #ffeab0 51%, #8b621e 72%, #f1d37f) border-box;
  border: 4px solid transparent;
  box-shadow:
    inset 9px 11px 18px rgba(255,255,255,.08),
    inset -13px -16px 22px rgba(0,0,0,.34),
    0 5px 0 #76531b,
    0 18px 32px rgba(0,0,0,.55),
    0 0 28px rgba(241,207,112,.5);
  height: var(--kd-core-height);
  left: 50%;
  padding: clamp(13px, 4vw, 24px);
  top: 50%;
  transform: translate(-50%, -50%);
  width: var(--kd-core-size);
  z-index: 6;
}
html.ke-rebrand-mode .ke-dashboard-flame-core::before {
  background: linear-gradient(145deg, rgba(255,255,255,.12), transparent 42%, rgba(0,0,0,.14) 78%);
  border: 1px solid rgba(239,216,157,.25);
  border-radius: 50%;
  box-shadow: inset 0 5px 14px rgba(255,255,255,.06), inset 0 -9px 16px rgba(0,0,0,.18);
  content: '';
  inset: 9px;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

html.ke-rebrand-mode .ke-dashboard-tool-content {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2;
}
html.ke-rebrand-mode .ke-dashboard-flame-medallion {
  align-items: center;
  background: var(--kd-burgundy);
  border: 2px solid var(--kd-gold);
  border-radius: 50%;
  box-shadow: inset 0 0 0 4px rgba(17,39,47,.5), 0 5px 14px rgba(3,14,19,.34);
  display: flex;
  flex: 0 0 clamp(45px, 13vw, 68px);
  height: clamp(45px, 13vw, 68px);
  justify-content: center;
  margin-bottom: clamp(4px, 1.2vw, 8px);
  position: relative;
  width: clamp(45px, 13vw, 68px);
}
html.ke-rebrand-mode .ke-dashboard-flame-aura { border: 1px solid rgba(239,216,157,.35); border-radius: 50%; inset: -6px; position: absolute; }
html.ke-rebrand-mode .ke-dashboard-ribbon-flame { filter: drop-shadow(0 4px 6px rgba(5,14,18,.32)); height: 68%; overflow: visible; width: 68%; }
html.ke-rebrand-mode .ke-dashboard-ribbon-gold { fill: var(--kd-gold-light); }
html.ke-rebrand-mode .ke-dashboard-ribbon-burgundy { fill: #873650; }
html.ke-rebrand-mode .ke-dashboard-ribbon-paper { fill: #fffaf2; }
html.ke-rebrand-mode .ke-dashboard-ribbon-glint { fill: none; opacity: .52; stroke: #fff4db; stroke-linecap: round; stroke-width: 1.1; }
html.ke-rebrand-mode .ke-dashboard-flame-status-content h3 { color: #fffaf2 !important; font-family: 'Playfair Display', serif; font-size: clamp(17px, 5.2vw, 25px); font-weight: 600; letter-spacing: -.025em; line-height: 1.02; margin: 0; max-width: 10ch; text-wrap: balance; }
html.ke-rebrand-mode .ke-dashboard-sr-only { border: 0 !important; clip: rect(0 0 0 0) !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-dashboard-connectors { inset: 0; pointer-events: none; position: absolute; z-index: 1; }
html.ke-rebrand-mode .ke-dashboard-connector {
  animation: keDashboardBeamGlow 3.1s ease-in-out infinite;
  background: linear-gradient(90deg, #72501c 0, #e1bd61 20%, #fff4bd 48%, #c68e2e 72%, #6a4715 100%);
  border: 1px solid rgba(255,239,176,.9);
  border-radius: 999px;
  box-shadow: 0 0 5px rgba(255,247,211,.92), 0 0 16px rgba(229,190,93,.7), inset 1px 0 2px rgba(255,255,255,.88), inset -2px 0 3px rgba(87,52,10,.48);
  height: 28.5%;
  left: 50%;
  margin-left: clamp(-4px, -.8%, -2.5px);
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform-origin: 50% 0;
  width: clamp(5px, 1.65%, 8px);
}
html.ke-rebrand-mode .ke-dashboard-connector--north { transform: rotate(180deg); }
html.ke-rebrand-mode .ke-dashboard-connector--north-east { animation-delay: -.52s; transform: rotate(-120deg); }
html.ke-rebrand-mode .ke-dashboard-connector--south-east { animation-delay: -1.04s; transform: rotate(-60deg); }
html.ke-rebrand-mode .ke-dashboard-connector--south { animation-delay: -1.56s; transform: rotate(0deg); }
html.ke-rebrand-mode .ke-dashboard-connector--south-west { animation-delay: -2.08s; transform: rotate(60deg); }
html.ke-rebrand-mode .ke-dashboard-connector--north-west { animation-delay: -2.6s; transform: rotate(120deg); }
html.ke-rebrand-mode .ke-dashboard-connector--north,
html.ke-rebrand-mode .ke-dashboard-connector--south { height: 38%; }

@keyframes keDashboardGoldOrbit { to { transform: rotate(360deg); } }
@keyframes keDashboardBeamGlow {
  0%, 100% { filter: brightness(.95); opacity: .86; }
  50% { filter: brightness(1.28); opacity: 1; }
}

/* The single dashboard constellation: six healing actions feed one living Flame. */
html.ke-rebrand-mode .ke-dashboard-orbit--hex {
  margin-top: 0;
}

/* Long north/south beams make the full-height constellation feel anchored. */
html.ke-rebrand-mode .ke-dashboard-orbit--hex .ke-dashboard-tool--checkin { top: 14.5%; }
html.ke-rebrand-mode .ke-dashboard-orbit--hex .ke-dashboard-tool--thirty-day { top: 85.5%; }

html.ke-rebrand-mode .ke-dashboard-orbit--hex .ke-dashboard-circle-action,
html.ke-rebrand-mode .ke-dashboard-orbit--hex .ke-dashboard-circle-core {
  background: linear-gradient(125deg, #fff0ab 0%, #ba852d 25%, #fff1b5 48%, #9a6922 70%, #f5d477 100%);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  filter: drop-shadow(0 7px 0 #72501c) drop-shadow(0 17px 21px rgba(0, 0, 0, .52)) drop-shadow(0 0 13px rgba(255, 218, 113, .58));
}

html.ke-rebrand-mode .ke-dashboard-orbit--hex .ke-dashboard-circle-action:hover {
  filter: brightness(1.045) saturate(1.04) drop-shadow(0 8px 0 #72501c) drop-shadow(0 19px 24px rgba(0, 0, 0, .55)) drop-shadow(0 0 18px rgba(255, 225, 132, .72));
}

html.ke-rebrand-mode .ke-dashboard-orbit--hex .ke-dashboard-circle-action::before,
html.ke-rebrand-mode .ke-dashboard-orbit--hex .ke-dashboard-circle-core::before {
  background:
    radial-gradient(circle at 31% 21%, rgba(255,255,255,.99) 0 7%, rgba(255,255,255,.58) 14%, transparent 31%),
    linear-gradient(145deg, #fffefa 0%, #f8f0e5 47%, #e4d2b7 78%, #bea06f 100%);
  border: 0;
  border-radius: 0;
  box-shadow: inset 11px 13px 20px rgba(255,255,255,.8), inset -14px -18px 24px rgba(94,59,22,.22), inset 0 -3px 5px rgba(116,76,25,.22);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  inset: 5px;
  z-index: 1;
}

html.ke-rebrand-mode .ke-dashboard-orbit--hex .ke-dashboard-circle-core::before {
  background:
    radial-gradient(circle at 31% 22%, rgba(73,107,118,.72), transparent 29%),
    radial-gradient(circle at 50% 48%, #263f49 0, #14262e 63%, #09151a 100%);
  box-shadow: inset 9px 11px 18px rgba(255,255,255,.08), inset -13px -16px 22px rgba(0,0,0,.34);
}

html.ke-rebrand-mode .ke-dashboard-orbit--hex .ke-dashboard-circle-action::after,
html.ke-rebrand-mode .ke-dashboard-orbit--hex .ke-dashboard-circle-core::after {
  animation: keDashboardHexShimmer 3.4s linear infinite;
  background: linear-gradient(110deg, transparent 0 31%, rgba(255,255,238,.98) 43%, #f6cf69 50%, rgba(255,239,179,.94) 56%, transparent 68% 100%);
  background-size: 260% 100%;
  border-radius: 0;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  inset: 0;
  padding: 3px;
}

@keyframes keDashboardHexShimmer {
  from { background-position: 130% 0; }
  to { background-position: -130% 0; }
}

/* The six actions stay sculpted hexagons while the Flame is the circular heart
   of the constellation. */
html.ke-rebrand-mode .ke-dashboard-orbit--round-core .ke-dashboard-round-core,
html.ke-rebrand-mode .ke-dashboard-orbit--round-core .ke-dashboard-round-core::before,
html.ke-rebrand-mode .ke-dashboard-orbit--round-core .ke-dashboard-round-core::after {
  border-radius: 50%;
  clip-path: none;
}
html.ke-rebrand-mode .ke-dashboard-orbit--round-core .ke-dashboard-round-core {
  filter: drop-shadow(0 7px 0 #72501c) drop-shadow(0 17px 24px rgba(0,0,0,.56)) drop-shadow(0 0 22px rgba(255,222,123,.72));
}

/* The selected living Flame now uses the preferred circular heart. */
html.ke-rebrand-mode .ke-dashboard-orbit--live-flame .ke-dashboard-live-flame-core,
html.ke-rebrand-mode .ke-dashboard-orbit--live-flame .ke-dashboard-live-flame-core::before,
html.ke-rebrand-mode .ke-dashboard-orbit--live-flame .ke-dashboard-live-flame-core::after {
  border-radius: 50%;
  clip-path: none;
}
html.ke-rebrand-mode .ke-dashboard-orbit--live-flame .ke-dashboard-live-flame-core {
  filter: drop-shadow(0 7px 0 #72501c) drop-shadow(0 17px 24px rgba(0,0,0,.58)) drop-shadow(0 0 28px rgba(255,221,116,.78));
}

/* The living Flame dimensions, brightness, glow and tempo are set from Keeper
   activity in rebrand-dashboard.js. */
html.ke-rebrand-mode .ke-dashboard-live-flame-core {
  --kd-live-flame-size: 46px;
  --kd-live-flame-glow: 20px;
  --kd-live-flame-brightness: 1;
  --kd-live-flame-duration: 1.05s;
  --kd-live-glow-duration: 1.42s;
}
html.ke-rebrand-mode .ke-dashboard-live-flame {
  align-items: flex-end;
  display: flex;
  height: var(--kd-live-flame-size);
  justify-content: center;
  margin-bottom: clamp(5px, 1.4vw, 9px);
  overflow: visible;
  position: relative;
  width: calc(var(--kd-live-flame-size) * .75);
}
html.ke-rebrand-mode .ke-dashboard-live-flame-svg {
  animation: keDashboardLivingFlame var(--kd-live-flame-duration) ease-in-out infinite alternate;
  filter: brightness(var(--kd-live-flame-brightness)) drop-shadow(0 3px 4px rgba(5,14,18,.45)) drop-shadow(0 0 calc(var(--kd-live-flame-glow) * .45) rgba(255,113,30,.95)) drop-shadow(0 0 var(--kd-live-flame-glow) rgba(255,211,83,.78));
  height: 100%;
  overflow: visible;
  position: relative;
  transform-origin: 50% 92%;
  z-index: 2;
  width: 100%;
}
html.ke-rebrand-mode .ke-dashboard-fire-outer,
html.ke-rebrand-mode .ke-dashboard-fire-side,
html.ke-rebrand-mode .ke-dashboard-fire-middle,
html.ke-rebrand-mode .ke-dashboard-fire-inner,
html.ke-rebrand-mode .ke-dashboard-fire-hotspot {
  transform-box: fill-box;
  transform-origin: 50% 100%;
}
html.ke-rebrand-mode .ke-dashboard-fire-outer { animation: keDashboardFireOuter var(--kd-live-flame-duration) cubic-bezier(.45,.05,.55,.95) infinite alternate; }
html.ke-rebrand-mode .ke-dashboard-fire-side { animation: keDashboardFireSide var(--kd-live-glow-duration) ease-in-out infinite alternate-reverse; opacity: .9; }
html.ke-rebrand-mode .ke-dashboard-fire-middle { animation: keDashboardFireMiddle var(--kd-live-flame-duration) ease-in-out infinite alternate-reverse; }
html.ke-rebrand-mode .ke-dashboard-fire-inner { animation: keDashboardFireInner var(--kd-live-glow-duration) ease-in-out infinite alternate; }
html.ke-rebrand-mode .ke-dashboard-fire-hotspot { animation: keDashboardFireHotspot var(--kd-live-flame-duration) ease-in-out infinite alternate-reverse; }
html.ke-rebrand-mode .ke-dashboard-live-flame-glow {
  animation: keDashboardLivingGlow var(--kd-live-glow-duration) ease-in-out infinite alternate;
  background: radial-gradient(ellipse at 50% 68%, rgba(255,250,205,.95) 0, rgba(255,191,62,.62) 29%, rgba(239,82,28,.26) 55%, transparent 76%);
  border-radius: 50%;
  filter: blur(6px);
  inset: -42% -70% -22%;
  opacity: .84;
  position: absolute;
}
html.ke-rebrand-mode .ke-dashboard-live-ember {
  animation: keDashboardFireEmber var(--kd-live-glow-duration) ease-out infinite;
  background: #fff2a6;
  border-radius: 50%;
  bottom: 20%;
  box-shadow: 0 0 5px #ff9e1f, 0 0 10px rgba(255,91,22,.8);
  height: 3px;
  opacity: 0;
  position: absolute;
  width: 3px;
  z-index: 3;
}
html.ke-rebrand-mode .ke-dashboard-live-ember--one { left: 18%; }
html.ke-rebrand-mode .ke-dashboard-live-ember--two { animation-delay: -.46s; left: 64%; transform: scale(.7); }
html.ke-rebrand-mode .ke-dashboard-live-ember--three { animation-delay: -.9s; left: 45%; transform: scale(.55); }
html.ke-rebrand-mode .ke-dashboard-live-flame-core .ke-dashboard-flame-status-content h3 {
  margin-top: 1px;
}

@keyframes keDashboardLivingFlame {
  0% { transform: translate3d(-.6px, .5px, 0) rotate(-1.5deg) scale(.98, 1.015); }
  42% { transform: translate3d(.7px, -1px, 0) rotate(1deg) scale(1.025, .985); }
  72% { transform: translate3d(-.3px, -1.5px, 0) rotate(-.5deg) scale(.99, 1.04); }
  100% { transform: translate3d(.5px, 0, 0) rotate(1.4deg) scale(1.02, .99); }
}
@keyframes keDashboardLivingGlow {
  from { opacity: .58; transform: scale(.9, .86); }
  to { opacity: .98; transform: scale(1.13, 1.06); }
}
@keyframes keDashboardFireOuter {
  0% { transform: skewX(-1.8deg) scale(.985, 1.01); }
  48% { transform: skewX(1.2deg) scale(1.02, .985); }
  100% { transform: skewX(-.6deg) scale(.995, 1.04); }
}
@keyframes keDashboardFireSide {
  from { opacity: .62; transform: translateY(1px) scale(.96, .98); }
  to { opacity: 1; transform: translateY(-1px) scale(1.035, 1.025); }
}
@keyframes keDashboardFireMiddle {
  from { transform: translateX(-.6px) scale(.96, 1.03); }
  to { transform: translateX(.8px) scale(1.035, .965); }
}
@keyframes keDashboardFireInner {
  from { opacity: .86; transform: translateY(1px) scale(.91, .96); }
  to { opacity: 1; transform: translateY(-1px) scale(1.05, 1.07); }
}
@keyframes keDashboardFireHotspot {
  from { opacity: .82; transform: translateY(1px) scale(.82, .9); }
  to { opacity: 1; transform: translateY(-1px) scale(1.06, 1.02); }
}
@keyframes keDashboardFireEmber {
  0%, 30% { opacity: 0; transform: translate3d(0, 0, 0) scale(.45); }
  42% { opacity: .95; }
  100% { opacity: 0; transform: translate3d(7px, calc(var(--kd-live-flame-size) * -.75), 0) scale(.08); }
}

html.ke-rebrand-mode .ke-dashboard-support {
  align-items: center;
  background: rgba(255, 253, 248, .96);
  border: 1px solid rgba(239, 216, 157, .5);
  border-left: 3px solid var(--kd-burgundy);
  border-radius: 15px;
  box-shadow: 0 12px 30px rgba(3, 10, 14, .26), inset 0 1px 0 rgba(255, 255, 255, .84);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  min-height: 68px;
  padding: 12px 16px;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}
html.ke-rebrand-mode .ke-dashboard-support strong,
html.ke-rebrand-mode .ke-dashboard-support span { display: block; }
html.ke-rebrand-mode .ke-dashboard-support strong { color: var(--kd-navy); font-size: 13px; }
html.ke-rebrand-mode .ke-dashboard-support span { color: var(--kd-muted); font-size: 11px; margin-top: 3px; }
html.ke-rebrand-mode .ke-dashboard-support #ke-dashboard-support-button { color: var(--kd-burgundy); cursor: pointer; font-size: 10px; font-weight: 800; line-height: 1.25; margin-top: 0; text-align: right; white-space: nowrap; }
html.ke-rebrand-mode a.ke-dashboard-support { color: inherit; text-decoration: none; }
html.ke-rebrand-mode a.ke-dashboard-support:hover { background: var(--kd-paper); border-color: rgba(239,216,157,.72); transform: translateY(-2px); }
html.ke-rebrand-mode a.ke-dashboard-support:active { transform: scale(.985); }

html.ke-rebrand-mode #scr-dashboard :is(a, button, [role="button"]):focus-visible { outline: 3px solid var(--kd-gold-light) !important; outline-offset: 3px !important; }
html.ke-rebrand-mode #scr-dashboard :is(input, textarea, select):focus-visible { outline: 3px solid var(--kd-gold) !important; outline-offset: 3px !important; }
html.ke-rebrand-mode .ke-dashboard-alert { background: var(--kd-navy); border-radius: 12px; color: #fff; font-size: 12px; margin: -12px 0 20px; padding: 12px 15px; }
html.ke-rebrand-mode .ke-dashboard-alert[hidden] { display: none; }

@keyframes keDashboardBlockShimmer {
  0% { transform: translateX(-100%); }
  55%, 100% { transform: translateX(100%); }
}

html.ke-rebrand-mode .ke-dashboard-checkin-modal { align-items: center; display: flex; inset: 0; justify-content: center; padding: 18px; position: fixed; z-index: 590; }
html.ke-rebrand-mode .ke-dashboard-checkin-modal[hidden] { display: none; }
html.ke-rebrand-mode .ke-dashboard-checkin-backdrop { background: rgba(17,28,33,.74); inset: 0; position: absolute; }
html.ke-rebrand-mode .ke-dashboard-checkin-card { background: var(--kd-paper); border: 1px solid rgba(200,165,88,.68); border-radius: 25px; box-shadow: 0 28px 90px rgba(11,20,24,.38); max-height: calc(100vh - 36px); max-width: 530px; overflow-x: hidden; overflow-y: auto; padding: clamp(25px, 5vw, 39px); position: relative; width: 100%; z-index: 1; }
html.ke-rebrand-mode .ke-dashboard-checkin-card::before { animation: keDashboardBlockShimmer 5s ease-in-out infinite; background: linear-gradient(115deg, transparent 37%, rgba(233,186,97,.2) 50%, transparent 63%); border-radius: inherit; content: ''; inset: 0; pointer-events: none; position: absolute; transform: translateX(-100%); z-index: 4; }
html.ke-rebrand-mode .ke-dashboard-checkin-card > * { position: relative; z-index: 2; }
html.ke-rebrand-mode .ke-dashboard-checkin-close { background: transparent; border: 0; color: var(--kd-muted); cursor: pointer; font-size: 27px; line-height: 1; padding: 5px; position: absolute !important; right: 14px; top: 11px; z-index: 5 !important; }
html.ke-rebrand-mode .ke-dashboard-checkin-header { align-items: center; border-bottom: 1px solid rgba(200,165,88,.28); display: flex; justify-content: space-between; margin-bottom: 14px; padding: 0 35px 13px 0; }
html.ke-rebrand-mode .ke-dashboard-checkin-header .ke-dashboard-eyebrow { display: block; margin-bottom: 3px; }
html.ke-rebrand-mode .ke-dashboard-checkin-header strong { color: var(--kd-muted); display: block; font-family: 'Cormorant Garamond', serif; font-size: 12px; font-style: italic; font-weight: 500; }
html.ke-rebrand-mode .ke-dashboard-checkin-count { color: var(--kd-burgundy); font-size: 10px; font-weight: 900; letter-spacing: .7px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-dashboard-checkin-progress { background: rgba(26,40,48,.1); border-radius: 3px; height: 5px; margin-bottom: 28px; overflow: hidden; }
html.ke-rebrand-mode .ke-dashboard-checkin-progress i { background: linear-gradient(90deg, var(--kd-gold), var(--kd-gold-light)); display: block; height: 100%; transition: width .25s ease; width: 33.333%; }
html.ke-rebrand-mode .ke-dashboard-checkin-step[hidden],
html.ke-rebrand-mode .ke-dashboard-checkin-finish[hidden],
html.ke-rebrand-mode .ke-dashboard-checkin-card form[hidden] { display: none; }
html.ke-rebrand-mode .ke-dashboard-checkin-step > h2,
html.ke-rebrand-mode .ke-dashboard-checkin-finish > h2 { color: var(--kd-navy) !important; font-family: 'Playfair Display', serif; font-size: clamp(30px, 6vw, 40px); letter-spacing: -.5px; line-height: 1.03; margin: 0; }
html.ke-rebrand-mode .ke-dashboard-checkin-step > p,
html.ke-rebrand-mode .ke-dashboard-checkin-finish > p { color: var(--kd-muted) !important; font-family: 'Cormorant Garamond', serif; font-size: 16px; font-style: italic; line-height: 1.35; margin: 10px 0 23px; }
html.ke-rebrand-mode .ke-dashboard-checkin-note { border: 1px solid rgba(200,165,88,.52); border-radius: 15px; display: block; margin-top: 24px; padding: 12px; }
html.ke-rebrand-mode .ke-dashboard-checkin-note > span { color: var(--kd-burgundy); display: block; font-size: 8px; font-weight: 900; letter-spacing: .7px; margin: 0 0 6px; }
html.ke-rebrand-mode .ke-dashboard-checkin-note textarea { border: 0; border-radius: 0; font-family: 'Cormorant Garamond', serif; font-size: 15px; font-style: italic; line-height: 1.35; min-height: 75px; padding: 0; }
html.ke-rebrand-mode .ke-dashboard-checkin-note textarea:focus { box-shadow: none; }
html.ke-rebrand-mode .ke-dashboard-needs { display: grid; gap: 10px; }
html.ke-rebrand-mode .ke-dashboard-needs button { align-items: center; background: #fff; border: 1px solid rgba(200,165,88,.45); border-radius: 14px; color: var(--kd-navy); cursor: pointer; display: grid; gap: 4px; padding: 13px 15px; text-align: left; }
html.ke-rebrand-mode .ke-dashboard-needs button:hover,
html.ke-rebrand-mode .ke-dashboard-needs button[aria-pressed="true"] { background: var(--kd-navy); border-color: var(--kd-navy); color: #fff; }
html.ke-rebrand-mode .ke-dashboard-needs strong { color: inherit; font-size: 13px; }
html.ke-rebrand-mode .ke-dashboard-needs small { color: inherit; font-size: 10px; opacity: .67; }
html.ke-rebrand-mode .ke-dashboard-checkin-review { background: var(--kd-cream); border: 1px solid rgba(200,165,88,.45); border-radius: 15px; display: grid; gap: 6px; margin: 23px 0; padding: 17px; }
html.ke-rebrand-mode .ke-dashboard-checkin-review > span { color: var(--kd-burgundy); font-size: 8px; font-weight: 900; letter-spacing: .8px; }
html.ke-rebrand-mode .ke-dashboard-checkin-review strong { color: var(--kd-navy); font-family: 'Playfair Display', serif; font-size: 19px; }
html.ke-rebrand-mode .ke-dashboard-checkin-review small { color: var(--kd-muted); font-size: 11px; }
html.ke-rebrand-mode .ke-dashboard-checkin-privacy { align-items: center; color: var(--kd-muted) !important; display: flex; font-family: inherit !important; font-size: 10px !important; font-style: normal !important; gap: 9px; margin: 0 !important; }
html.ke-rebrand-mode .ke-dashboard-checkin-privacy i { background: rgba(233,186,97,.28); border-radius: 50%; flex: 0 0 15px; height: 15px; }
html.ke-rebrand-mode .ke-dashboard-checkin-actions { align-items: center; display: flex; gap: 10px; justify-content: space-between; margin-top: 25px; }
html.ke-rebrand-mode .ke-dashboard-checkin-actions button,
html.ke-rebrand-mode .ke-dashboard-checkin-done { border-radius: 999px; cursor: pointer; font-size: 10px; font-weight: 900; min-height: 44px; padding: 11px 20px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-dashboard-checkin-back { background: transparent; border: 1px solid rgba(109,51,70,.28); color: var(--kd-burgundy); }
html.ke-rebrand-mode .ke-dashboard-checkin-next,
html.ke-rebrand-mode .ke-dashboard-checkin-submit,
html.ke-rebrand-mode .ke-dashboard-checkin-done { background: var(--kd-gold-light); border: 1px solid var(--kd-gold-light); color: var(--kd-navy); flex: 1; }
html.ke-rebrand-mode .ke-dashboard-checkin-actions button[hidden] { display: none; }
html.ke-rebrand-mode .ke-dashboard-checkin-actions button:disabled { cursor: not-allowed; opacity: .42; }
html.ke-rebrand-mode .ke-dashboard-checkin-finish { text-align: center; }
html.ke-rebrand-mode .ke-dashboard-checkin-finish .ke-dashboard-eyebrow { display: block; margin-bottom: 18px; }
html.ke-rebrand-mode .ke-dashboard-checkin-flame { align-items: center; background: var(--kd-burgundy); border: 10px solid rgba(233,186,97,.17); border-radius: 50%; color: var(--kd-gold-light); display: flex; height: 112px; justify-content: center; margin: 0 auto 22px; width: 112px; }
html.ke-rebrand-mode .ke-dashboard-checkin-flame svg { fill: currentColor; height: 62px; width: 50px; }
html.ke-rebrand-mode .ke-dashboard-checkin-flame circle { fill: var(--kd-paper); }
html.ke-rebrand-mode .ke-dashboard-checkin-finish .ke-dashboard-checkin-review { text-align: left; }
html.ke-rebrand-mode .ke-dashboard-checkin-done { display: block; margin-top: 18px; width: 100%; }

html.ke-rebrand-mode .ke-dashboard-thirty-day-modal { align-items: center; display: flex; inset: 0; justify-content: center; padding: 18px; position: fixed; z-index: 590; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-modal[hidden] { display: none; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-backdrop { background: rgba(12,20,24,.75); inset: 0; position: absolute; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-card { background: var(--kd-paper); border: 1px solid rgba(200,165,88,.62); border-radius: 24px; box-shadow: 0 30px 90px rgba(0,0,0,.34); max-height: calc(100vh - 36px); max-width: 760px; overflow: hidden; position: relative; width: 100%; z-index: 1; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-header { align-items: center; border-bottom: 1px solid var(--kd-line); display: grid; gap: 14px; grid-template-columns: auto 1fr auto; padding: 20px 24px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-header h2 { color: var(--kd-navy) !important; font-family: 'Playfair Display', serif; font-size: 27px; line-height: 1; margin: 0; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-header p { color: var(--kd-muted) !important; font-family: 'Cormorant Garamond', serif; font-size: 14px; font-style: italic; margin: 4px 0 0; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-header .ke-dashboard-eyebrow { margin-bottom: 5px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-back { align-items: center; background: transparent; border: 1px solid rgba(109,51,70,.24); border-radius: 50%; color: var(--kd-burgundy); cursor: pointer; display: flex; font-size: 17px; height: 38px; justify-content: center; padding: 0; width: 38px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-mini-flame { align-items: center; background: var(--kd-cream); border: 1px solid rgba(200,165,88,.5); border-radius: 999px; color: var(--kd-gold); display: flex; gap: 6px; padding: 8px 12px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-mini-flame svg { fill: currentColor; height: 18px; width: 15px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-mini-flame circle { fill: var(--kd-cream); }
html.ke-rebrand-mode .ke-dashboard-thirty-day-mini-flame strong { color: var(--kd-burgundy); font-size: 11px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-alert { background: #fff4df; border-bottom: 1px solid rgba(200,165,88,.35); color: var(--kd-burgundy); font-size: 11px; padding: 10px 24px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-alert[hidden] { display: none; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-scroll { max-height: calc(100vh - 138px); overflow-y: auto; padding: 24px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-hero { align-items: center; background: var(--kd-burgundy); border-radius: 18px; color: #fff; display: flex; gap: 20px; padding: 24px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-hero .ke-dashboard-eyebrow { color: var(--kd-gold-light) !important; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-hero h3 { font-family: 'Playfair Display', serif; font-size: 27px; line-height: 1.05; margin: 0; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-hero p { color: rgba(255,255,255,.72) !important; font-size: 12px; margin: 7px 0 0; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-flame { align-items: center; background: rgba(233,186,97,.15); border-radius: 50%; color: var(--kd-gold-light); display: flex; flex: 0 0 74px; height: 74px; justify-content: center; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-flame svg { fill: currentColor; height: 45px; width: 36px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-flame circle { fill: var(--kd-paper); }
html.ke-rebrand-mode .ke-dashboard-thirty-day-calendar { margin-top: 24px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-section-heading { align-items: center; display: flex; justify-content: space-between; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-section-heading strong { color: var(--kd-navy); font-family: 'Playfair Display', serif; font-size: 15px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-weekdays,
html.ke-rebrand-mode .ke-dashboard-thirty-day-days { display: grid; gap: 8px; grid-template-columns: repeat(7, 1fr); }
html.ke-rebrand-mode .ke-dashboard-thirty-day-weekdays { color: var(--kd-muted); font-size: 8px; font-weight: 900; margin: 14px 0 8px; text-align: center; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-days { background: #fff; border: 1px solid rgba(200,165,88,.4); border-radius: 17px; padding: 15px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-day { align-items: center; background: #eef0f0; border: 2px solid transparent; border-radius: 50%; color: var(--kd-muted); display: flex; font-size: 9px; font-weight: 800; height: 32px; justify-content: center; margin: auto; position: relative; width: 32px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-day.is-checkin { background: var(--kd-gold-light); color: var(--kd-navy); }
html.ke-rebrand-mode .ke-dashboard-thirty-day-day.is-journal { border-color: var(--kd-burgundy); }
html.ke-rebrand-mode .ke-dashboard-thirty-day-day.is-today { box-shadow: 0 0 0 3px rgba(200,165,88,.18); }
html.ke-rebrand-mode .ke-dashboard-thirty-day-day.is-empty { background: transparent; border: 0; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-stats { display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); margin-top: 18px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-stats div { background: #fff; border: 1px solid rgba(200,165,88,.4); border-radius: 14px; padding: 15px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-stats strong,
html.ke-rebrand-mode .ke-dashboard-thirty-day-stats span { display: block; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-stats strong { color: var(--kd-burgundy); font-family: 'Playfair Display', serif; font-size: 24px; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-stats span { color: var(--kd-muted); font-size: 8px; font-weight: 800; margin-top: 4px; text-transform: uppercase; }
html.ke-rebrand-mode .ke-dashboard-thirty-day-moods { margin-top: 22px; }
html.ke-rebrand-mode #ke-dashboard-thirty-day-mood-list { display: flex; flex-wrap: wrap; gap: 8px; }
html.ke-rebrand-mode #ke-dashboard-thirty-day-mood-list span { background: var(--kd-cream); border: 1px solid rgba(109,51,70,.22); border-radius: 999px; color: var(--kd-burgundy); font-size: 10px; font-weight: 800; padding: 8px 14px; }
html.ke-rebrand-mode #ke-dashboard-thirty-day-note { color: var(--kd-muted) !important; font-family: 'Cormorant Garamond', serif; font-size: 15px; font-style: italic; margin: 16px 0 0; }

html.ke-rebrand-mode .ke-dashboard-modal { align-items: center; display: flex; inset: 0; justify-content: center; padding: 20px; position: fixed; z-index: 500; }
html.ke-rebrand-mode .ke-dashboard-modal[hidden] { display: none; }
html.ke-rebrand-mode .ke-dashboard-modal-backdrop { background: rgba(12,20,24,.72); inset: 0; position: absolute; }
html.ke-rebrand-mode .ke-dashboard-modal-card { background: var(--kd-paper); border-radius: 20px; box-shadow: 0 24px 70px rgba(0,0,0,.3); max-width: 440px; padding: 30px; position: relative; width: 100%; z-index: 1; }
html.ke-rebrand-mode .ke-dashboard-modal-card h2 { color: var(--kd-navy) !important; font-family: 'Playfair Display', serif; font-size: 29px; margin: 0 0 14px; }
html.ke-rebrand-mode .ke-dashboard-modal-card p { color: var(--kd-muted) !important; font-size: 13px; line-height: 1.55; }
html.ke-rebrand-mode .ke-dashboard-modal-card a { background: var(--kd-burgundy); border-radius: 12px; color: #fff; display: block; font-weight: 800; margin: 19px 0; padding: 13px; text-align: center; text-decoration: none; }
html.ke-rebrand-mode .ke-dashboard-modal-note { border-top: 1px solid var(--kd-line); font-size: 11px !important; padding-top: 15px; }
html.ke-rebrand-mode .ke-dashboard-modal-close { background: transparent; border: 0; color: var(--kd-muted); cursor: pointer; font-size: 27px; line-height: 1; padding: 5px; position: absolute; right: 13px; top: 10px; }

/* Rebrand-wide floating Talk to Karamo launcher and white chooser. */
html.ke-rebrand-mode #t-talk { display: none !important; }
html.ke-rebrand-mode .ke-talk-launcher {
  align-items: center;
  animation: keTalkLauncherFloat 4s ease-in-out infinite;
  background: transparent;
  border: 0;
  bottom: 84px;
  cursor: pointer;
  display: flex !important;
  flex-direction: column;
  gap: 7px;
  padding: 0;
  position: fixed;
  right: clamp(12px, 2.5vw, 30px);
  z-index: 180;
}
html.ke-rebrand-mode .ke-talk-launcher:focus-visible { outline: 3px solid rgba(109,51,70,.42); outline-offset: 5px; }
html.ke-rebrand-mode .ke-talk-launcher-hint {
  background: #1a2830;
  border: 1px solid rgba(233,186,97,.72);
  border-radius: 999px;
  box-shadow: 0 7px 18px rgba(26,40,48,.2);
  color: #e9ba61;
  display: block;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  padding: 8px 12px;
  position: relative;
  white-space: nowrap;
}
html.ke-rebrand-mode .ke-talk-launcher-hint::after {
  background: #1a2830;
  border-bottom: 1px solid rgba(233,186,97,.72);
  border-right: 1px solid rgba(233,186,97,.72);
  bottom: -5px;
  content: '';
  height: 9px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%) rotate(45deg);
  width: 9px;
}
html.ke-rebrand-mode .ke-talk-launcher-photo { background: #f7f1e8; border: 3px solid #c8a558; border-radius: 50%; box-shadow: 0 13px 34px rgba(26,40,48,.25), 0 0 0 5px rgba(255,255,255,.82); display: block; height: 70px; position: relative; width: 70px; }
html.ke-rebrand-mode .ke-talk-launcher-photo img { border-radius: inherit; height: 100%; object-fit: cover; width: 100%; }
html.ke-rebrand-mode .ke-talk-launcher-photo i,
html.ke-rebrand-mode .ke-talk-chooser-portrait i,
html.ke-rebrand-mode .ke-talk-text-avatar i { background: #1a2830; border: 2px solid #fff; border-radius: 50%; bottom: 0; height: 13px; position: absolute; right: 0; width: 13px; }
@keyframes keTalkLauncherFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

html.ke-rebrand-mode .ke-talk-chooser { align-items: center; display: flex !important; inset: 0; justify-content: center; padding: 18px; position: fixed; z-index: 620; }
html.ke-rebrand-mode .ke-talk-chooser[hidden] { display: none !important; }
html.ke-rebrand-mode .ke-talk-chooser-backdrop { background: rgba(18,29,34,.68); inset: 0; position: absolute; }
html.ke-rebrand-mode .ke-talk-chooser-card { background: #fff; border: 1px solid rgba(200,165,88,.62); border-radius: 24px; box-shadow: 0 28px 80px rgba(17,27,32,.34); max-height: calc(100vh - 36px); max-width: 420px; overflow-x: hidden; overflow-y: auto; padding: clamp(24px, 5vw, 34px); position: relative; text-align: center; width: 100%; z-index: 1; }
html.ke-rebrand-mode .ke-talk-chooser-card::before { animation: keDashboardBlockShimmer 4.5s ease-in-out infinite; background: linear-gradient(115deg, transparent 35%, rgba(200,165,88,.25) 50%, transparent 65%); border-radius: inherit; content: ''; inset: 0; pointer-events: none; position: absolute; transform: translateX(-100%); z-index: 4; }
html.ke-rebrand-mode .ke-talk-chooser-card > * { position: relative; z-index: 2; }
html.ke-rebrand-mode .ke-talk-chooser-close { background: transparent; border: 0; color: #69757a; cursor: pointer; font-size: 27px; line-height: 1; padding: 5px; position: absolute !important; right: 12px; top: 9px; z-index: 5 !important; }
html.ke-rebrand-mode .ke-talk-chooser-kicker { color: #6d3346; font-size: 9px; font-weight: 800; letter-spacing: 1.5px; margin: 0 0 7px; }
html.ke-rebrand-mode .ke-talk-choice-view > h2 { line-height: .9; margin: 0 0 22px; }
html.ke-rebrand-mode .ke-talk-choice-view > h2 span,
html.ke-rebrand-mode .ke-talk-choice-view > h2 strong { display: block; font-family: 'Playfair Display', serif; font-size: clamp(35px, 8vw, 45px); font-weight: 600; }
html.ke-rebrand-mode .ke-talk-choice-view > h2 span { color: #d9b671; }
html.ke-rebrand-mode .ke-talk-choice-view > h2 strong { color: #1a2830; margin-top: 6px; }
html.ke-rebrand-mode .ke-talk-chooser-portrait { background: #f7f1e8; border: 4px solid #c8a558; border-radius: 50%; box-shadow: 0 0 0 9px rgba(233,186,97,.13), 0 17px 35px rgba(26,40,48,.16); height: 150px; margin: 0 auto 20px; position: relative; width: 150px; }
html.ke-rebrand-mode .ke-talk-chooser-portrait img { border-radius: inherit; height: 100%; object-fit: cover; width: 100%; }
html.ke-rebrand-mode .ke-talk-chooser-portrait i { bottom: 7px; height: 17px; right: 3px; width: 17px; }
html.ke-rebrand-mode .ke-talk-chooser-intro { color: #69757a; font-family: 'Cormorant Garamond', serif; font-size: 17px; font-style: italic; margin: 0 0 17px; }
html.ke-rebrand-mode .ke-talk-choice-buttons { display: grid; gap: 10px; }
html.ke-rebrand-mode .ke-talk-choice-buttons > button { align-items: center; background: #fff; border: 1px solid rgba(200,165,88,.6); border-radius: 14px; color: #1a2830; cursor: pointer; display: flex; gap: 13px; padding: 13px 15px; text-align: left; }
html.ke-rebrand-mode .ke-talk-choice-buttons > button:first-child { background: #1a2830; color: #fff; }
html.ke-rebrand-mode .ke-talk-choice-buttons > .ke-talk-choice-resource { background: linear-gradient(115deg, #fffaf0, #f7ead0 50%, #fffaf0); border-color: rgba(200,165,88,.88); }
html.ke-rebrand-mode .ke-talk-choice-icon { align-items: center; background: rgba(233,186,97,.15); border: 1px solid rgba(233,186,97,.5); border-radius: 50%; color: #e9ba61; display: flex; flex: 0 0 35px; font-size: 12px; font-weight: 900; height: 35px; justify-content: center; }
html.ke-rebrand-mode .ke-talk-choice-buttons strong,
html.ke-rebrand-mode .ke-talk-choice-buttons small { display: block; }
html.ke-rebrand-mode .ke-talk-choice-buttons strong { color: inherit; font-size: 13px; }
html.ke-rebrand-mode .ke-talk-choice-buttons small { color: inherit; font-size: 10px; margin-top: 3px; opacity: .62; }
html.ke-rebrand-mode .ke-talk-choice-arrow { color: #6d3346; font-size: 17px; font-weight: 800; margin-left: auto; }
html.ke-rebrand-mode .ke-talk-ai-note { color: #7d878b; display: block; font-size: 9px; line-height: 1.4; margin: 15px auto 0; max-width: 310px; }
html.ke-rebrand-mode .ke-talk-call-view[hidden],
html.ke-rebrand-mode .ke-talk-text-view[hidden] { display: none; }
html.ke-rebrand-mode .ke-talk-view-back { background: transparent; border: 0; color: #6d3346; cursor: pointer; display: block; font-size: 11px; font-weight: 800; margin: -4px 0 15px; padding: 0; }
html.ke-rebrand-mode .ke-talk-call-host { min-height: 390px; }
html.ke-rebrand-mode .ke-talk-call-host .talk-voice-shell { flex: none; min-height: 0; }
html.ke-rebrand-mode .ke-talk-call-host .talk-voice-copy { margin-bottom: 20px; }
html.ke-rebrand-mode .ke-talk-call-host .talk-voice-copy h2 { font-size: 36px; }
html.ke-rebrand-mode .ke-talk-call-host .talk-orb { width: 184px; }
html.ke-rebrand-mode .ke-talk-call-host .talk-avatar-frame { height: 164px; width: 164px; }
html.ke-rebrand-mode .ke-talk-call-host .talk-turn-indicator { margin-top: 18px; }
html.ke-rebrand-mode .ke-talk-text-heading { align-items: center; border-bottom: 1px solid rgba(200,165,88,.35); display: flex; gap: 12px; padding-bottom: 15px; text-align: left; }
html.ke-rebrand-mode .ke-talk-text-avatar { border: 2px solid #c8a558; border-radius: 50%; height: 54px; position: relative; width: 54px; }
html.ke-rebrand-mode .ke-talk-text-avatar img { border-radius: inherit; height: 100%; object-fit: cover; width: 100%; }
html.ke-rebrand-mode .ke-talk-text-heading span { color: #6d3346; font-size: 8px; font-weight: 800; letter-spacing: 1.3px; }
html.ke-rebrand-mode .ke-talk-text-heading h2 { color: #1a2830; font-family: 'Playfair Display', serif; font-size: 25px; line-height: 1; margin: 3px 0 0; }
html.ke-rebrand-mode .ke-talk-text-messages { display: flex; flex-direction: column; gap: 9px; height: 225px; overflow-y: auto; padding: 18px 2px; text-align: left; }
html.ke-rebrand-mode .ke-talk-message { align-self: flex-start; background: #f7f1e8; border: 1px solid rgba(200,165,88,.25); border-radius: 14px 14px 14px 4px; color: #1f2c32; font-size: 12px; line-height: 1.45; max-width: 86%; padding: 10px 12px; }
html.ke-rebrand-mode .ke-talk-message.is-user { align-self: flex-end; background: #6d3346; border-color: #6d3346; border-radius: 14px 14px 4px 14px; color: #fff; }
html.ke-rebrand-mode .ke-talk-message.is-thinking { color: #69757a; font-style: italic; }
html.ke-rebrand-mode .ke-talk-text-prompts { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 10px; }
html.ke-rebrand-mode .ke-talk-text-prompts button { background: #fff; border: 1px solid rgba(200,165,88,.45); border-radius: 999px; color: #6d3346; cursor: pointer; flex: 0 0 auto; font-size: 9px; font-weight: 800; padding: 7px 10px; }
html.ke-rebrand-mode .ke-talk-text-form { align-items: flex-end; display: flex; gap: 8px; }
html.ke-rebrand-mode .ke-talk-text-form textarea { background: #fff; border: 1px solid rgba(26,40,48,.18); border-radius: 13px; color: #1f2c32; flex: 1; outline: 0; padding: 10px 11px; resize: none; }
html.ke-rebrand-mode .ke-talk-text-form textarea:focus { border-color: #c8a558; box-shadow: 0 0 0 3px rgba(200,165,88,.14); }
html.ke-rebrand-mode .ke-talk-text-form button { background: #1a2830; border: 1px solid #c8a558; border-radius: 12px; color: #e9ba61; cursor: pointer; font-size: 11px; font-weight: 800; padding: 11px 13px; }
html.ke-rebrand-mode .ke-talk-text-form button:disabled { cursor: wait; opacity: .5; }

@media (max-width: 430px) {
  html.ke-rebrand-mode .ke-dashboard-checkin-modal { padding: 8px; }
  html.ke-rebrand-mode .ke-dashboard-thirty-day-modal { padding: 7px; }
  html.ke-rebrand-mode .ke-dashboard-thirty-day-card { border-radius: 20px; max-height: calc(100vh - 14px); }
  html.ke-rebrand-mode .ke-dashboard-thirty-day-header { padding: 16px; }
  html.ke-rebrand-mode .ke-dashboard-thirty-day-header h2 { font-size: 22px; }
  html.ke-rebrand-mode .ke-dashboard-thirty-day-scroll { max-height: calc(100vh - 109px); padding: 16px; }
  html.ke-rebrand-mode .ke-dashboard-thirty-day-hero { padding: 20px; }
  html.ke-rebrand-mode .ke-dashboard-thirty-day-day { height: 28px; width: 28px; }
  html.ke-rebrand-mode .ke-dashboard-thirty-day-days { gap: 5px; padding: 12px 9px; }
  html.ke-rebrand-mode .ke-dashboard-thirty-day-stats { gap: 7px; }
  html.ke-rebrand-mode .ke-dashboard-thirty-day-stats div { padding: 12px 9px; }
  html.ke-rebrand-mode .ke-dashboard-checkin-card { border-radius: 20px; max-height: calc(100vh - 16px); padding: 25px 19px; }
  html.ke-rebrand-mode .ke-dashboard-emotions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.ke-rebrand-mode .ke-dashboard-checkin-step > h2,
  html.ke-rebrand-mode .ke-dashboard-checkin-finish > h2 { font-size: 31px; }
  html.ke-rebrand-mode .ke-talk-launcher { bottom: 80px; }
  html.ke-rebrand-mode .ke-talk-launcher-photo { height: 62px; width: 62px; }
  html.ke-rebrand-mode .ke-talk-chooser { padding: 10px; }
  html.ke-rebrand-mode .ke-talk-chooser-card { border-radius: 20px; max-height: calc(100vh - 20px); padding: 25px 20px; }
  html.ke-rebrand-mode .ke-talk-chooser-portrait { height: 132px; width: 132px; }
  html.ke-rebrand-mode .ke-talk-call-host { min-height: 350px; }
  html.ke-rebrand-mode .ke-talk-call-host .talk-avatar-frame { height: 145px; width: 145px; }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode .ke-dashboard-checkin-card::before,
  html.ke-rebrand-mode .ke-talk-chooser-card::before,
  html.ke-rebrand-mode .ke-talk-launcher { animation: none; }
}


html.ke-rebrand-mode .ke-dashboard-checkin-card,
html.ke-rebrand-mode .ke-dashboard-modal-card,
html.ke-rebrand-mode .ke-dashboard-thirty-day-card,
html.ke-rebrand-mode .ke-talk-chooser-card {
  background: #fffdfa;
  border-color: rgba(217,182,113,.38);
  box-shadow: 0 30px 90px rgba(9,18,22,.32);
}
html.ke-rebrand-mode .ke-talk-launcher-photo {
  border-color: var(--kd-gold);
  box-shadow: 0 12px 30px rgba(9,18,22,.2), 0 0 0 6px rgba(217,182,113,.12);
}
html.ke-rebrand-mode .ke-talk-launcher { filter: none; }
html.ke-rebrand-mode .ke-talk-message { background: #f6f1e9; border-color: rgba(26,40,48,.09); }
html.ke-rebrand-mode .ke-talk-message.is-user { background: var(--kd-burgundy); border-color: var(--kd-burgundy); }

@keyframes keDashboardFlameGlow {
  0% { box-shadow: inset 0 0 0 5px rgba(17,39,47,.5), 0 7px 19px rgba(3,14,19,.25); }
  48% { box-shadow: inset 0 0 0 5px rgba(17,39,47,.5), 0 0 0 7px rgba(239,216,157,.12), 0 9px 25px rgba(211,173,95,.3); }
  100% { box-shadow: inset 0 0 0 5px rgba(17,39,47,.5), 0 7px 19px rgba(3,14,19,.25); }
}
html.ke-rebrand-mode .ke-dashboard-tool-grid:has(.ke-dashboard-checkin.is-complete) .ke-dashboard-flame-core .ke-dashboard-flame-medallion { animation: keDashboardFlameGlow 720ms ease-out both; }

@media (min-width: 768px) {
  html.ke-rebrand-mode .ke-dashboard-main { padding-top: 24px; }
}

@media (max-width: 430px) {
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header {
    min-height: 68px !important;
    padding: max(8px, env(safe-area-inset-top)) 10px 8px !important;
  }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-brand { gap: 8px; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-initials { flex-basis: 40px !important; height: 40px !important; width: 40px !important; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-copy h1 { font-size: 14px; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-copy p { display: none; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-actions { gap: 6px; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-flame { height: 44px; min-width: 52px; padding: 0 8px; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-icon-button { height: 44px; width: 44px; }
  html.ke-rebrand-mode .ke-dashboard-main { padding-left: 12px; padding-right: 12px; padding-top: 14px; }
}

@media (max-width: 359px) {
  html.ke-rebrand-mode .ke-dashboard-header-flame { min-width: 48px; padding-inline: 7px; }
  html.ke-rebrand-mode .ke-dashboard-support { align-items: flex-start; flex-direction: column; gap: 8px; }
  html.ke-rebrand-mode .ke-dashboard-support #ke-dashboard-support-button { min-height: 44px; padding-top: 8px; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode .ke-dashboard-tool,
  html.ke-rebrand-mode .ke-dashboard-support { transition: none; }
  html.ke-rebrand-mode .ke-dashboard-circle-action::after,
  html.ke-rebrand-mode .ke-dashboard-circle-core::after,
  html.ke-rebrand-mode .ke-dashboard-connector,
  html.ke-rebrand-mode .ke-dashboard-live-flame-svg,
  html.ke-rebrand-mode .ke-dashboard-fire-outer,
  html.ke-rebrand-mode .ke-dashboard-fire-side,
  html.ke-rebrand-mode .ke-dashboard-fire-middle,
  html.ke-rebrand-mode .ke-dashboard-fire-inner,
  html.ke-rebrand-mode .ke-dashboard-fire-hotspot,
  html.ke-rebrand-mode .ke-dashboard-live-ember,
  html.ke-rebrand-mode .ke-dashboard-live-flame-glow,
  html.ke-rebrand-mode .ke-dashboard-tool-grid:has(.ke-dashboard-checkin.is-complete) .ke-dashboard-flame-core .ke-dashboard-flame-medallion { animation: none; }
  html.ke-rebrand-mode .ke-dashboard-circle-action:is(:hover, :active) { --kd-lift: 0px; --kd-press: 1; }
  html.ke-rebrand-mode .ke-dashboard-support:is(:hover, :active) { transform: none; }
}

/* Journal-aware Talk: explicit consent stays visible without pushing the
   composer below the mobile visual viewport. */
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner[hidden] { display: none !important; }
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner {
  background:
    radial-gradient(circle at 94% 8%, rgba(233,186,97,.2), transparent 34%),
    linear-gradient(145deg, #fffaf0, #f7efe2);
  border: 1px solid rgba(200,165,88,.5);
  border-radius: 15px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 20px rgba(26,40,48,.06);
  display: grid;
  gap: 6px;
  margin-top: 12px;
  padding: 13px 14px;
  text-align: left;
}
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner > span {
  color: #6d3346;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1.25px;
}
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner > strong {
  color: #1a2830;
  font-family: 'Playfair Display',serif;
  font-size: 17px;
  line-height: 1.15;
}
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner > p {
  color: #5d686d !important;
  font-size: 10px;
  line-height: 1.42;
  margin: 0;
}
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner > label {
  align-items: flex-start;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(96,37,55,.13);
  border-radius: 11px;
  color: #29373d;
  cursor: pointer;
  display: grid;
  font-size: 10px;
  font-weight: 700;
  gap: 8px;
  grid-template-columns: auto minmax(0,1fr);
  line-height: 1.35;
  margin-top: 3px;
  min-height: 42px;
  padding: 9px 10px;
}
html.ke-rebrand-mode #ke-talk-chooser #ke-talk-context-consent {
  accent-color: #6d3346;
  height: 18px;
  margin: 0;
  width: 18px;
}
html.ke-rebrand-mode #ke-talk-chooser #ke-talk-context-consent[aria-invalid="true"] {
  outline: 3px solid rgba(158,42,61,.28);
  outline-offset: 3px;
}
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner:has(#ke-talk-context-consent[aria-invalid="true"]) > label {
  background: #fff2f1;
  border-color: rgba(158,42,61,.55);
}
html.ke-rebrand-mode #ke-talk-chooser #ke-talk-context-stop {
  background: transparent;
  border: 0;
  color: #6d3346;
  cursor: pointer;
  font-size: 9px;
  font-weight: 850;
  justify-self: start;
  min-height: 32px;
  padding: 3px 0;
  text-decoration: underline;
  text-decoration-color: rgba(109,51,70,.3);
  text-underline-offset: 3px;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-chooser-card:has(.ke-talk-text-view:not([hidden])) {
  overflow: hidden !important;
}
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) {
  display: grid;
  grid-template-rows: auto auto auto minmax(96px,1fr) auto auto auto;
  height: min(620px, calc(100dvh - 108px));
  min-height: 0;
  overflow: hidden;
}
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-heading,
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner,
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-prompts,
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-form,
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-ai-note { flex: 0 0 auto; }
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-messages {
  height: auto;
  min-height: 0;
  overscroll-behavior: contain;
  overflow: hidden auto;
  padding-block: 13px;
  scrollbar-gutter: stable;
}
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-prompts {
  min-height: 0;
  padding: 4px 0 8px;
}
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-form {
  background: rgba(255,253,249,.98);
  padding-top: 2px;
  position: relative;
  z-index: 3;
}
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-form textarea {
  max-height: 108px;
  min-height: 52px;
}
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-form button { min-height: 52px; }

@media (max-width: 720px) {
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-chooser-card {
    max-height: calc(100dvh - max(12px, env(safe-area-inset-top,0px)) - max(16px, env(safe-area-inset-bottom,0px))) !important;
    padding: 20px 17px max(18px, env(safe-area-inset-bottom)) !important;
  }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) {
    height: calc(100dvh - max(72px, calc(env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px) + 52px)));
  }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-heading { padding-bottom: 10px; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-avatar { height: 46px; width: 46px; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner { margin-top: 8px; padding: 10px 11px; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-messages { padding-block: 9px; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-message { max-width: 91%; }
}

@media (max-height: 620px) and (max-width: 720px) {
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-view-back { margin-bottom: 7px; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-heading { gap: 8px; padding-bottom: 7px; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-avatar { height: 38px; width: 38px; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-heading h2 { font-size: 20px; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner { gap: 3px; margin-top: 5px; padding: 8px 9px; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner > p { display: none; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner > label { min-height: 36px; padding-block: 7px; }
  html.ke-rebrand-mode #ke-talk-chooser #ke-talk-context-stop { min-height: 25px; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-prompts,
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view > .ke-talk-ai-note { display: none; }
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-form textarea,
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-form button { min-height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-context-banner,
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-form { scroll-behavior: auto; }
}

/* Final dashboard composition. The Dashboard is deliberately a single,
   viewport-locked instrument panel; other tabs and modal interiors retain
   their normal scrolling behavior. */
html.ke-rebrand-mode #scr-dashboard,
html.ke-rebrand-mode #scr-dashboard.active {
  min-height: 0;
  overflow: hidden !important;
  overscroll-behavior: none;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header {
  position: relative;
  top: auto;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-main {
  background:
    radial-gradient(circle at 50% 47%, rgba(255,193,61,.18), rgba(255,129,27,.065) 21%, transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(0,0,0,.055));
  display: grid;
  flex: 1 1 auto;
  gap: 0;
  grid-template-rows: minmax(0, 1fr);
  height: auto;
  min-height: 0;
  overflow: hidden;
  padding: clamp(5px, 1dvh, 10px) clamp(6px, 1.7vw, 12px) max(6px, env(safe-area-inset-bottom));
  width: min(100%, 520px);
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tools {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0;
  min-height: 0;
  overflow: visible;
  width: 100%;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--final {
  height: min(100%, calc((100vw - 12px) * 1.641025641), 700px);
  margin: 0;
  max-height: 100%;
  max-width: 430px;
  width: auto;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--final .ke-dashboard-live-flame-core {
  background:
    radial-gradient(circle at 50% 45%, rgba(255,202,81,.22), transparent 42%),
    radial-gradient(circle at 50% 48%, #314955 0, #162a34 61%, #08151a 100%);
  filter: drop-shadow(0 7px 0 #72501c) drop-shadow(0 17px 24px rgba(0,0,0,.58)) drop-shadow(0 0 34px rgba(255,195,57,.86));
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--final .ke-dashboard-live-flame-core::before {
  background:
    radial-gradient(circle at 50% 47%, rgba(255,196,65,.18), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.13), transparent 41%, rgba(0,0,0,.2) 80%);
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-support {
  align-items: center;
  flex-direction: row;
  flex-shrink: 0;
  gap: 10px;
  min-height: clamp(56px, 7.3dvh, 68px);
  padding: 9px clamp(12px, 3vw, 16px);
  width: 100%;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-support > div {
  min-width: 0;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-support #ke-dashboard-support-button {
  min-height: 0;
  padding-top: 0;
  text-align: right;
}

@media (max-height: 700px) {
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header {
    min-height: 58px !important;
    padding-block: 6px !important;
  }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-initials {
    flex-basis: 36px !important;
    height: 36px !important;
    width: 36px !important;
  }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-flame,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-icon-button {
    height: 38px;
  }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-icon-button { width: 38px; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-flame { min-width: 48px; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-main { padding-block: 4px; }
}

/* Kē Luminous Constellation
   A restrained, precision-built finish for the selected dashboard. The
   existing actions, routes, focus order, and viewport-locked composition are
   unchanged; this block owns only the final visual treatment. */
html.ke-rebrand-mode #scr-dashboard {
  --kd-navy: #10242d;
  --kd-navy-deep: #09191f;
  --kd-porcelain: #fffcf6;
  --kd-porcelain-shadow: #e9dcc8;
  --kd-burgundy: #682d43;
  --kd-gold: #d7b56d;
  --kd-gold-light: #f1dca7;
  background: #10242d !important;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header {
  background: rgba(16, 36, 45, .985) !important;
  border-bottom: 1px solid rgba(215, 181, 109, .22) !important;
  box-shadow: none !important;
  min-height: 66px !important;
  padding: max(8px, env(safe-area-inset-top)) clamp(14px, 3.3vw, 20px) 8px !important;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-brand { gap: 10px; }
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-initials {
  border-color: rgba(241, 220, 167, .62);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 4px 12px rgba(0, 0, 0, .16);
  flex-basis: 38px !important;
  font-size: 14px;
  height: 38px !important;
  width: 38px !important;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-copy h1 {
  font-family: "DM Sans", sans-serif !important;
  font-size: clamp(16px, 3.9vw, 17px) !important;
  font-weight: 650 !important;
  letter-spacing: -.025em;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-flame,
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-icon-button {
  background: rgba(255, 253, 249, .035) !important;
  border-color: rgba(215, 181, 109, .3) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035) !important;
  height: 44px !important;
  min-height: 44px !important;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-flame {
  min-width: 54px !important;
  padding-inline: 9px;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-icon-button {
  min-width: 44px !important;
  width: 44px !important;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-flame:hover,
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-icon-button:hover {
  background: rgba(255, 253, 249, .07) !important;
  border-color: rgba(215, 181, 109, .5) !important;
  box-shadow: none !important;
  transform: translateY(-1px);
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-main {
  background:
    radial-gradient(circle at 50% 49%, rgba(215, 181, 109, .105), rgba(215, 181, 109, .025) 29%, transparent 54%),
    linear-gradient(180deg, rgba(255, 255, 255, .012), rgba(0, 0, 0, .035));
  padding: clamp(4px, .8dvh, 8px) clamp(6px, 1.6vw, 10px) max(5px, env(safe-area-inset-bottom));
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--final {
  --kd-circle-size: 31.5%;
  --kd-circle-height: 20.5%;
  --kd-core-size: 38%;
  --kd-core-height: 23%;
  height: min(100%, calc((100vw - 12px) * 1.641025641), 700px);
  max-width: 430px;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--checkin { top: 15.5%; }
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--breath { left: 83.5%; top: 35%; }
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--cheer { left: 83.5%; top: 65%; }
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--thirty-day { top: 84.5%; }
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--intention { left: 16.5%; top: 65%; }
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--journal-new { left: 16.5%; top: 35%; }

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action {
  background: linear-gradient(145deg, #f1d58b 0%, #c89942 31%, #f0d182 55%, #ad7f31 100%);
  box-shadow: none;
  filter: drop-shadow(0 10px 20px rgba(0, 0, 0, .22));
  overflow: hidden;
  padding: clamp(9px, 2.8vw, 15px);
  transition: filter 180ms ease, transform 180ms cubic-bezier(.2, .8, .2, 1);
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action::before {
  background:
    radial-gradient(circle at 31% 20%, rgba(255, 255, 255, .72), transparent 27%),
    linear-gradient(158deg, #fffcf6 0%, #f7f0e5 63%, #e9dcc8 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .92),
    inset 0 -1px 0 rgba(118, 82, 34, .07);
  inset: 2px;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action::after {
  animation: none;
  background: linear-gradient(118deg, transparent 10%, rgba(255, 255, 255, .28) 34%, transparent 57%);
  inset: 3px;
  opacity: .48;
  padding: 0;
  -webkit-mask: none;
  mask: none;
  z-index: 2;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action:hover {
  filter: brightness(1.018) drop-shadow(0 12px 23px rgba(0, 0, 0, .25));
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action:active {
  --kd-lift: 1px;
  --kd-press: .985;
  filter: brightness(.99) drop-shadow(0 7px 14px rgba(0, 0, 0, .2));
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action:focus-visible {
  filter: brightness(1.015) drop-shadow(0 0 8px rgba(241, 220, 167, .44));
  outline: 2px solid rgba(241, 220, 167, .82) !important;
  outline-offset: 3px !important;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool-title {
  color: #682d43 !important;
  font-family: "Playfair Display", serif;
  font-size: clamp(16px, 4.25vw, 18px);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.08;
  max-width: 9.6ch;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .72);
  z-index: 3;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--cheer .ke-dashboard-tool-title,
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--intention .ke-dashboard-tool-title {
  font-size: clamp(16px, 4.25vw, 18px);
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool-note {
  color: rgba(104, 45, 67, .78);
  font-size: clamp(6.5px, 1.6vw, 8px);
  letter-spacing: .17em;
  margin-top: 6px;
  z-index: 3;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-connector {
  animation: keLuminousConnectorBreath 5.8s ease-in-out infinite;
  background: linear-gradient(180deg, rgba(215, 181, 109, .06), rgba(241, 220, 167, .58) 46%, rgba(215, 181, 109, .18) 100%);
  border: 0;
  box-shadow: 0 0 5px rgba(215, 181, 109, .28);
  margin-left: -1px;
  opacity: .48;
  width: 2px;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-connector--north-east { animation-delay: -.96s; }
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-connector--south-east { animation-delay: -1.92s; }
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-connector--south { animation-delay: -2.88s; }
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-connector--south-west { animation-delay: -3.84s; }
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-connector--north-west { animation-delay: -4.8s; }

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--final .ke-dashboard-live-flame-core {
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, .08), transparent 25%),
    radial-gradient(circle at 50% 47%, rgba(215, 181, 109, .12), transparent 40%),
    radial-gradient(circle at 50% 52%, #203944 0%, #10242d 63%, #09191f 100%) padding-box,
    linear-gradient(145deg, #f1dca7, #b98c3d 42%, #ead089 66%, #936b2c) border-box;
  border: 2px solid transparent;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .08),
    inset 0 -14px 26px rgba(0, 0, 0, .18),
    0 14px 30px rgba(0, 0, 0, .34),
    0 0 28px rgba(215, 181, 109, .28);
  filter: none;
  overflow: visible;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--final .ke-dashboard-live-flame-core::before {
  background:
    radial-gradient(circle at 38% 25%, rgba(255, 255, 255, .07), transparent 26%),
    linear-gradient(155deg, rgba(255, 255, 255, .045), transparent 46%, rgba(0, 0, 0, .12));
  border: 1px solid rgba(241, 220, 167, .12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
  inset: 8px;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--final .ke-dashboard-live-flame-core::after {
  animation: keLuminousCoreSweep 9s ease-in-out infinite;
  background: conic-gradient(from 205deg, transparent 0 71%, rgba(255, 246, 216, .86) 78%, rgba(215, 181, 109, .58) 82%, transparent 89% 100%);
  border-radius: 50%;
  clip-path: none;
  inset: -4px;
  opacity: .7;
  padding: 1px;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame {
  margin-bottom: clamp(5px, 1.3vw, 8px);
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-svg {
  filter:
    brightness(var(--kd-live-flame-brightness))
    drop-shadow(0 4px 6px rgba(0, 0, 0, .26))
    drop-shadow(0 0 calc(var(--kd-live-flame-glow) * .42) rgba(215, 181, 109, .68));
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-glow {
  background: radial-gradient(ellipse at 50% 68%, rgba(255, 252, 240, .84) 0%, rgba(241, 220, 167, .4) 29%, rgba(104, 45, 67, .18) 56%, transparent 77%);
  filter: blur(8px);
  opacity: .64;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-ember {
  background: #f1dca7;
  box-shadow: 0 0 4px rgba(241, 220, 167, .72);
  height: 2px;
  width: 2px;
}
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-core .ke-dashboard-flame-status-content h3 {
  font-size: clamp(18px, 4.9vw, 23px);
  font-weight: 600;
  letter-spacing: -.025em;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .26);
}

@keyframes keLuminousConnectorBreath {
  0%, 100% { filter: brightness(.92); opacity: .34; }
  50% { filter: brightness(1.08); opacity: .56; }
}
@keyframes keLuminousCoreSweep {
  0%, 68% { opacity: .18; transform: rotate(0deg); }
  82% { opacity: .78; }
  100% { opacity: .18; transform: rotate(360deg); }
}

@media (max-height: 700px) {
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header {
    min-height: 58px !important;
    padding-block: 6px !important;
  }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-initials {
    flex-basis: 34px !important;
    height: 34px !important;
    width: 34px !important;
  }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-copy h1 { font-size: 15px !important; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-flame,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-icon-button { height: 44px !important; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-icon-button { width: 44px !important; }
}

@media (max-height: 520px) and (orientation: landscape) {
  html.ke-rebrand-mode #ke-dashboard-live-constellation .ke-dashboard-spark-pending {
    --ke-spark-comet-height: 16px;
    --ke-spark-comet-width: 16px;
    bottom: 4px;
  }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action {
    padding: 5px;
  }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool-title,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--cheer .ke-dashboard-tool-title,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--intention .ke-dashboard-tool-title {
    font-size: clamp(9.5px, 2.6dvh, 13px);
  }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool-note {
    font-size: clamp(5px, 1.45dvh, 7px);
    margin-top: 2px;
  }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame {
    height: clamp(22px, 8dvh, 32px);
    margin-bottom: 2px;
    width: clamp(17px, 6dvh, 24px);
  }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-core .ke-dashboard-flame-status-content h3 {
    font-size: clamp(12px, 3.8dvh, 16px);
  }
}

@media (max-width: 359px) {
  html.ke-rebrand-mode #ke-dashboard-live-constellation .ke-dashboard-spark-pending {
    --ke-spark-comet-height: 16px;
    --ke-spark-comet-width: 16px;
    bottom: 4px;
  }
}

/* Dashboard header: Kē returns Home; the Keeper profile is a distinct right-side action. */
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header {
  display: grid !important;
  gap: clamp(8px, 2.2vw, 14px) !important;
  grid-template-columns: 44px minmax(0, 1fr) auto;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-home-logo,
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-launcher {
  align-items: center;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  height: 44px;
  justify-content: center;
  min-height: 44px;
  padding: 0;
  position: relative;
  width: 44px;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-home-logo {
  border-radius: 12px;
  justify-self: start;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-home-logo img {
  display: block;
  filter: drop-shadow(0 3px 8px rgba(0, 0, 0, .2));
  height: 42px;
  object-fit: contain;
  transition: filter 180ms ease, transform 180ms ease;
  width: 42px;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-copy {
  align-items: center;
  display: flex;
  min-width: 0;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header-actions {
  gap: 8px;
  justify-self: end;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-launcher {
  border-radius: 50%;
  flex: 0 0 42px;
  width: 42px;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-launcher .ke-dashboard-profile-initials {
  flex-basis: 38px !important;
  height: 38px !important;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
  width: 38px !important;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-home-logo:hover img,
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-home-logo:focus-visible img {
  filter: drop-shadow(0 4px 11px rgba(215, 181, 109, .28));
  transform: translateY(-1px) scale(1.025);
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-launcher:hover .ke-dashboard-profile-initials,
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-launcher:focus-visible .ke-dashboard-profile-initials {
  border-color: rgba(255, 241, 199, .88);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 6px 16px rgba(0, 0, 0, .22), 0 0 0 3px rgba(215, 181, 109, .12);
  transform: translateY(-1px);
}

@media (max-width: 420px) {
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-header {
    gap: 7px !important;
    grid-template-columns: 40px minmax(0, 1fr) auto;
  }

  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-home-logo,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-launcher {
    height: 40px;
    min-height: 40px;
    width: 40px;
  }

  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-home-logo img { height: 38px; width: 38px; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-launcher { flex-basis: 40px; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-profile-launcher .ke-dashboard-profile-initials {
    flex-basis: 36px !important;
    height: 36px !important;
    width: 36px !important;
  }
}

/* Local design-review control. It is created only for the explicit
   localhost ?motion=flame-bloom preview and can never appear on staging/live. */
html.ke-rebrand-mode .ke-dashboard-bloom-preview-control {
  align-items: center;
  backdrop-filter: blur(12px);
  background: rgba(9, 25, 31, .88);
  border: 1px solid rgba(215, 181, 109, .7);
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .28);
  color: #f1dca7;
  display: inline-flex;
  font: 700 11px/1 "DM Sans", sans-serif;
  gap: 5px;
  min-height: 36px;
  padding: 0 12px;
  position: fixed;
  right: 10px;
  top: calc(max(8px, env(safe-area-inset-top)) + 70px);
  z-index: 80;
}

html.ke-rebrand-mode.ke-dashboard-bloom-preview-local #auth-gate,
html.ke-rebrand-mode.ke-dashboard-bloom-preview-local #subscription-gate {
  display: none !important;
}

html.ke-rebrand-mode .ke-dashboard-bloom-preview-control:focus-visible {
  outline: 2px solid #f1dca7 !important;
  outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-connector,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-core::after { animation: none !important; }
}

/* Keep the Check-In title on the true visual center of its hexagon. The
   secondary 30-day shortcut sits beneath it without moving the title up. */
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--checkin .ke-dashboard-tool-title {
  left: 50%;
  margin: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--checkin .ke-dashboard-tool-note {
  left: 50%;
  margin: 0;
  position: absolute;
  top: calc(50% + clamp(18px, 4.6vw, 21px));
  transform: translateX(-50%);
  white-space: nowrap;
}

@media (max-height: 520px) and (orientation: landscape) {
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-tool--checkin .ke-dashboard-tool-note {
    top: calc(50% + 14px);
  }
}

/* Sculpted ivory hexagons --------------------------------------------------
   A faceted gold chassis creates depth without turning the actions into
   glossy game buttons. The highlight lives only on the perimeter so the
   labels remain calm, crisp, and readable. */
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action {
  background:
    conic-gradient(
      from 30deg at 50% 50%,
      #ffeeb2 0 16.666%,
      #e7bd62 16.666% 33.333%,
      #a66f24 33.333% 50%,
      #82531b 50% 66.666%,
      #c79336 66.666% 83.333%,
      #fff0ba 83.333% 100%
    );
  filter:
    drop-shadow(0 4px 0 rgba(111, 72, 22, .92))
    drop-shadow(0 13px 19px rgba(0, 0, 0, .29))
    drop-shadow(0 0 11px rgba(215, 181, 109, .25));
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action::before {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .72), transparent 27%),
    radial-gradient(circle at 34% 18%, rgba(255, 255, 255, .64), transparent 30%),
    linear-gradient(325deg, rgba(104, 66, 19, .13), transparent 46%),
    linear-gradient(155deg, #fffefa 0%, #f8f1e7 61%, #e5d6c2 100%);
  box-shadow:
    inset 0 2px 2px rgba(255, 255, 255, .96),
    inset 7px 5px 12px rgba(255, 255, 255, .22),
    inset -8px -10px 15px rgba(105, 67, 20, .12),
    inset 0 -2px 3px rgba(105, 67, 20, .12);
  inset: 5px;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action::after {
  animation: keLuminousHexEdgeShimmer 6.8s ease-in-out infinite;
  background: linear-gradient(
    112deg,
    transparent 24%,
    rgba(255, 255, 245, .28) 38%,
    rgba(255, 246, 207, .94) 46%,
    #f2cb68 51%,
    rgba(255, 242, 187, .72) 55%,
    transparent 66%
  );
  background-size: 300% 100%;
  inset: 1px;
  opacity: .42;
  padding: 2px;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  z-index: 3;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action:hover {
  filter:
    brightness(1.025)
    drop-shadow(0 5px 0 rgba(111, 72, 22, .92))
    drop-shadow(0 15px 22px rgba(0, 0, 0, .31))
    drop-shadow(0 0 14px rgba(215, 181, 109, .32));
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action:active {
  filter:
    brightness(.99)
    drop-shadow(0 2px 0 rgba(111, 72, 22, .9))
    drop-shadow(0 8px 13px rgba(0, 0, 0, .25));
}

@keyframes keLuminousHexEdgeShimmer {
  0%, 18% { background-position: 125% 0; opacity: .24; }
  50% { opacity: .58; }
  82%, 100% { background-position: -125% 0; opacity: .3; }
}

@media (max-height: 520px) and (orientation: landscape) {
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action::before { inset: 3px; }
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action::after { padding: 1px; }
}

/* Flame Bloom -------------------------------------------------------------
   The living Flame arrives first. Its six therapeutic actions then emerge
   from behind it as the connecting light draws outward. JavaScript measures
   the final geometry, so this remains precise across phone sizes and rotation. */
html.ke-rebrand-mode #ke-dashboard-live-constellation[data-ke-bloom-state="pending"] .ke-dashboard-circle-action {
  opacity: 0;
  pointer-events: none;
}

html.ke-rebrand-mode #ke-dashboard-live-constellation[data-ke-bloom-state="pending"] .ke-dashboard-connector {
  animation: none !important;
  opacity: 0;
}

html.ke-rebrand-mode #ke-dashboard-live-constellation[data-ke-bloom-state="running"] .ke-dashboard-circle-action {
  pointer-events: none;
  will-change: transform, opacity;
}

html.ke-rebrand-mode #ke-dashboard-live-constellation[data-ke-bloom-state="running"] .ke-dashboard-connector {
  animation: none !important;
  will-change: transform, opacity;
}

html.ke-rebrand-mode #ke-dashboard-live-constellation:not([data-ke-shape="hex-core-circle-actions"])[data-ke-bloom-state="running"] .ke-dashboard-circle-action::after {
  animation: none !important;
  background-position: 125% 0;
  opacity: .24;
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #ke-dashboard-live-constellation[data-ke-bloom-state="pending"] .ke-dashboard-circle-action,
  html.ke-rebrand-mode #ke-dashboard-live-constellation[data-ke-bloom-state="pending"] .ke-dashboard-connector {
    opacity: 1;
  }

  html.ke-rebrand-mode #ke-dashboard-live-constellation[data-ke-bloom-state="pending"] .ke-dashboard-circle-action {
    pointer-events: auto;
  }

  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-orbit--hex .ke-dashboard-circle-action::after,
  html.ke-rebrand-mode #ke-dashboard-live-constellation[data-ke-bloom-state="running"] .ke-dashboard-circle-action::after {
    animation: none !important;
  }
}

/* Selected Flame Bloom geometry -------------------------------------------
   The living Flame is the faceted heart; its six actions are quiet circular
   medallions. Existing IDs, routes, focus order, and Bloom measurements stay
   unchanged so this is a visual-only shape inversion. */
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] {
  --kd-circle-size: 31.5%;
  --kd-circle-height: 19.2%;
  /* A true 15% lift from the approved 42.9 x 26.2 center. The six outer
     medallions keep their near-edge mobile footprint, while the larger core
     gives each nested Bloom more room for its short therapeutic prompt. */
  --kd-core-size: 49.3%;
  --kd-core-height: 30.1%;
}

/* Keep the Home medallions within roughly two device pixels of the canvas
   edge on a 390px phone. The connector rays remain centered on every action
   and stay visible between the larger core and each circular destination. */
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] #ke-dashboard-breathe,
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] #ke-dashboard-community-button {
  left: 83.75%;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-tool--intention,
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-tool--journal-new {
  left: 16.25%;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-circle-action {
  aspect-ratio: 1;
  background:
    conic-gradient(
      from 215deg,
      #82591f 0%,
      #d5aa50 18%,
      #fff0b4 31%,
      #b7802c 49%,
      #f0d488 69%,
      #916323 84%,
      #d7b56d 100%
    );
  border-radius: 50%;
  clip-path: none;
  filter:
    drop-shadow(0 3px 0 rgba(105, 72, 24, .78))
    drop-shadow(0 11px 20px rgba(0, 0, 0, .26))
    drop-shadow(0 0 10px rgba(215, 181, 109, .22));
  height: auto;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-circle-action::before {
  background:
    radial-gradient(circle at 31% 20%, rgba(255, 255, 255, .84), transparent 28%),
    linear-gradient(145deg, rgba(255, 255, 255, .48), transparent 40%),
    linear-gradient(325deg, rgba(104, 66, 19, .13), transparent 48%),
    linear-gradient(155deg, #fffefa 0%, #f8f1e7 61%, #e5d6c2 100%);
  border-radius: 50%;
  clip-path: none;
  inset: 4px;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-circle-action::after {
  animation: keLuminousCircleRimSweep 10.8s linear infinite;
  animation-delay: var(--ke-circle-rim-delay, 0s);
  backface-visibility: hidden;
  background: conic-gradient(
    from 0deg,
    #b98329 0deg 205deg,
    #d9ae50 220deg,
    #f7dc91 238deg,
    #fff9dd 252deg,
    #e8bc5a 267deg,
    #c28b2d 288deg,
    #b98329 360deg
  );
  background-size: auto;
  border-radius: 50%;
  clip-path: none;
  inset: 1px;
  opacity: .94;
  padding: 3px;
  transform-origin: 50% 50%;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-checkin {
  --ke-circle-rim-delay: 0s;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-breathe {
  --ke-circle-rim-delay: -1.8s;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-community-button {
  --ke-circle-rim-delay: -3.6s;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-call-karamo {
  --ke-circle-rim-delay: -5.4s;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-intention {
  --ke-circle-rim-delay: -7.2s;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-journal-new {
  --ke-circle-rim-delay: -9s;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-circle-action:hover {
  filter:
    brightness(1.02)
    drop-shadow(0 4px 0 rgba(105, 72, 24, .8))
    drop-shadow(0 14px 23px rgba(0, 0, 0, .29))
    drop-shadow(0 0 13px rgba(215, 181, 109, .29));
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core,
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core::before,
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core::after {
  border-radius: 0;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core {
  background:
    conic-gradient(
      from 30deg,
      #ffe9a0 0 16.666%,
      #c28c35 16.666% 33.333%,
      #79501a 33.333% 50%,
      #9f7127 50% 66.666%,
      #f0ce78 66.666% 83.333%,
      #fff0ad 83.333% 100%
    );
  border: 0;
  filter:
    drop-shadow(0 4px 0 rgba(99, 64, 18, .82))
    drop-shadow(0 15px 26px rgba(0, 0, 0, .38))
    drop-shadow(0 0 25px rgba(215, 181, 109, .34));
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core::before {
  background:
    radial-gradient(circle at 36% 23%, rgba(255, 255, 255, .1), transparent 27%),
    radial-gradient(circle at 50% 47%, rgba(215, 181, 109, .14), transparent 43%),
    linear-gradient(155deg, #29424d 0%, #10242d 58%, #08161b 100%);
  border: 1px solid rgba(241, 220, 167, .14);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .08),
    inset -10px -12px 20px rgba(0, 0, 0, .2);
  inset: 4px;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core::after {
  animation: keLuminousHexCoreShimmer 7.8s ease-in-out infinite;
  background: linear-gradient(
    112deg,
    transparent 25%,
    rgba(255, 250, 228, .28) 40%,
    rgba(255, 242, 191, .9) 48%,
    #d7b56d 53%,
    transparent 67%
  );
  background-size: 300% 100%;
  inset: 1px;
  opacity: .62;
  padding: 2px;
}

html.ke-rebrand-mode #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"][data-ke-bloom-state="running"] .ke-dashboard-circle-action {
  backface-visibility: hidden;
}

@keyframes keLuminousCircleRimSweep {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes keLuminousHexCoreShimmer {
  0%, 18% { background-position: 125% 0; opacity: .24; }
  52% { opacity: .68; }
  82%, 100% { background-position: -125% 0; opacity: .28; }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-circle-action::after,
  html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core::after {
    animation: none !important;
  }
}

/* Approved shared point-top Flame system ---------------------------------
   The 430px dashboard constellation and onboarding Bloom now share a roughly
   50% core. Content medallions grow to 34% and move inward just enough to
   keep their rims, labels, and focus treatments inside the viewport. */
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] {
  --kd-circle-size: 34%;
  --kd-circle-height: 20.72%;
  --kd-core-size: 49.3%;
  --kd-core-height: 30.1%;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-tool--breathe,
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-tool--community {
  left: 82.25%;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-tool--intention,
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-tool--journal-new {
  left: 17.75%;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-circle-action {
  overflow: visible;
  padding: clamp(13px,3.7vw,18px);
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-circle-action .ke-dashboard-tool-content {
  margin-inline: auto;
  max-width: 88%;
  overflow: visible;
}

/* Keep the living Flame outside the painted hex's clipping context. The two
   pseudo-elements paint the faceted chassis and inner field, so a tall Flame
   can breathe above the point without being sliced by clip-path. */
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core {
  background: transparent;
  box-shadow: none;
  clip-path: none;
  isolation: isolate;
  overflow: visible;
  padding: clamp(22px,6vw,32px) clamp(13px,4vw,23px);
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core::before {
  background: conic-gradient(
    from 0deg,
    #ffe9a0 0 16.666%,
    #c28c35 16.666% 33.333%,
    #79501a 33.333% 50%,
    #9f7127 50% 66.666%,
    #f0ce78 66.666% 83.333%,
    #fff0ad 83.333% 100%
  );
  border: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18),inset -9px -11px 18px rgba(70,39,8,.23);
  clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  inset: 0;
  z-index: 0;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core::after {
  animation: kePointTopHexInnerShimmer 8.2s cubic-bezier(.45,0,.18,1) infinite;
  background:
    linear-gradient(112deg,transparent 24%,rgba(255,250,228,.05) 39%,rgba(255,242,191,.2) 48%,transparent 62%),
    radial-gradient(circle at 36% 23%,rgba(255,255,255,.1),transparent 27%),
    radial-gradient(circle at 50% 47%,rgba(215,181,109,.14),transparent 43%),
    linear-gradient(155deg,#29424d 0%,#10242d 58%,#08161b 100%);
  background-position: 125% 0,0 0,0 0,0 0;
  background-size: 300% 100%,auto,auto,auto;
  clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  inset: 4px;
  opacity: 1;
  padding: 0;
  -webkit-mask: none;
  mask: none;
  z-index: 1;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core .ke-dashboard-tool-content {
  overflow: visible;
  z-index: 2;
}

@keyframes kePointTopHexInnerShimmer {
  0%,18% { background-position: 125% 0,0 0,0 0,0 0; }
  82%,100% { background-position: -125% 0,0 0,0 0,0 0; }
}

@media (max-height: 520px) and (orientation: landscape) {
  html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] {
    --kd-circle-size: 32%;
    --kd-circle-height: 19.5%;
  }

  html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core {
    padding-block: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #scr-dashboard,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-circle-action,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-core,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-connector {
    scroll-behavior: auto !important;
    transition: none !important;
  }

  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-circle-action::after,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-core::after,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-connector,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-svg,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-glow,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-ember,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-task-count {
    animation: none !important;
  }

  html.ke-rebrand-mode #ke-dashboard-live-constellation[data-ke-bloom-state="pending"] .ke-dashboard-circle-action,
  html.ke-rebrand-mode #ke-dashboard-live-constellation[data-ke-bloom-state="pending"] .ke-dashboard-connector {
    opacity: 1 !important;
  }
}

/* Final Home constellation spacing and marker placement -------------------
   Open the vertical rhythm around the center. The connector layout pins the
   north/south beams to the center peaks and the side beams to the midpoint of
   each slanted hex edge before running to these circles. */
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] #ke-dashboard-checkin {
  top: 11.5%;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] #ke-dashboard-journal-new,
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] #ke-dashboard-breathe {
  top: 27.25%;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] #ke-dashboard-intention,
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] #ke-dashboard-community-button {
  top: 72.75%;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] #ke-dashboard-call-karamo {
  top: 88.5%;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"][data-ke-flow-state="home"] .ke-dashboard-connector {
  height: var(--ke-dashboard-line-length, 28.5%);
  left: var(--ke-dashboard-line-left, 50%);
  top: var(--ke-dashboard-line-top, 50%);
  transform: rotate(var(--ke-dashboard-line-angle, 0deg));
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-circle-action::after {
  animation: none;
  background: linear-gradient(145deg, #f7da8b 0%, #bd8530 54%, #edc96c 100%);
  opacity: .78;
  transform: none;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] :is(.ke-dashboard-spark-pending, .ke-dashboard-task-count) {
  --ke-spark-comet-height: 18px;
  --ke-spark-comet-width: 18px;
  bottom: 15px;
  height: 18px;
  min-width: 18px;
  width: 18px;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-community-unread-flame--dashboard {
  bottom: -11px;
  left: 50%;
  transform: translateX(-50%);
}

/* Text Karamo writing jewel ----------------------------------------------
   Voice-call controls and the message transcript remain unchanged. Only the
   native text composer blooms from a calm circle into a keyboard-ready jewel. */
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form {
  align-items: stretch;
  aspect-ratio: 1;
  background:
    radial-gradient(circle at 34% 22%, rgba(255,255,255,.14), transparent 24%) padding-box,
    radial-gradient(circle at 50% 58%, #7d3952 0%, #5e273d 56%, #2e111e 100%) padding-box,
    conic-gradient(from 24deg, #fff0b6, #b57c2c 18%, #f4d589 36%, #775019 54%, #d0a04a 73%, #fff0b6) border-box;
  border: 3px solid transparent;
  border-radius: 50%;
  box-shadow:
    inset 0 0 0 4px rgba(8,22,28,.5),
    inset 0 14px 25px rgba(255,255,255,.045),
    0 18px 44px rgba(7,19,24,.32),
    0 0 30px rgba(215,181,109,.15);
  box-sizing: border-box;
  display: grid;
  gap: 10px;
  grid-template-rows: minmax(0, 1fr) auto;
  justify-items: center;
  margin: 8px auto 10px;
  min-height: min(262px, 68vw);
  overflow: visible;
  padding: 36px 30px 24px;
  position: relative;
  transition:
    width .36s cubic-bezier(.22,.8,.24,1),
    min-height .36s cubic-bezier(.22,.8,.24,1),
    border-radius .36s cubic-bezier(.22,.8,.24,1),
    box-shadow .25s ease;
  width: min(262px, 68vw);
  z-index: 3;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form:focus-within,
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form:has(textarea:not(:placeholder-shown)) {
  aspect-ratio: auto;
  border-radius: clamp(54px, 10vw, 76px);
  box-shadow:
    inset 0 0 0 4px rgba(8,22,28,.46),
    inset 0 16px 29px rgba(255,255,255,.06),
    0 22px 52px rgba(7,19,24,.36),
    0 0 40px rgba(215,181,109,.21);
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-rows: 1fr;
  min-height: 168px;
  padding: 24px 22px;
  width: min(100%, 430px);
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form:focus-within {
  outline: 3px solid #f1dca7;
  outline-offset: 5px;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form textarea {
  -webkit-appearance: none;
  appearance: none;
  align-self: stretch;
  background: transparent !important;
  border: 0 !important;
  border-radius: 26px;
  box-shadow: none !important;
  caret-color: #fff0b6;
  color: #fffaf0;
  flex: none;
  font: 500 17px/1.5 var(--ke-font-reflective, "Cormorant Garamond", serif);
  justify-self: stretch;
  max-height: 136px;
  min-height: 118px;
  outline: 2px solid transparent;
  outline-offset: 2px;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 10px 12px;
  resize: none;
  scrollbar-color: rgba(241,220,167,.55) transparent;
  width: 100%;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form textarea::placeholder {
  color: rgba(255,250,240,.72);
  opacity: 1;
  text-align: center;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form textarea:focus-visible {
  outline-color: rgba(255,240,182,.95);
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form button {
  align-self: center;
  background: linear-gradient(145deg, #f2d795, #c69743);
  border: 1px solid #fff0b6;
  border-radius: 999px;
  box-shadow: inset 0 1px rgba(255,255,255,.55), 0 7px 16px rgba(0,0,0,.2);
  color: #10242d;
  font-size: 11px;
  justify-self: center;
  min-height: 44px;
  min-width: 88px;
  padding: 10px 18px;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form button:focus-visible {
  outline: 3px solid #fffaf0;
  outline-offset: 3px;
}

/* Ask Karamo message jewel: a centered, conversation-first composer with
   high-contrast teal and navy tones. This is scoped to the Ask surface so it
   cannot change the app's other AI or chat surfaces. */
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form,
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form:focus-within,
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form:has(textarea:not(:placeholder-shown)) {
  align-items: center;
  aspect-ratio: auto;
  background: linear-gradient(135deg, #0d5361, #0a334d 72%) padding-box,
    linear-gradient(120deg, #9ee5de, #2e92a0 46%, #f1c879) border-box;
  border: 2px solid transparent;
  border-radius: 999px;
  box-shadow: inset 0 1px rgba(255,255,255,.18), 0 13px 30px rgba(7,35,52,.27);
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) 46px;
  grid-template-rows: auto;
  margin: 14px auto 12px;
  min-height: 66px;
  padding: 8px 9px 8px 18px;
  width: min(100%, 430px);
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form textarea {
  color: #fffdf7;
  font: 600 16px/1.4 var(--ke-font-reflective, "Cormorant Garamond", serif);
  max-height: 102px;
  min-height: 46px;
  padding: 10px 4px;
  text-align: left;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form textarea::placeholder {
  color: #9ce6df;
  text-align: left;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form button {
  align-self: center;
  background: linear-gradient(145deg, #f4da9a, #cf9837);
  border: 1px solid #fff2c3;
  border-radius: 50%;
  color: #102d43;
  font-family: system-ui, sans-serif;
  font-size: 23px;
  font-weight: 800;
  height: 46px;
  justify-self: end;
  line-height: 1;
  min-height: 46px;
  min-width: 46px;
  padding: 0 0 3px;
  width: 46px;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-messages {
  padding-inline: 8px;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-message,
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-message.is-karamo {
  background: linear-gradient(135deg, #e9fffb, #bdece5);
  border-color: #2d8e91;
  color: #073a49;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-message.is-user {
  background: linear-gradient(135deg, #153d5d, #0d2945);
  border-color: #8f2234;
  color: #fffdf7;
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-message.is-error {
  background: #fff1f1;
  border-color: #a12337;
  color: #671426;
}

@media (max-width: 430px) {
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form {
    min-height: min(238px, 68vw);
    padding: 30px 26px 21px;
    width: min(238px, 68vw);
  }

  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form:focus-within,
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form:has(textarea:not(:placeholder-shown)) {
    min-height: 152px;
    padding: 18px 16px;
    width: 100%;
  }

  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form textarea {
    font-size: 16px;
    min-height: 104px;
  }
}

/* A short landscape viewport is normally the software-keyboard state. Keep
   the jewel identity, but use a wide capsule so the native field remains in
   view and the send control keeps its 44px touch target. */
@media (max-height: 620px) and (max-width: 720px) {
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form,
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form:focus-within,
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form:has(textarea:not(:placeholder-shown)) {
    aspect-ratio: auto;
    border-radius: 46px;
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-rows: 1fr;
    margin-block: 4px 6px;
    min-height: 112px;
    padding: 13px 14px;
    width: 100%;
  }

  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form textarea {
    max-height: 92px;
    min-height: 76px;
    padding: 8px 10px;
  }
}

/* Keep the compact jewel bar on narrow and keyboard-constrained viewports;
   these rules intentionally follow the legacy responsive circle treatment. */
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form,
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form:focus-within,
html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form:has(textarea:not(:placeholder-shown)) {
  border-radius: 999px;
  grid-template-columns: minmax(0, 1fr) 46px;
  grid-template-rows: auto;
  min-height: 66px;
  padding: 8px 9px 8px 18px;
  width: min(100%, 430px);
}

html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form textarea {
  max-height: 102px;
  min-height: 46px;
  padding: 10px 4px;
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form,
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form textarea,
  html.ke-rebrand-mode #ke-talk-chooser .ke-talk-text-view:not([hidden]) .ke-talk-text-form button {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* The Home Flame is the supplied Kindled loop with its black field removed at
   the asset level. No generated halo, shadow, or ember layer is added. */
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-home-flame-image {
  background: transparent;
  display: block;
  filter: none !important;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
  pointer-events: none;
  width: 100%;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-glow,
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-picture,
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-flame-svg,
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-live-ember { display: none !important; }

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] {
  --kd-core-height: 36.4% !important;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-shape="hex-core-circle-actions"] .ke-dashboard-live-flame-core {
  aspect-ratio: .8660254 !important;
  height: auto !important;
}

/* Contextual Home recommendation -----------------------------------------
   Each Home arrival names one next step in the center, lights that action's
   existing circular rim, then returns the center to the Keeper's named Flame.
   The rim stays lit so the recommendation remains visible after the copy has
   completed its introduction. */
html.ke-rebrand-mode #scr-dashboard .ke-dashboard-recommendation-content {
  inset: 18% 13%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: translateY(6px) scale(.98);
  transition: opacity .48s ease, transform .6s cubic-bezier(.22,.8,.24,1);
  width: auto;
  z-index: 4;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-recommendation-content small {
  color: #e5c982;
  font: 700 clamp(10px, 6cqi, 12px)/1.15 var(--ke-font-sans, Arial, sans-serif);
  letter-spacing: .025em;
  margin: 0;
  text-transform: none;
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-recommendation-content strong {
  color: #fffaf2;
  font-family: var(--ke-font-reflective, "Cormorant Garamond", "Playfair Display", serif);
  font-size: clamp(14px, calc(9cqi + 4px), 20px);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.12;
  max-width: 100%;
  text-transform: none;
  text-wrap: balance;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-recommendation-phase="message"] .ke-dashboard-recommendation-content,
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-recommendation-phase="highlight"] .ke-dashboard-recommendation-content {
  opacity: 1;
  transform: translateY(0) scale(1);
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-recommendation-phase="message"] .ke-dashboard-flame-status-content,
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-recommendation-phase="highlight"] .ke-dashboard-flame-status-content {
  opacity: 0;
  transform: translateY(-5px) scale(.97);
}

html.ke-rebrand-mode #scr-dashboard .ke-dashboard-flame-status-content {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition: opacity .48s ease, transform .58s cubic-bezier(.22,.8,.24,1);
}

/* Match the steady selected-answer rim in the multiple-choice opening flow. */
html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-flow-state="home"] .ke-dashboard-circle-action.is-recommended::before {
  inset: 6px;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-flow-state="home"] .ke-dashboard-circle-action.is-recommended::after {
  animation: none !important;
  background: #fff4af !important;
  inset: 0;
  opacity: 1 !important;
  padding: 6px !important;
}

html.ke-rebrand-mode #scr-dashboard #ke-dashboard-live-constellation[data-ke-flow-state="home"] .ke-dashboard-circle-action.is-recommended {
  background: conic-gradient(from 205deg,#d39316 0%,#ffe681 18%,#fff8c9 31%,#f0b72e 49%,#fff0a0 68%,#d99b18 84%,#ffe675 100%);
  filter:
    brightness(1.08)
    drop-shadow(0 3px 0 rgba(119,73,5,.8))
    drop-shadow(0 11px 20px rgba(0,0,0,.26));
}

@media (prefers-reduced-motion: reduce) {
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-recommendation-content,
  html.ke-rebrand-mode #scr-dashboard .ke-dashboard-flame-status-content { transition: none !important; }
}

/* Ordinary Home keeps a readable minimum constellation and scrolls inside
   the existing shell when height/zoom cannot accommodate it. The shell's
   footer already owns its height; this extra space clears its raised portrait
   and the action focus rings. Nested Blooms and onboarding own their layouts. */
html.ke-rebrand-mode:not(.ke-first-session-dashboard) #scr-dashboard:has([data-ke-flow-state="home"]) .ke-dashboard-main {
  display: block;
  overflow: hidden auto;
  overscroll-behavior-y: contain;
  padding: 12px 12px 42px;
  scroll-padding-block: 14px 42px;
}

html.ke-rebrand-mode:not(.ke-first-session-dashboard) #scr-dashboard:has([data-ke-flow-state="home"]) .ke-dashboard-tools {
  min-height: 100%;
  overflow: visible;
}

html.ke-rebrand-mode:not(.ke-first-session-dashboard) #scr-dashboard #ke-dashboard-live-constellation[data-ke-flow-state="home"] {
  flex: 0 0 auto;
  height: auto;
  max-height: none;
  width: min(100%, clamp(300px, calc((100dvh - 194px) * .609375), 430px));
}

html.ke-rebrand-mode:not(.ke-first-session-dashboard) #scr-dashboard #ke-dashboard-live-constellation[data-ke-flow-state="home"] .ke-dashboard-live-flame-core {
  container-type: inline-size;
}

html.ke-rebrand-mode:not(.ke-first-session-dashboard) #scr-dashboard #ke-dashboard-live-constellation[data-ke-flow-state="home"] .ke-dashboard-circle-action {
  --ke-circle-label-size: clamp(16px, 24cqi, 21px);
}

html.ke-rebrand-mode:not(.ke-first-session-dashboard) #scr-dashboard #ke-dashboard-live-constellation[data-ke-flow-state="home"] #ke-dashboard-community-button {
  --ke-circle-label-size: clamp(14px, 19cqi, 18px);
}

html.ke-rebrand-mode:not(.ke-first-session-dashboard) #scr-dashboard #ke-dashboard-live-constellation[data-ke-flow-state="home"] .ke-dashboard-recommendation-content {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 7px;
  justify-content: center;
  margin: 0;
  max-width: none;
  padding: 0;
  text-align: center;
}
