/* theme.css — "Where Are You On The Mountain": the app's own visual identity.
 *
 * Fresh and self-owned (NOT the book's lore-plate). Fraunces (contemplative
 * optical serif) + Inter (body), an obsidian-indigo ground with warm parchment
 * working surfaces, gold hairlines, and the three-mountain accent trio.
 * New "mtn-" scoped classes coexist with the legacy astrology-tab styles.
 * Fonts are <link>ed from index.html <head>.
 */

:root {
  /* ground (dark cosmic) */
  --w-ground:    #0c0c15;
  --w-ground-2:  #12121d;
  --w-surface:   #191926;   /* dark card */
  --w-surface-2: #20202f;
  /* parchment (warm working surfaces) */
  --w-paper:     #f4eee1;
  --w-paper-2:   #eae1cf;
  /* ink */
  --w-ink:       #201f2b;   /* text on paper */
  --w-ink-soft:  #56545f;
  --w-cream:     #efe9db;   /* text on dark */
  --w-cream-soft:rgba(239,233,219,0.62);
  --w-cream-faint:rgba(239,233,219,0.28);
  /* accents */
  --w-gold:      #c9a24c;
  --w-gold-2:    #e3c477;
  --w-violet:    #9a80cf;   /* Jungian stage label */
  /* the three mountains */
  --w-m1: #d2622e;  /* I  · Doing · ember */
  --w-m2: #c9a24c;  /* II · Becoming · gold */
  --w-m3: #6fb2cf;  /* III· Being · sky */
  /* lines / shadow */
  --w-line:      rgba(239,233,219,0.10);
  --w-line-2:    rgba(239,233,219,0.18);
  --w-shadow:    0 18px 50px rgba(0,0,0,0.45);
  /* type */
  --w-serif: "Fraunces", "Cormorant Garamond", Georgia, serif;
  --w-sans:  "Inter", "DM Sans", system-ui, sans-serif;
  /* rhythm */
  --w-r-sm: 8px; --w-r: 14px; --w-r-lg: 22px;
  --w-space: 20px;
  --w-maxw: 720px;
}

/* per-mountain accent: set data-m="I|II|III" to theme a subtree */
[data-m="I"]   { --w-accent: var(--w-m1); }
[data-m="II"]  { --w-accent: var(--w-m2); }
[data-m="III"] { --w-accent: var(--w-m3); }

/* ---- base scope ---- */
.mtn {
  font-family: var(--w-sans);
  color: var(--w-cream);
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}
.mtn h1, .mtn h2, .mtn h3, .mtn .display {
  font-family: var(--w-serif);
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.12;
  color: var(--w-cream);
}
.mtn .display { font-size: clamp(30px, 6vw, 54px); font-optical-sizing: auto; }
.mtn h2 { font-size: clamp(22px, 4vw, 30px); }
.mtn h3 { font-size: 18px; }
.mtn .eyebrow {
  font-family: var(--w-sans);
  font-size: 11px; letter-spacing: 0.34em; text-transform: uppercase;
  color: var(--w-gold); font-weight: 500;
}
.mtn .lede { font-family: var(--w-serif); font-size: clamp(17px,2.4vw,21px); font-style: italic; color: var(--w-cream-soft); }
.mtn .muted { color: var(--w-cream-soft); }
.mtn .hr { height: 1px; background: var(--w-line); border: 0; margin: var(--w-space) 0; }
.mtn .hr-gold { height: 2px; width: 52px; background: var(--w-gold); border: 0; margin: 12px 0 18px; }

/* ---- surfaces ---- */
.mtn-card {
  background: var(--w-surface);
  border: 1px solid var(--w-line);
  border-radius: var(--w-r-lg);
  padding: 22px;
  box-shadow: var(--w-shadow);
}
.mtn-card.paper { background: var(--w-paper); color: var(--w-ink); border-color: var(--w-paper-2); box-shadow: none; }
.mtn-card.paper h1, .mtn-card.paper h2, .mtn-card.paper h3 { color: var(--w-ink); }
.mtn-card.paper .muted { color: var(--w-ink-soft); }
.mtn-card.accent { border-left: 3px solid var(--w-accent, var(--w-gold)); }

/* ---- buttons ---- */
.mtn-btn {
  font-family: var(--w-sans); font-size: 14px; font-weight: 500; letter-spacing: 0.02em;
  min-height: 44px; padding: 13px 22px; border-radius: 999px; border: 1px solid var(--w-gold);
  background: transparent; color: var(--w-gold-2); cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .1s ease;
}
.mtn-btn:hover { background: var(--w-gold); color: #12100a; }
.mtn-btn:active { transform: translateY(1px); }
.mtn-btn.solid { background: var(--w-gold); color: #12100a; }
.mtn-btn.solid:hover { background: var(--w-gold-2); }
.mtn-btn.ghost { border-color: var(--w-line-2); color: var(--w-cream-soft); }
.mtn-btn.block { display: block; width: 100%; text-align: center; }
.mtn-btn:disabled { cursor: not-allowed; opacity: .55; }
.mtn-btn.selected { border-width: 2px; color: var(--w-cream); background: rgba(201,162,76,.12); }
.mtn button:focus-visible, .mtn a:focus-visible, .mtn input:focus-visible,
.mtn textarea:focus-visible, .mtn select:focus-visible {
  outline: 3px solid var(--w-gold-2); outline-offset: 3px;
}
.mtn [tabindex="-1"]:focus { outline: none; }

/* ---- assessment 1..5 scale ---- */
.mtn-scale { display: flex; gap: 10px; align-items: center; }
.mtn-dot {
  width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--w-cream-faint);
  background: transparent; cursor: pointer; transition: all .15s ease; flex: 0 0 auto;
}
.mtn-dot:hover { border-color: var(--w-gold); }
.mtn-dot.on { background: var(--w-accent, var(--w-gold)); border-color: var(--w-accent, var(--w-gold)); }
.mtn-radio-label { position: relative; display: inline-flex; cursor: pointer; }
.mtn-radio-label input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.mtn-radio-label > span[aria-hidden="true"] {
  width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--w-cream-faint);
  display: inline-flex; align-items: center; justify-content: center; color: var(--w-cream-soft);
  font-weight: 600; transition: background .15s ease, border-color .15s ease;
}
.mtn-radio-label input:checked + span {
  background: var(--w-accent, var(--w-gold)); border: 4px double var(--w-ground);
  color: #101019;
}
.mtn-radio-label input:focus-visible + span { outline: 3px solid var(--w-gold-2); outline-offset: 3px; }

/* ---- mountain chips / labels ---- */
.mtn-chip {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 999px; border: 1px solid var(--w-line-2);
  color: var(--w-cream-soft);
}
.mtn-chip::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--w-accent, var(--w-gold)); }
.mtn-stage-label { color: var(--w-violet); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; }

/* ---- meters / movement bars ---- */
.mtn-meter { height: 8px; border-radius: 999px; background: rgba(239,233,219,0.08); overflow: hidden; }
.mtn-meter > span { display: block; height: 100%; background: var(--w-accent, var(--w-gold)); border-radius: 999px; }
.mtn-delta.up   { color: var(--w-m3); }
.mtn-delta.down { color: var(--w-m1); }

/* ---- layout helpers ---- */
.mtn-wrap { max-width: var(--w-maxw); margin: 0 auto; padding: 0 var(--w-space); }
.mtn-stack > * + * { margin-top: 14px; }
.mtn-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 640px) { .mtn-grid-3 { grid-template-columns: 1fr; } }
.mtn-topbar, .mtn-section-head, .mtn-map-head, .mtn-actions, .mtn-fit, .mtn-tag-row {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;
}
.mtn-actions { justify-content: flex-start; margin-top: 16px; }
.mtn-fit { justify-content: flex-start; margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--w-line); }
.mtn-tag-row { justify-content: flex-start; margin: 10px 0 16px; }

/* ---- assessment + mountain view components ---- */
#mtn-screen { display: none; min-height: 100vh; background: var(--w-ground); }
#mtn-screen.ready { display: block; }
#mtn-screen::before {
  content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(ellipse at 18% 12%, rgba(154,128,207,0.08) 0%, transparent 55%),
    radial-gradient(ellipse at 82% 78%, rgba(201,162,76,0.06) 0%, transparent 55%);
}
#mtn-screen .mtn { position: relative; z-index: 1; }
.mtn-scale-key { display: flex; justify-content: space-between; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--w-cream-soft); border-bottom: 1px solid var(--w-line); padding-bottom: 8px; margin-top: 16px; }
.mtn-block { margin-top: 18px; }
.mtn-item { display: flex; width: 100%; min-width: 0; justify-content: space-between; align-items: center; gap: 18px; padding: 13px 0; margin: 0; border: 0; border-bottom: 1px solid var(--w-line); }
.mtn-item-text { flex: 1; font-size: 15px; color: var(--w-cream); margin: 0; }
.mtn-terrain-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--w-line); font-size: 14px; }
.mtn-terrain-row:last-child { border-bottom: 0; }
.mtn-do { display: flex; gap: 12px; align-items: flex-start; padding: 13px 15px; border: 1px solid var(--w-line); border-radius: var(--w-r); cursor: pointer; transition: border-color .15s, background .15s; }
.mtn-do.on { border-color: var(--w-accent, var(--w-gold)); background: rgba(201,162,76,0.06); }
.mtn-do input { margin-top: 3px; accent-color: var(--w-accent, var(--w-gold)); }
.mtn-do span { font-size: 15px; line-height: 1.5; }
.mtn-entry { width: 100%; min-height: 112px; background: var(--w-surface-2); border: 1px solid var(--w-line-2); border-radius: var(--w-r); color: var(--w-cream); padding: 14px; font-family: var(--w-sans); font-size: 15px; line-height: 1.6; resize: vertical; }
.mtn-entry:focus { outline: none; border-color: var(--w-gold); }
.mtn-prompts { padding-left: 20px; margin: 0; }
.mtn-prompts li { font-family: var(--w-serif); font-style: italic; font-size: 17px; color: var(--w-cream-soft); margin: 9px 0; line-height: 1.5; }

/* ---- human map + explicit write forms ---- */
.mtn-hypothesis { margin-bottom: 28px; }
.mtn-human-map { scroll-margin-top: 18px; }
.mtn-map-head { align-items: flex-start; }
.mtn-map-field { margin-top: 14px; }
.mtn-map-field p { margin: 7px 0; }
.mtn-presence-label {
  display: inline-flex; padding: 5px 10px; border: 1px solid var(--w-line-2);
  border-radius: 999px; color: var(--w-cream-soft); font-size: 12px;
}

/* ---- the three-mountain sanctuary ---- */
.mtn-map-place-wrap {
  max-width: 1240px;
  padding-top: 24px;
  padding-bottom: 80px;
}
.mtn-map-place-wrap > .mtn-topbar { margin-bottom: 18px; }
.mtn-map-place { position: relative; isolation: isolate; }
.mtn-map-place__vista {
  position: relative;
  aspect-ratio: 2 / 1;
  overflow: hidden;
  border: 1px solid rgba(227,196,119,.24);
  border-radius: 30px;
  background: #0a101d;
  box-shadow: 0 30px 90px rgba(0,0,0,.58), inset 0 0 0 1px rgba(255,255,255,.025);
}
.mtn-map-place__media,
.mtn-map-place__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.mtn-map-place__media img {
  object-fit: cover;
  object-position: center;
  animation: mtn-map-place-arrive 1.35s cubic-bezier(.2,.7,.2,1) both;
}
.mtn-map-place__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(4,7,15,.86) 0%, rgba(7,11,22,.52) 42%, rgba(7,11,22,.13) 72%),
    linear-gradient(180deg, rgba(5,8,17,.16) 28%, rgba(5,8,17,.72) 100%);
}
.mtn-map-place__intro {
  position: absolute;
  z-index: 2;
  top: clamp(28px, 4vw, 52px);
  left: clamp(24px, 4vw, 54px);
  max-width: 570px;
  text-shadow: 0 2px 20px rgba(0,0,0,.72);
}
.mtn-map-place__intro h1 {
  max-width: 540px;
  margin: 8px 0 10px;
  font-size: clamp(34px, 4.3vw, 58px);
}
.mtn-map-place__intro p {
  max-width: 540px;
  margin: 0;
  color: rgba(239,233,219,.82);
  font-family: var(--w-serif);
  font-size: clamp(16px, 1.7vw, 20px);
  font-style: italic;
  line-height: 1.5;
}
.mtn-map-place__hypothesis {
  position: absolute;
  z-index: 2;
  left: clamp(24px, 4vw, 54px);
  bottom: 104px;
  width: min(520px, calc(100% - 48px));
}
.mtn-map-place__hypothesis .mtn-hypothesis {
  margin: 0;
  padding: 18px 20px;
  border-color: rgba(227,196,119,.28);
  background: rgba(8,11,22,.78);
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.mtn-map-place__hypothesis .mtn-hypothesis h2 {
  margin: 5px 0 7px;
  font-size: clamp(20px, 2.1vw, 27px);
}
.mtn-map-place__hypothesis .mtn-hypothesis p { margin: 0; font-size: 14px; }
.mtn-map-place__stations {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: -76px 26px 0;
}
.mtn-map-station.mtn-card.accent {
  display: flex;
  min-width: 0;
  min-height: 520px;
  flex-direction: column;
  padding: 21px;
  border: 1px solid rgba(239,233,219,.16);
  border-top: 2px solid var(--w-accent);
  background: linear-gradient(180deg, rgba(27,29,44,.94), rgba(12,14,25,.985));
  box-shadow: 0 22px 58px rgba(0,0,0,.48);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
.mtn-map-station .mtn-map-head { display: block; }
.mtn-map-station .mtn-presence-label { margin-top: 12px; }
.mtn-map-station__body { flex: 1; padding-top: 3px; }
.mtn-map-station__body > p { font-size: 14px; }
.mtn-map-station__fit {
  display: block;
  min-width: 0;
  margin: 16px 0 0;
  padding: 14px 0 0;
  border: 0;
  border-top: 1px solid var(--w-line);
}
.mtn-map-station__fit legend {
  margin: 0 0 9px;
  padding: 0;
  color: var(--w-cream-soft);
  font-size: 13px;
}
.mtn-map-station__fit-choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.mtn-map-station__fit-choices .mtn-btn {
  width: 100%;
  min-height: 44px;
  padding: 9px 5px;
  font-size: 12px;
}
.mtn-map-station__fit-choices .mtn-btn.selected {
  border-color: var(--w-accent);
  background: rgba(239,233,219,.1);
  box-shadow: inset 0 0 0 1px var(--w-accent);
}
.mtn-map-station > .mtn-actions {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  margin-top: 14px;
}
.mtn-map-station > .mtn-actions .mtn-btn { width: 100%; }
.mtn-map-place__hearth {
  position: relative;
  max-width: 790px;
  margin: 28px auto 0;
  padding: 30px clamp(22px, 5vw, 50px);
  overflow: hidden;
  text-align: center;
  border-color: rgba(227,196,119,.24);
  background:
    radial-gradient(circle at 50% 0, rgba(201,162,76,.17), transparent 42%),
    linear-gradient(180deg, rgba(24,23,34,.98), rgba(13,14,23,.98));
}
.mtn-map-place__hearth-mark {
  position: relative;
  width: 50px;
  height: 50px;
  margin: 0 auto 14px;
  border: 1px solid rgba(227,196,119,.58);
  border-radius: 50%;
  box-shadow: 0 0 30px rgba(201,162,76,.16), inset 0 0 0 8px rgba(201,162,76,.05);
}
.mtn-map-place__hearth-mark::after {
  content: "";
  position: absolute;
  inset: 17px;
  border-radius: 50%;
  background: var(--w-gold-2);
  box-shadow: 0 0 18px rgba(227,196,119,.72);
}
.mtn-map-place__hearth h2 { margin: 7px auto 12px; max-width: 650px; }
.mtn-map-place__hearth p { max-width: 650px; margin-left: auto; margin-right: auto; }
.mtn-map-place__terrain { font-size: 13px; }
.mtn-campfire__lede {
  color: rgba(239,233,219,.78);
  font-family: var(--w-serif);
  font-size: 17px;
  font-style: italic;
}
.mtn-campfire__starters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin: 22px 0 0;
}
.mtn-campfire__starter {
  min-height: 82px;
  padding: 13px 14px;
  border: 1px solid rgba(227,196,119,.32);
  border-radius: 15px;
  color: var(--w-cream);
  background: rgba(8,10,19,.56);
  cursor: pointer;
  text-align: left;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.mtn-campfire__starter strong,
.mtn-campfire__starter span { display: block; }
.mtn-campfire__starter strong { color: var(--w-gold-2); font: 500 14px/1.25 var(--w-serif); }
.mtn-campfire__starter span { margin-top: 5px; color: var(--w-cream-soft); font: 12px/1.35 var(--w-sans); }
@media (hover: hover) and (pointer: fine) {
  .mtn-campfire__starter:hover {
    border-color: var(--w-gold-2);
    background: rgba(201,162,76,.1);
    transform: translateY(-2px);
  }
}
.mtn-campfire__memory {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--w-line);
}
.mtn-campfire__memory > p { margin-top: 9px; margin-bottom: 9px; }
.mtn-map-place__after { max-width: 790px; margin: 34px auto 0; }
.mtn-map-place__carry > .mtn-stage-label { margin: 0 0 9px 4px; }
.mtn-map-place__carry .mtn-experiment { margin-top: 0; }
.mtn-map-place__movement { margin-top: 22px; }
.mtn-map-place__movement:empty { display: none; }
.mtn-map-place__retake { margin-top: 30px; text-align: center; }
.mtn-map-place__retake p { margin: 8px auto 0; max-width: 620px; font-size: 13px; }

@keyframes mtn-map-place-arrive {
  from { opacity: .72; transform: scale(1.018); }
  to { opacity: 1; transform: scale(1); }
}

/* ---- dedicated fireside conversation ---- */
.mtn-fire-room {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  background: #070a12;
  color: var(--w-cream);
}
.mtn-fire-room__media,
.mtn-fire-room__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.mtn-fire-room__media img { object-fit: cover; object-position: center; }
.mtn-fire-room__video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center; pointer-events: none;
}
.mtn-fire-room__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3,6,13,.36) 0%, rgba(3,6,13,.08) 48%, rgba(3,6,13,.82) 75%, rgba(3,6,13,.98) 100%),
    linear-gradient(180deg, rgba(3,6,13,.15), rgba(3,6,13,.52));
}
.mtn-fire-room__glow {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: -10%;
  width: 42vw;
  aspect-ratio: 1;
  pointer-events: none;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(225,151,63,.28), rgba(201,98,46,.1) 30%, transparent 67%);
  filter: blur(14px);
}
.mtn-fire-room__scene-copy {
  position: absolute;
  z-index: 2;
  top: clamp(24px, 4vw, 52px);
  left: clamp(24px, 4vw, 58px);
  width: min(470px, calc(100% - 600px));
  text-shadow: 0 3px 24px rgba(0,0,0,.7);
}
.mtn-fire-room__scene-copy .eyebrow { margin-top: clamp(34px, 7vh, 78px); }
.mtn-fire-room__scene-copy h1 {
  margin: 8px 0 10px;
  font-size: clamp(38px, 5.2vw, 68px);
}
.mtn-fire-room__scene-copy p {
  margin: 0;
  color: rgba(239,233,219,.82);
  font: italic clamp(17px, 1.6vw, 21px)/1.5 var(--w-serif);
}
.mtn-fire-room__dock {
  position: absolute;
  z-index: 3;
  inset: 0 0 0 auto;
  display: flex;
  width: clamp(440px, 36vw, 520px);
  min-height: 0;
  flex-direction: column;
  border-left: 1px solid rgba(227,196,119,.3);
  background: rgba(8,10,18,.94);
  box-shadow: -24px 0 70px rgba(0,0,0,.34);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  animation: mtn-fire-dock-arrive .24s ease-out both;
}
.mtn-fire-room__dock-head {
  flex: 0 0 auto;
  padding: clamp(26px, 5vh, 52px) 30px 20px;
  border-bottom: 1px solid var(--w-line);
}
.mtn-fire-room__dock-head h2 { margin: 6px 0 8px; font-size: clamp(28px, 3vw, 38px); }
.mtn-fire-room__dock-head p { margin: 0; color: var(--w-cream-soft); }
.mtn-fire-room .dash-chat__msgs {
  min-height: 0;
  padding: 24px 30px;
  overscroll-behavior: contain;
}
.mtn-fire-room .dash-chat__msg { line-height: 1.62; }
.mtn-fire-room .dash-chat__msg.assistant {
  align-self: stretch;
  max-width: 100%;
  padding: 3px 0 3px 17px;
  border: 0;
  border-left: 2px solid rgba(227,196,119,.72);
  border-radius: 0;
  color: rgba(239,233,219,.9);
  background: transparent;
  font: 400 17px/1.62 var(--w-serif);
  font-style: normal;
}
.mtn-fire-room .dash-chat__msg.assistant::before {
  content: "The Guide";
  display: block;
  margin-bottom: 6px;
  color: var(--w-gold-2);
  font: 700 9px/1.2 var(--w-sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.mtn-fire-room .dash-chat__msg.user {
  max-width: 88%;
  padding: 12px 15px;
  border-color: rgba(210,98,46,.42);
  background: rgba(210,98,46,.13);
}
.mtn-fire-room .dash-chat__msg.busy { color: var(--w-cream-soft); font-size: 14px; }
.mtn-fire-room__starters {
  display: grid;
  gap: 8px;
  flex: 0 0 auto;
  padding: 0 30px 18px;
}
.mtn-fire-room__starters .mtn-campfire__starter { min-height: 64px; }
.mtn-fire-room .dash-chat__input {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  flex: 0 0 auto;
  padding: 16px 22px calc(16px + env(safe-area-inset-bottom));
  background: rgba(8,10,18,.98);
}
.mtn-fire-room .dash-chat__input textarea {
  min-height: 54px;
  max-height: 150px;
  font-size: 16px;
}
.dash-chat__locked { padding: 22px; }
.mtn-fire-room .dash-chat__locked { margin: auto 8px; padding: 26px 30px; }
.dash-chat__empty { margin: 0; font-size: 13px; }

@keyframes mtn-fire-dock-arrive {
  from { opacity: 0; transform: translateX(12px); }
  to { opacity: 1; transform: translateX(0); }
}

.mtn-experiment { margin-top: 2px; }
.mtn-form { max-width: 680px; margin-left: auto; margin-right: auto; }
.mtn-field { margin-top: 19px; }
.mtn-field > label, .mtn-field > legend { display: block; color: var(--w-cream); font-weight: 600; margin-bottom: 6px; }
.mtn-field > .muted { margin: 0 0 8px; font-size: 13px; }
.mtn-field textarea, .mtn-field input[type="text"], .mtn-field input:not([type]), .mtn-field input[type="date"], .mtn-field select {
  box-sizing: border-box; width: 100%; min-height: 48px; background: var(--w-surface-2);
  border: 1px solid var(--w-line-2); border-radius: var(--w-r); color: var(--w-cream);
  padding: 12px 14px; font: 16px/1.5 var(--w-sans);
}
.mtn-field textarea { min-height: 100px; resize: vertical; }
.mtn-field input[type="date"] { color-scheme: dark; }
fieldset.mtn-field { border: 0; padding: 0; }
.mtn-check-row { display: grid; gap: 8px; }
.mtn-check-row label { display: flex; align-items: center; min-height: 44px; gap: 10px; padding: 6px 10px; border: 1px solid var(--w-line); border-radius: var(--w-r-sm); }
.mtn-check-row input { width: 20px; height: 20px; accent-color: var(--w-gold); }
.mtn-status { min-height: 1.5em; color: var(--w-cream-soft); font-size: 13px; }
.mtn-status.warning { color: #7a4b00; background: #fff3cf; padding: 9px 11px; border-radius: var(--w-r-sm); }
.mtn-card.paper .mtn-status { color: var(--w-ink-soft); }
.sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important;
  margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important; border: 0 !important;
}

@media (max-width: 640px) {
  .mtn-item { align-items: stretch; flex-direction: column; gap: 10px; }
  .mtn-scale { width: 100%; justify-content: space-between; gap: 4px; }
  .mtn-radio-label > span[aria-hidden="true"] { width: 46px; height: 46px; }
  .mtn-map-head { flex-direction: column; }
  .mtn-btn { min-height: 44px; }
  .mtn-field textarea, .mtn-field input[type="text"], .mtn-field input:not([type]),
  .mtn-field input[type="date"], .mtn-field select { font-size: 16px; }
}

@media (max-width: 900px) {
  .mtn-map-place-wrap { padding-top: 16px; padding-bottom: 64px; }
  .mtn-map-place__vista { min-height: 0; aspect-ratio: auto; }
  .mtn-map-place__media {
    position: relative;
    inset: auto;
    aspect-ratio: 2 / 1;
  }
  .mtn-map-place__veil {
    inset: 0 0 auto;
    aspect-ratio: 2 / 1;
    background:
      linear-gradient(90deg, rgba(4,7,15,.85), rgba(7,11,22,.3) 78%),
      linear-gradient(180deg, rgba(5,8,17,.08), rgba(5,8,17,.68));
  }
  .mtn-map-place__intro {
    top: clamp(18px, 4vw, 34px);
    left: clamp(18px, 4vw, 34px);
    max-width: min(570px, calc(100% - 36px));
  }
  .mtn-map-place__intro h1 { font-size: clamp(28px, 6.3vw, 44px); }
  .mtn-map-place__hypothesis {
    position: relative;
    left: auto;
    bottom: auto;
    width: auto;
    padding: 16px;
  }
  .mtn-map-place__hypothesis .mtn-hypothesis {
    border-color: var(--w-line-2);
    background: rgba(18,19,31,.98);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .mtn-map-place__stations {
    grid-template-columns: minmax(0, 1fr);
    margin: 16px 0 0;
  }
  .mtn-map-station.mtn-card.accent { min-height: 0; }
  .mtn-map-place__hearth { margin-top: 18px; }
}

@media (max-width: 1099px) {
  .mtn-fire-room { overflow: auto; }
  .mtn-fire-room__media {
    position: relative;
    inset: auto;
    height: 36dvh;
    min-height: 260px;
    max-height: 410px;
  }
  .mtn-fire-room__veil {
    inset: 0 0 auto;
    height: 36dvh;
    min-height: 260px;
    max-height: 410px;
    background: linear-gradient(90deg, rgba(3,6,13,.72), rgba(3,6,13,.12) 70%), linear-gradient(180deg, rgba(3,6,13,.08), rgba(3,6,13,.62));
  }
  .mtn-fire-room__glow { top: 10dvh; bottom: auto; width: 52vw; }
  .mtn-fire-room__scene-copy {
    top: 20px;
    left: 22px;
    width: min(520px, calc(100% - 44px));
  }
  .mtn-fire-room__scene-copy .eyebrow { margin-top: clamp(22px, 5vh, 46px); }
  .mtn-fire-room__scene-copy h1 { font-size: clamp(34px, 6vw, 52px); }
  .mtn-fire-room__dock {
    position: relative;
    inset: auto;
    width: 100%;
    min-height: 64dvh;
    border-top: 1px solid rgba(227,196,119,.3);
    border-left: 0;
    background: #0b0d17;
    box-shadow: 0 -18px 48px rgba(0,0,0,.24);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .mtn-fire-room .dash-chat__msgs { min-height: 240px; max-height: 46dvh; }
}

@media (max-width: 560px) {
  .mtn-map-place-wrap { padding-right: 14px; padding-left: 14px; }
  .mtn-map-place-wrap > .mtn-topbar { align-items: flex-start; }
  .mtn-map-place__vista { border-radius: 22px; }
  .mtn-map-place__intro { top: 15px; left: 16px; max-width: calc(100% - 32px); }
  .mtn-map-place__intro .eyebrow { letter-spacing: .22em; }
  .mtn-map-place__intro h1 { margin: 5px 0 7px; font-size: clamp(26px, 8vw, 34px); }
  .mtn-map-place__intro p { font-size: 13px; line-height: 1.38; }
  .mtn-map-place__hypothesis { padding: 12px; }
  .mtn-map-place__hypothesis .mtn-hypothesis,
  .mtn-map-station.mtn-card.accent,
  .mtn-map-place__hearth { padding: 18px; }
  .mtn-map-station__fit-choices { gap: 5px; }
  .mtn-map-station__fit-choices .mtn-btn { padding-right: 3px; padding-left: 3px; }
  .mtn-map-place__hearth h2 { font-size: 23px; }
  .mtn-campfire__starters { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .mtn-fire-room__media,
  .mtn-fire-room__veil {
    height: 30svh;
    min-height: 220px;
    max-height: 300px;
  }
  .mtn-fire-room__scene-copy { top: 12px; left: 14px; width: calc(100% - 28px); }
  .mtn-fire-room__scene-copy .mtn-btn { min-height: 44px; padding: 9px 15px; }
  .mtn-fire-room__scene-copy .eyebrow { margin-top: 15px; }
  .mtn-fire-room__scene-copy h1 { margin: 5px 0 6px; font-size: clamp(28px, 8vw, 38px); }
  .mtn-fire-room__scene-copy p { font-size: 14px; }
  .mtn-fire-room__dock { min-height: 70dvh; }
  .mtn-fire-room__dock-head { padding: 22px 20px 17px; }
  .mtn-fire-room__dock-head h2 { font-size: 29px; }
  .mtn-fire-room .dash-chat__msgs { min-height: 210px; max-height: 42dvh; padding: 20px; }
  .mtn-fire-room__starters { padding: 0 20px 16px; }
  .mtn-fire-room .dash-chat__input {
    position: sticky;
    bottom: 0;
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media (max-width: 480px) {
  .mtn-fire-room .dash-chat__input { grid-template-columns: 1fr; }
  .mtn-fire-room .dash-chat__input .mtn-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .mtn *, .mtn *::before, .mtn *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .mtn-map-place__media img { animation: none !important; transform: none !important; }
  .mtn-map-place *, .mtn-map-place *::before, .mtn-map-place *::after { transition: none !important; }
  .mtn-fire-room__dock,
  .mtn-fire-room *, .mtn-fire-room *::before, .mtn-fire-room *::after { animation: none !important; transition: none !important; }
}

@media (prefers-contrast: more) {
  .mtn-map-place__veil {
    background:
      linear-gradient(90deg, rgba(0,0,0,.94), rgba(0,0,0,.58) 72%),
      linear-gradient(180deg, rgba(0,0,0,.25), rgba(0,0,0,.9));
  }
  .mtn-map-place__hypothesis .mtn-hypothesis,
  .mtn-map-station.mtn-card.accent,
  .mtn-map-place__hearth {
    border-width: 2px;
    background: #090a11;
  }
  .mtn-map-place__intro p,
  .mtn-map-place .muted { color: rgba(255,255,255,.88); }
  .mtn-fire-room__dock { border-color: #fff; background: #05060a; }
  .mtn-fire-room .dash-chat__msg.assistant { color: #fff; }
}

@media (forced-colors: active) {
  .mtn-map-place__media,
  .mtn-map-place__veil,
  .mtn-map-place__hearth-mark,
  .mtn-fire-room__media,
  .mtn-fire-room__veil,
  .mtn-fire-room__glow { display: none; }
  .mtn-map-place__vista {
    min-height: 0;
    aspect-ratio: auto;
    overflow: visible;
    border: 1px solid ButtonText;
    background: Canvas;
    box-shadow: none;
  }
  .mtn-map-place__intro,
  .mtn-map-place__hypothesis {
    position: relative;
    inset: auto;
    width: auto;
    max-width: none;
    padding: 18px;
    color: CanvasText;
    text-shadow: none;
  }
  .mtn-map-place__intro p,
  .mtn-map-place .muted { color: CanvasText; }
  .mtn-map-place__hypothesis .mtn-hypothesis,
  .mtn-map-station.mtn-card.accent,
  .mtn-map-place__hearth {
    border: 1px solid ButtonText;
    background: Canvas;
    color: CanvasText;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .mtn-map-place__stations { margin-top: 16px; }
  .mtn-fire-room { min-height: 100vh; overflow: auto; background: Canvas; color: CanvasText; }
  .mtn-fire-room__scene-copy,
  .mtn-fire-room__dock {
    position: relative;
    inset: auto;
    width: auto;
    max-width: none;
    color: CanvasText;
    background: Canvas;
    text-shadow: none;
  }
  .mtn-fire-room__scene-copy { padding: 20px; }
  .mtn-fire-room__dock { min-height: 0; border: 1px solid ButtonText; box-shadow: none; }
  .mtn-fire-room .dash-chat__msg.assistant,
  .mtn-fire-room .dash-chat__msg.user,
  .mtn-campfire__starter { border: 1px solid ButtonText; color: CanvasText; background: Canvas; }
}

/* ================================================================
   FREE HOME — the account-less, device-local mountain sanctuary.
   These styles sit on the paid dashboard language without making a
   locked preview look like an error or blurring its upgrade action.
   ================================================================ */
.mtn-seed-chat__home-door {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px;
  margin: 14px 0; padding: 15px 17px; border: 1px solid rgba(240,207,126,.46);
  border-radius: 16px; color: #fff8e8;
  background: linear-gradient(115deg, rgba(9,20,28,.92), rgba(43,31,28,.88));
  box-shadow: 0 12px 34px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.05);
}
.mtn-seed-chat__home-door > div { min-width: 0; }
.mtn-seed-chat__home-door strong { display: block; margin-top: 4px; font: 500 16px/1.3 var(--w-serif); }
.mtn-seed-chat__home-door small { display: block; margin-top: 4px; color: rgba(255,248,232,.68); font-size: 11px; }
.mtn-seed-chat__home-door .mtn-seed-entry__primary { width: auto; min-width: 170px; margin: 0; }

.guest-free-top { background: linear-gradient(90deg, rgba(14,18,29,.92), rgba(8,11,19,.78)); }
.guest-free-top .dash-avatar { font-size: 20px; background: radial-gradient(circle at 50% 42%, rgba(240,207,126,.23), rgba(22,26,39,.96)); }
.guest-free-local {
  display: inline-flex; align-items: center; width: fit-content; margin: 0 0 7px; padding: 5px 9px;
  border: 1px solid rgba(240,207,126,.34); border-radius: 999px; color: #f0d58f;
  background: rgba(240,207,126,.07); font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase;
}
.guest-free-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px 18px; }
.guest-free-head .dash-rule { grid-column: 1 / -1; }
.guest-free-seed {
  display: flex; align-items: baseline; gap: 10px; margin: 12px 0 0; padding: 10px 14px;
  border-left: 2px solid var(--w-gold); color: var(--w-cream-soft); background: rgba(255,255,255,.025);
  font: italic 14px/1.5 var(--w-serif);
}
.guest-free-seed, .guest-free-seed *, .guest-free-checkpoints li > div,
.guest-free-checkpoints li strong, .guest-free-checkpoints li p,
.guest-free-goal-summary__copy, .guest-free-goal-summary__copy h3,
.guest-free-goal-summary__copy p, .guest-free-method-lock strong,
.mtn-card h2, .mtn-card h3, .mtn-card p {
  min-width: 0; overflow-wrap: anywhere;
}
.guest-free-seed span { flex: 0 0 auto; color: var(--w-gold-2); font: 750 9px/1 var(--w-sans); letter-spacing: .14em; text-transform: uppercase; }
.guest-free-world__guide { text-decoration: none; }

.guest-free-tab--locked .dash-tab__media { filter: grayscale(.38); }
.guest-free-tab--locked .dash-tab__scrim { background: linear-gradient(90deg, rgba(3,6,13,.96), rgba(3,6,13,.76)); }
.guest-free-tab__lock {
  position: absolute; z-index: 4; top: 9px; right: 9px; display: grid; place-items: center;
  width: 24px; height: 24px; border: 1px solid rgba(240,207,126,.65); border-radius: 50%;
  color: #f0d58f; background: rgba(4,8,17,.82); font: 800 13px/1 var(--w-sans);
}

.guest-free-checkpoints {
  --w-accent: var(--w-gold); margin-top: 16px; padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--w-line-2); border-top: 3px solid var(--w-accent); border-radius: 20px;
  background: linear-gradient(145deg, rgba(30,29,42,.96), rgba(16,17,26,.98)); box-shadow: var(--w-shadow);
}
.guest-free-checkpoints[data-m="I"] { --w-accent: var(--w-m1); }
.guest-free-checkpoints[data-m="II"] { --w-accent: var(--w-m2); }
.guest-free-checkpoints[data-m="III"] { --w-accent: var(--w-m3); }
.guest-free-checkpoints__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.guest-free-checkpoints__head h2 { margin: 5px 0 3px; font: 400 26px/1.15 var(--w-serif); }
.guest-free-checkpoints__head p { margin: 0; color: var(--w-cream-soft); font-size: 13px; }
.guest-free-checkpoints ol { display: grid; gap: 9px; margin: 18px 0; padding: 0; list-style: none; }
.guest-free-checkpoints li { display: flex; align-items: flex-start; gap: 11px; padding: 12px 14px; border: 1px solid var(--w-line); border-radius: 13px; background: rgba(255,255,255,.025); }
.guest-free-checkpoints li > span { width: 10px; height: 10px; margin-top: 5px; flex: 0 0 auto; border-radius: 50%; background: var(--w-accent); box-shadow: 0 0 12px var(--w-accent); }
.guest-free-checkpoints li strong { color: var(--w-cream); font: 500 16px/1.3 var(--w-serif); }
.guest-free-checkpoints li p { margin: 4px 0 0; color: var(--w-cream-soft); font-size: 13px; line-height: 1.5; }
.guest-free-checkpoints__empty { border-style: dashed !important; }

.guest-free-lock {
  position: relative; isolation: isolate; min-height: 330px; margin: 18px 0 0; overflow: hidden;
  display: flex; align-items: center; border: 1px solid rgba(239,233,219,.25); border-radius: 22px;
  background: #090c15; box-shadow: 0 24px 60px rgba(0,0,0,.42);
}
.guest-free-lock::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(4,7,13,.24), rgba(4,7,13,.92) 49%, rgba(4,7,13,.98)); }
.guest-free-lock__content { position: relative; z-index: 2; width: min(58%, 590px); margin-left: auto; padding: clamp(26px, 5vw, 54px); }
.guest-free-lock__badge { display: inline-flex; align-items: center; gap: 7px; color: #f0d58f; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.guest-free-lock__badge > span { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid currentColor; border-radius: 50%; }
.guest-free-lock__content .eyebrow { margin-top: 18px; color: var(--w-gold-2); }
.guest-free-lock__content h2 { margin: 6px 0 10px; color: #fffaf0; font: 400 clamp(25px, 3.2vw, 39px)/1.08 var(--w-serif); }
.guest-free-lock__content > p:not(.eyebrow) { max-width: 52ch; color: rgba(255,250,240,.78); font-size: 14px; line-height: 1.65; }
.guest-free-lock__content .mtn-btn { margin-top: 19px; }
.guest-free-lock__plans { display: grid; gap: 6px; margin-top: 15px; color: rgba(255,250,240,.7); font-size: 12px; }
.guest-free-lock__plans strong { color: #f0d58f; }

.guest-free-chart-lock__sky {
  position: absolute; inset: 0 42% 0 0; z-index: -2;
  background:
    radial-gradient(circle at 36% 43%, rgba(248,218,140,.78) 0 2px, transparent 3px),
    radial-gradient(circle at 69% 26%, rgba(153,215,239,.7) 0 1px, transparent 2px),
    radial-gradient(circle at 22% 72%, rgba(255,255,255,.78) 0 1px, transparent 2px),
    url("/img/mountain-world-v2.jpg") center/cover;
  filter: saturate(.72) brightness(.56);
}
.guest-free-chart-lock__orbit { position: absolute; left: 50%; top: 50%; width: min(29vw, 280px); aspect-ratio: 1; border: 1px solid rgba(240,207,126,.43); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 42px rgba(240,207,126,.08); }
.guest-free-chart-lock__orbit:nth-child(2) { width: min(20vw, 190px); transform: translate(-50%,-50%) rotate(42deg); border-style: dashed; }
.guest-free-chart-lock__orbit::before, .guest-free-chart-lock__orbit::after { content: ""; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #f0d58f; box-shadow: 0 0 16px #f0d58f; }
.guest-free-chart-lock__orbit::before { left: 7%; top: 22%; }
.guest-free-chart-lock__orbit::after { right: 10%; bottom: 19%; }
.guest-free-chart-lock__star { position: absolute; left: 50%; top: 50%; width: 44px; height: 44px; border-radius: 50%; transform: translate(-50%,-50%); background: radial-gradient(circle, #fff4c9, #dba84b 28%, rgba(219,168,75,.18) 62%, transparent 70%); box-shadow: 0 0 44px rgba(240,207,126,.5); }

.guest-free-journal-lock__scene { position: absolute; inset: 0 42% 0 0; z-index: -2; background: url("/img/tabs/tab-journal-v1.jpg") center 68%/cover no-repeat; filter: saturate(.74) brightness(.58); transform: scale(1.02); }
.guest-free-method-lock { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px 16px; margin-top: 14px; padding: 13px 14px; border: 1px dashed rgba(240,207,126,.38); border-radius: 13px; background: rgba(240,207,126,.045); }
.guest-free-method-lock .guest-free-lock__badge { grid-column: 1 / -1; }
.guest-free-method-lock strong { color: var(--w-cream-soft); font: 500 14px/1.45 var(--w-serif); }
.guest-free-method-lock .mtn-btn { padding: 9px 13px; }
.guest-free-goal-edit { display: grid; gap: 10px; }
.guest-free-goal-edit .mtn-field { margin: 0; }
.guest-free-device-note { margin: 18px auto 28px; max-width: 680px; color: var(--w-cream-soft); font-size: 12px; line-height: 1.55; text-align: center; }
.guest-free-goal-summary { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; min-width: 0; }
.guest-free-storage-status { margin: 14px 0 0; }
.guest-free-chart-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 14px 0 30px; }
.guest-free-chart-compare article { padding: 18px; border: 1px solid var(--w-line); border-radius: 16px; background: var(--w-surface); }
.guest-free-chart-compare span { color: var(--w-gold-2); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.guest-free-chart-compare h3 { margin: 5px 0; font: 500 20px/1.2 var(--w-serif); }
.guest-free-chart-compare p { margin: 0; color: var(--w-cream-soft); font-size: 13px; line-height: 1.5; }

@media (max-width: 720px) {
  .mtn-seed-chat__home-door, .guest-free-method-lock { grid-template-columns: 1fr; }
  .mtn-seed-chat__home-door .mtn-seed-entry__primary, .guest-free-method-lock .mtn-btn { width: 100%; }
  .guest-free-head { display: block; }
  .guest-free-head > .mtn-btn { width: 100%; margin-top: 12px; }
  .guest-free-seed { display: block; }
  .guest-free-seed span { display: block; margin-bottom: 6px; }
  .guest-free-lock { min-height: 0; padding-top: 180px; }
  .guest-free-lock::after { background: linear-gradient(180deg, rgba(4,7,13,.06), rgba(4,7,13,.92) 39%, rgba(4,7,13,.99)); }
  .guest-free-lock__content { width: 100%; padding: 24px 20px 28px; }
  .guest-free-chart-lock__sky, .guest-free-journal-lock__scene { inset: 0 0 auto; height: 230px; }
  .guest-free-chart-lock__orbit { width: 180px; }
  .guest-free-chart-lock__orbit:nth-child(2) { width: 125px; }
  .guest-free-chart-compare { grid-template-columns: 1fr; }
  .guest-free-checkpoints__head { display: block; }
  .guest-free-checkpoints__head .mtn-btn { width: 100%; margin-top: 12px; }
}

@media (max-width: 480px) {
  .guest-free-goal-summary { flex-direction: column; align-items: stretch; }
  .guest-free-goal-summary .mtn-presence-label { align-self: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .guest-free-chart-lock__orbit { transform: translate(-50%,-50%) !important; }
}

@media (forced-colors: active) {
  .mtn-seed-chat__home-door, .guest-free-checkpoints, .guest-free-lock,
  .guest-free-method-lock, .guest-free-chart-compare article {
    color: CanvasText; background: Canvas; border: 2px solid CanvasText; box-shadow: none;
  }
  .guest-free-chart-lock__sky, .guest-free-journal-lock__scene, .guest-free-lock::after { display: none; }
  .guest-free-lock { padding-top: 0; }
  .guest-free-lock__content { width: 100%; }
  .guest-free-lock__content h2, .guest-free-lock__content > p:not(.eyebrow),
  .guest-free-method-lock strong, .guest-free-chart-compare p { color: CanvasText; }
  .guest-free-tab__lock, .guest-free-local, .guest-free-lock__badge { color: CanvasText; border-color: CanvasText; }
}

/* ------------------------------------------------ Plant Your First Seed ----- */
.mtn-seed-entry {
  --seed-gold: #e9bf62;
  --seed-cream: #fff8e8;
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  min-height: 100svh;
  overflow: hidden;
  color: var(--seed-cream);
  background: #02070d;
}
.mtn-seed-entry__media,
.mtn-seed-entry__media img,
.mtn-seed-entry__veil,
.mtn-seed-entry__stars,
.mtn-seed-entry__cloud {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.mtn-seed-entry__media { z-index: -6; }
.mtn-seed-entry__media img { object-fit: cover; object-position: center; }
.mtn-seed-entry__video {
  position: absolute; inset: 0; width: 100%; height: 100%; z-index: -6;
  object-fit: cover; object-position: center; pointer-events: none;
}
video[data-ambient-video] {
  pointer-events: none !important;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}
@media (prefers-reduced-motion: reduce) { .mtn-seed-entry__video { display: none; } }
/* On mobile the paired picture reflows to a short scenic header, but an
   absolute inset:0 video would stretch over the whole scrollable page and
   swallow the UI. Show the art-directed still there instead (also better for
   battery/data). Covers every full-bleed ambient background video. */
@media (max-width: 840px) {
  .mtn-seed-entry__video,
  .dash-world__video,
  .mtn-fire-room__video,
  .dash-tab video.dash-tab__media { display: none !important; }
}
/* Width alone misses rotated phones (844–932 CSS px is common). Runtime
   rendering also omits these films; this is the rotation/resize backstop. */
@media (hover: none) and (pointer: coarse),
       (max-height: 520px) and (orientation: landscape) {
  video[data-ambient-video] { display: none !important; }
}
.mtn-seed-entry__veil {
  z-index: -5;
  background:
    linear-gradient(90deg, rgba(1,6,11,.12) 0%, rgba(1,6,11,.08) 45%, rgba(1,5,10,.86) 68%, rgba(1,5,10,.98) 100%),
    linear-gradient(180deg, rgba(1,5,10,.08), transparent 48%, rgba(1,5,10,.56));
}
.mtn-seed-entry__stars {
  z-index: -4;
  height: 48%;
  background-image:
    radial-gradient(circle at 11% 16%, rgba(255,247,218,.9) 0 1px, transparent 1.7px),
    radial-gradient(circle at 29% 28%, rgba(198,224,235,.72) 0 1px, transparent 1.6px),
    radial-gradient(circle at 48% 12%, rgba(255,247,218,.76) 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 63% 31%, rgba(198,224,235,.64) 0 1px, transparent 1.6px),
    radial-gradient(circle at 81% 17%, rgba(255,247,218,.78) 0 1px, transparent 1.7px);
  opacity: .55;
  animation: mtn-seed-stars 42s ease-in-out infinite alternate;
}
.mtn-seed-entry__stars--two {
  transform: translate3d(2%, -2%, 0) scale(.82);
  opacity: .33;
  animation-duration: 57s;
  animation-direction: alternate-reverse;
}
.mtn-seed-entry__cloud {
  z-index: -3;
  top: 45%;
  right: auto;
  bottom: auto;
  width: 62%;
  height: 14%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(170,200,212,.19), rgba(110,155,177,.06) 48%, transparent 72%);
  opacity: .7;
  filter: blur(12px);
  animation: mtn-seed-cloud 52s ease-in-out infinite alternate;
}
.mtn-seed-entry__cloud--near {
  top: 55%;
  left: 25%;
  width: 54%;
  opacity: .38;
  animation-duration: 68s;
  animation-direction: alternate-reverse;
}
.mtn-seed-entry[data-motion='paused'] .mtn-seed-entry__stars,
.mtn-seed-entry[data-motion='paused'] .mtn-seed-entry__cloud,
.mtn-seed-entry[data-motion='paused'] .mtn-seed-entry__seed::before { animation-play-state: paused; }
@keyframes mtn-seed-stars {
  from { transform: translate3d(-.6%, -.4%, 0); opacity: .38; }
  to { transform: translate3d(.8%, .5%, 0); opacity: .62; }
}
@keyframes mtn-seed-cloud {
  from { transform: translate3d(-8%, 0, 0) scale(.98); }
  to { transform: translate3d(16%, -5%, 0) scale(1.05); }
}
.mtn-seed-entry__topline {
  position: absolute;
  z-index: 4;
  top: max(20px, env(safe-area-inset-top));
  left: clamp(20px, 3.6vw, 58px);
  display: flex;
  align-items: center;
  gap: 18px;
  text-shadow: 0 2px 18px #000;
}
.mtn-seed-entry__topline .eyebrow { color: #f2d687; }
.mtn-seed-entry__topline button,
.mtn-seed-entry__motion,
.mtn-seed-entry__text-action {
  appearance: none;
  border: 0;
  color: rgba(255,248,232,.86);
  background: transparent;
  font: 500 11px/1.25 var(--w-sans);
  letter-spacing: .04em;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
.mtn-seed-entry__motion {
  position: absolute;
  z-index: 5;
  left: clamp(20px, 3.6vw, 58px);
  bottom: max(22px, env(safe-area-inset-bottom));
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 13px;
  gap: 8px;
  border: 1px solid rgba(255,248,232,.28);
  border-radius: 999px;
  text-decoration: none;
  background: rgba(2,7,13,.62);
  backdrop-filter: blur(10px);
}
.mtn-seed-entry__dock {
  position: absolute;
  z-index: 6;
  inset: 0 0 0 auto;
  width: clamp(430px, 38vw, 535px);
  overflow-y: auto;
  padding: max(74px, calc(env(safe-area-inset-top) + 56px)) clamp(30px, 3.4vw, 54px) max(40px, calc(env(safe-area-inset-bottom) + 28px));
  border-left: 1px solid rgba(235,199,119,.24);
  background: linear-gradient(145deg, rgba(4,9,15,.91), rgba(2,6,11,.985));
  box-shadow: -28px 0 90px rgba(0,0,0,.34);
  backdrop-filter: blur(18px);
}
.mtn-seed-entry__panel {
  width: 100%;
  max-width: 455px;
  margin: 0 auto;
}
.mtn-seed-entry__step {
  margin-bottom: 14px;
  color: #f0cf77;
  font: 600 10px/1.4 var(--w-sans);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.mtn-seed-entry__panel h1 {
  max-width: 13ch;
  margin: 0;
  color: #fff9ec;
  font: 400 clamp(38px, 4vw, 60px)/.98 var(--w-serif);
  letter-spacing: -.035em;
  text-wrap: balance;
}
.mtn-seed-entry__panel--planted h1 { max-width: 12ch; }
.mtn-seed-entry__lede {
  max-width: 44ch;
  margin: 18px 0 27px;
  color: rgba(255,248,232,.76);
  font: 400 14px/1.68 var(--w-sans);
}
.mtn-seed-entry__fieldset,
.mtn-seed-entry__sparks {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.mtn-seed-entry__fieldset legend,
.mtn-seed-entry__sparks legend {
  margin-bottom: 14px;
  color: #fff9ec;
  font: 500 16px/1.3 var(--w-serif);
}
.mtn-seed-entry__field { margin: 0 0 16px; }
.mtn-seed-entry__field label {
  display: block;
  margin: 0 0 7px;
  color: rgba(255,248,232,.9);
  font: 550 12px/1.3 var(--w-sans);
  letter-spacing: .04em;
}
.mtn-seed-entry__field input,
.mtn-seed-entry__field textarea {
  width: 100%;
  min-height: 48px;
  padding: 13px 15px;
  resize: vertical;
  border: 1px solid rgba(235,199,119,.31);
  border-radius: 12px;
  outline: 0;
  color: #fff9ec;
  caret-color: var(--seed-gold);
  background: rgba(7,14,21,.88);
  font: 400 16px/1.5 var(--w-sans);
  transition: border-color .18s ease, background .18s ease;
  color-scheme: dark;
}
.mtn-seed-entry__field textarea { min-height: 132px; }
.mtn-seed-entry__field input:disabled { opacity: .46; }
.mtn-seed-entry__field input:focus,
.mtn-seed-entry__field textarea:focus {
  border-color: #f4d681;
  background: rgba(8,17,25,.96);
  box-shadow: 0 0 0 3px rgba(235,199,119,.16);
}
.mtn-seed-entry__field [aria-invalid='true'] { border-color: #ff9e9e; }
.mtn-seed-entry__age {
  margin: 2px 0 10px;
}
.mtn-seed-entry__age label {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 11px;
  color: rgba(255,248,232,.86);
  cursor: pointer;
  font: 500 13px/1.4 var(--w-sans);
}
.mtn-seed-entry__age input {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: #d6ae50;
}
.mtn-seed-entry__age input:focus-visible {
  outline: 3px solid #fff4c4;
  outline-offset: 3px;
}
.mtn-seed-entry__age input[aria-invalid='true'] { outline: 2px solid #ff9e9e; }
.mtn-seed-entry__help,
.mtn-seed-entry__error {
  display: block;
  margin-top: 6px;
  font: 400 11px/1.45 var(--w-sans);
}
.mtn-seed-entry__help { color: rgba(255,248,232,.61); }
.mtn-seed-entry__optional { color: rgba(255,248,232,.55); font-weight: 400; }
.mtn-seed-entry__error { min-height: 1em; color: #ffb5b5; }
.mtn-seed-entry__status {
  min-height: 18px;
  margin: 11px 0 4px;
  color: #ffc0c0;
  font: 500 12px/1.45 var(--w-sans);
}
.mtn-seed-entry__text-action {
  min-height: 44px;
  margin-top: -4px;
  padding: 8px 0;
  color: #f1d584;
}
.mtn-seed-entry__text-action[aria-pressed='true']::before { content: '✓ '; }
.mtn-seed-entry__primary,
.mtn-seed-entry__back {
  min-height: 50px;
  border-radius: 999px;
  padding: 13px 22px;
  cursor: pointer;
  font: 650 12px/1.2 var(--w-sans);
  letter-spacing: .06em;
}
.mtn-seed-entry__primary {
  width: 100%;
  border: 1px solid #f1cf72;
  color: #061018;
  background: linear-gradient(135deg, #f2d277, #bd8736);
  box-shadow: 0 16px 35px rgba(0,0,0,.3);
}
.mtn-seed-entry__back {
  border: 1px solid rgba(255,248,232,.28);
  color: #fff9ec;
  background: rgba(255,255,255,.025);
}
.mtn-seed-entry__actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.mtn-seed-entry__actions .mtn-seed-entry__primary { flex: 1 1 auto; width: auto; }
.mtn-seed-entry__sparks {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 19px 0 8px;
}
.mtn-seed-entry__sparks legend { width: 100%; margin-bottom: 4px; color: rgba(255,248,232,.66); font-family: var(--w-sans); font-size: 11px; }
.mtn-seed-entry__sparks button {
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid rgba(235,199,119,.26);
  border-radius: 999px;
  color: rgba(255,248,232,.82);
  background: rgba(255,255,255,.03);
  font: 500 11px/1.3 var(--w-sans);
  cursor: pointer;
}
.mtn-seed-entry__trust {
  margin: 17px 0 0;
  padding: 12px 13px;
  border: 1px solid rgba(235,199,119,.15);
  border-radius: 10px;
  color: rgba(255,248,232,.66);
  background: rgba(255,255,255,.025);
  font: 400 11px/1.55 var(--w-sans);
}
.mtn-seed-entry__panel blockquote {
  margin: 19px 0 20px;
  padding: 15px 18px;
  border-left: 2px solid #e9bd59;
  color: #fff3cf;
  background: rgba(233,189,89,.055);
  font: italic 400 clamp(17px, 1.5vw, 22px)/1.45 var(--w-serif);
}
.mtn-seed-entry__mountains { display: grid; gap: 8px; margin: 0 0 18px; }
.mtn-seed-entry__mountain {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  align-items: center;
  min-height: 58px;
  padding: 10px 13px;
  border: 1px solid rgba(255,248,232,.18);
  border-radius: 12px;
  text-align: left;
  color: #fff8e8;
  background: rgba(255,255,255,.025);
  cursor: pointer;
}
.mtn-seed-entry__mountain strong { font: 600 13px/1.3 var(--w-serif); }
.mtn-seed-entry__mountain span { color: rgba(255,248,232,.65); font: 400 11px/1.4 var(--w-sans); }
.mtn-seed-entry__mountain.selected {
  border: 2px solid #f1cf72;
  padding: 9px 12px;
  background: rgba(233,189,89,.1);
}
.mtn-seed-entry__mountain.selected::after {
  content: 'Selected';
  grid-column: 1 / -1;
  margin-top: 3px;
  color: #f5d985;
  font: 650 9px/1 var(--w-sans);
  letter-spacing: .13em;
  text-transform: uppercase;
}

/* The code-rendered seed remains interactive while the generated landscape is
   decorative. Roots always point toward all three mountains; no path is ranked. */
.mtn-seed-entry__seed {
  position: absolute;
  z-index: 7;
  left: 38%;
  top: 79%;
  width: 122px;
  min-height: 112px;
  border: 0;
  color: #fff5d4;
  background: transparent;
  cursor: pointer;
  transform: translate(-50%, -50%);
}
.mtn-seed-entry__seed::before {
  content: '';
  position: absolute;
  left: 50%; top: 37px;
  width: 72px; height: 72px;
  border: 1px solid rgba(250,214,125,.28);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: mtn-seed-breathe 4.6s ease-in-out infinite;
}
@keyframes mtn-seed-breathe {
  0%, 100% { opacity: .42; transform: translate(-50%, -50%) scale(.88); }
  50% { opacity: .92; transform: translate(-50%, -50%) scale(1.08); }
}
.mtn-seed-entry__shell {
  position: absolute;
  left: 50%; top: 37px;
  width: 27px; height: 40px;
  border: 1px solid #ffe8a8;
  border-radius: 56% 44% 58% 42% / 60% 44% 56% 40%;
  background: linear-gradient(145deg, #fff0b8 0%, #d6a54e 45%, #5f351b 100%);
  box-shadow: 0 0 20px rgba(255,219,126,.85), 0 7px 16px rgba(0,0,0,.65);
  transform: translate(-50%, -50%) rotate(14deg);
  transition: transform .7s cubic-bezier(.2,.8,.2,1), opacity .45s ease;
}
.mtn-seed-entry__shell i {
  position: absolute;
  left: 50%; top: -18px;
  width: 6px; height: 25px;
  border-radius: 80% 0 80% 0;
  background: #dff7a2;
  box-shadow: 0 0 10px rgba(205,245,137,.72);
  opacity: 0;
  transform: rotate(-35deg) scale(.4);
  transform-origin: 50% 100%;
  transition: opacity .5s ease .25s, transform .7s ease .2s;
}
.mtn-seed-entry__roots {
  position: absolute;
  left: 50%; top: 46px;
  width: 1px; height: 1px;
}
.mtn-seed-entry__roots i {
  position: absolute;
  left: 0; top: 0;
  width: 68px; height: 1px;
  border-top: 1px solid rgba(246,212,123,.82);
  box-shadow: 0 0 8px rgba(246,212,123,.55);
  opacity: 0;
  transform-origin: 0 50%;
  transition: opacity .45s ease, transform .85s cubic-bezier(.2,.8,.2,1);
}
.mtn-seed-entry__roots i:nth-child(1) { transform: rotate(154deg) scaleX(.08); }
.mtn-seed-entry__roots i:nth-child(2) { transform: rotate(90deg) scaleX(.08); }
.mtn-seed-entry__roots i:nth-child(3) { transform: rotate(26deg) scaleX(.08); }
.mtn-seed-entry[data-growth='1'] .mtn-seed-entry__roots i:nth-child(2),
.mtn-seed-entry[data-growth='2'] .mtn-seed-entry__roots i:nth-child(-n+2),
.mtn-seed-entry[data-growth='3'] .mtn-seed-entry__roots i,
.mtn-seed-entry[data-step='planted'] .mtn-seed-entry__roots i { opacity: .92; }
.mtn-seed-entry[data-growth='1'] .mtn-seed-entry__roots i:nth-child(2),
.mtn-seed-entry[data-growth='2'] .mtn-seed-entry__roots i:nth-child(2),
.mtn-seed-entry[data-growth='3'] .mtn-seed-entry__roots i:nth-child(2),
.mtn-seed-entry[data-step='planted'] .mtn-seed-entry__roots i:nth-child(2) { transform: rotate(90deg) scaleX(1); }
.mtn-seed-entry[data-growth='2'] .mtn-seed-entry__roots i:nth-child(1),
.mtn-seed-entry[data-growth='3'] .mtn-seed-entry__roots i:nth-child(1),
.mtn-seed-entry[data-step='planted'] .mtn-seed-entry__roots i:nth-child(1) { transform: rotate(154deg) scaleX(1); }
.mtn-seed-entry[data-growth='3'] .mtn-seed-entry__roots i:nth-child(3),
.mtn-seed-entry[data-step='planted'] .mtn-seed-entry__roots i:nth-child(3) { transform: rotate(26deg) scaleX(1); }
.mtn-seed-entry[data-step='planted'] .mtn-seed-entry__shell { transform: translate(-50%, -45%) rotate(5deg) scale(.88); }
.mtn-seed-entry[data-step='planted'] .mtn-seed-entry__shell i { opacity: 1; transform: rotate(-35deg) scale(1); }
.mtn-seed-entry__seed-label {
  position: absolute;
  left: 50%; top: 76px;
  width: 150px;
  color: #fff8e8;
  font: 650 10px/1.25 var(--w-sans);
  letter-spacing: .08em;
  text-shadow: 0 2px 8px #000, 0 0 14px #000;
  transform: translateX(-50%);
}

/* The guest opening keeps the living seed scene and turns the three visible
   peaks into one interactive trail. Checkpoints are real buttons, not marks
   baked into the decorative image. */
.mtn-seed-chat__range {
  position: absolute;
  z-index: 3;
  top: 16%;
  right: calc(clamp(430px, 38vw, 535px) + 20px);
  bottom: 12%;
  left: clamp(16px, 2.5vw, 42px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(4px, 1vw, 18px);
  pointer-events: none;
}
.mtn-seed-chat__mountain {
  position: relative;
  min-width: 0;
  pointer-events: none;
}
.mtn-seed-chat__mountain:nth-child(1) { margin-top: 25%; }
.mtn-seed-chat__mountain:nth-child(2) { margin-top: 0; }
.mtn-seed-chat__mountain:nth-child(3) { margin-top: 17%; }
.mtn-seed-chat__mountain-hit {
  position: absolute;
  inset: 0 0 0;
  width: 100%;
  border: 1px solid transparent;
  color: #fff9ec;
  background: linear-gradient(180deg, transparent 0 58%, rgba(3,8,13,.34));
  cursor: pointer;
  pointer-events: auto;
  text-shadow: 0 2px 9px #000, 0 0 18px #000;
  transition: background .2s ease, filter .2s ease;
}
.mtn-seed-chat__mountain-hit span,
.mtn-seed-chat__mountain-hit strong {
  position: absolute;
  left: 50%;
  width: 95%;
  transform: translateX(-50%);
}
.mtn-seed-chat__mountain-hit span {
  top: 10%;
  color: rgba(255,246,216,.72);
  font: 650 8px/1.2 var(--w-sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.mtn-seed-chat__mountain-hit strong {
  top: 14%;
  font: 500 clamp(13px, 1.3vw, 19px)/1 var(--w-serif);
}
.mtn-seed-chat__mountain[data-m='I'] .mtn-seed-chat__mountain-hit[aria-pressed='true'] { background: linear-gradient(180deg, rgba(231,102,47,.05), rgba(3,8,13,.38)); }
.mtn-seed-chat__mountain[data-m='II'] .mtn-seed-chat__mountain-hit[aria-pressed='true'] { background: linear-gradient(180deg, rgba(232,190,87,.05), rgba(3,8,13,.38)); }
.mtn-seed-chat__mountain[data-m='III'] .mtn-seed-chat__mountain-hit[aria-pressed='true'] { background: linear-gradient(180deg, rgba(102,193,225,.05), rgba(3,8,13,.38)); }
.mtn-seed-chat__checkpoints {
  position: absolute;
  z-index: 2;
  inset: 24% 8% 11%;
  margin: 0;
  padding: 0;
  list-style: none;
  pointer-events: none;
}
.mtn-seed-chat__checkpoint { position: absolute; left: 45%; top: 15%; }
.mtn-seed-chat__checkpoint--1 { left: 27%; top: 35%; }
.mtn-seed-chat__checkpoint--2 { left: 58%; top: 51%; }
.mtn-seed-chat__checkpoint--3 { left: 18%; top: 68%; }
.mtn-seed-chat__checkpoint--4 { left: 68%; top: 80%; }
.mtn-seed-chat__checkpoint button {
  display: flex;
  width: min(170px, 14vw);
  align-items: center;
  gap: 7px;
  padding: 5px;
  border: 0;
  color: #fff9ec;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  text-align: left;
  text-shadow: 0 2px 8px #000, 0 0 10px #000;
}
.mtn-seed-chat__checkpoint button > span {
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: rgba(2,7,13,.78);
  box-shadow: 0 0 0 4px rgba(245,213,127,.1), 0 0 16px currentColor;
}
.mtn-seed-chat__mountain[data-m='I'] .mtn-seed-chat__checkpoint button { color: #ff9b66; }
.mtn-seed-chat__mountain[data-m='II'] .mtn-seed-chat__checkpoint button { color: #f3d376; }
.mtn-seed-chat__mountain[data-m='III'] .mtn-seed-chat__checkpoint button { color: #8bd8f2; }
.mtn-seed-chat__checkpoint em {
  overflow: hidden;
  color: #fff9ec;
  font: normal 600 10px/1.25 var(--w-sans);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mtn-seed-chat__dock { padding-top: max(54px, calc(env(safe-area-inset-top) + 38px)); }
.mtn-seed-chat__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.mtn-seed-chat__head h1 {
  max-width: 10ch;
  margin: 0;
  color: #fff9ec;
  font: 400 clamp(34px, 3.1vw, 48px)/.98 var(--w-serif);
  letter-spacing: -.035em;
}
.mtn-seed-chat__head .mtn-seed-entry__back { min-height: 38px; padding: 9px 13px; white-space: nowrap; }
.mtn-seed-chat__dock > .mtn-seed-entry__lede { margin: 14px 0 12px; }
.mtn-seed-chat__seed-memory {
  display: -webkit-box;
  max-height: 54px;
  margin: 0 0 10px;
  overflow: hidden;
  color: rgba(255,248,232,.8);
  font: italic 400 11px/1.45 var(--w-serif);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.mtn-seed-chat__seed-memory span {
  display: block;
  margin-bottom: 2px;
  color: #eaca70;
  font: normal 650 8px/1.2 var(--w-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.mtn-seed-chat__context {
  margin: 0 0 12px;
  color: rgba(244,215,134,.75);
  font: 500 10px/1.45 var(--w-sans);
}
.mtn-seed-chat__checkpoint-card,
.mtn-seed-chat__trail-empty {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(235,199,119,.18);
  border-radius: 11px;
  background: rgba(255,255,255,.025);
}
.mtn-seed-entry__back:disabled,
.mtn-seed-chat__local button:disabled { opacity: .42; cursor: not-allowed; }
.mtn-seed-chat__checkpoint-card span {
  display: block;
  margin-bottom: 3px;
  color: #eaca70;
  font: 650 8px/1.2 var(--w-sans);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.mtn-seed-chat__checkpoint-card strong { display: block; color: #fff9ec; font: 600 13px/1.3 var(--w-serif); }
.mtn-seed-chat__checkpoint-card p,
.mtn-seed-chat__trail-empty { color: rgba(255,248,232,.68); font: 400 10px/1.45 var(--w-sans); }
.mtn-seed-chat__checkpoint-card p { margin: 4px 0 0; }
.mtn-seed-chat__messages {
  min-height: 130px;
  max-height: min(31vh, 280px);
  padding: 11px 7px 11px 0;
  overflow-y: auto;
  scrollbar-color: rgba(235,199,119,.3) transparent;
}
.mtn-seed-chat__messages .dash-chat__msg { max-width: 92%; }
.mtn-seed-entry .dash-chat__input.mtn-seed-chat__composer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px auto;
  gap: 8px;
  margin-top: 9px;
  padding: 0;
  border-top: 0;
}
.mtn-seed-entry .mtn-seed-chat__composer textarea {
  grid-column: 1 / -1;
  min-height: 76px;
  max-height: 150px;
  padding: 12px 14px;
  resize: vertical;
  border: 1px solid rgba(235,199,119,.3);
  border-radius: 13px;
  color: #fff9ec;
  background: rgba(7,14,21,.9);
  font: 400 16px/1.45 var(--w-sans);
}
.mtn-seed-entry .mtn-seed-chat__composer .mtn-seed-entry__primary { grid-column: 3; width: auto; min-width: 92px; min-height: 44px; padding: 10px 17px; }
.mtn-seed-chat__mic {
  grid-column: 2;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(235,199,119,.32);
  border-radius: 50%;
  color: #f2d177;
  background: rgba(255,255,255,.035);
  cursor: pointer;
}
.mtn-seed-chat__mic[aria-pressed='true'] { color: #071018; background: #f2d177; box-shadow: 0 0 20px rgba(242,209,119,.35); }
.mtn-seed-chat__mic:disabled { opacity: .38; cursor: not-allowed; }
.mtn-seed-chat__voice-status { grid-column: 1 / -1; min-height: 14px; margin: 0; color: rgba(255,248,232,.58); font: 400 10px/1.35 var(--w-sans); }
.mtn-seed-chat__provider { grid-column: 1 / -1; margin: 0; color: rgba(255,248,232,.62); font: 400 10px/1.45 var(--w-sans); }
.mtn-seed-entry__help a { color: inherit; text-decoration-color: currentColor; text-underline-offset: 2px; }
.mtn-seed-chat__limit {
  margin: 12px 0;
  padding: 15px;
  border: 1px solid rgba(240,199,96,.48);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(233,189,89,.12), rgba(255,255,255,.025));
}
.mtn-seed-chat__limit h3 { margin: 3px 0 5px; color: #fff9ec; font: 500 20px/1.1 var(--w-serif); }
.mtn-seed-chat__limit p { margin: 0 0 12px; color: rgba(255,248,232,.7); font: 400 11px/1.5 var(--w-sans); }
.mtn-seed-chat__limit .mtn-seed-entry__primary { width: auto; min-height: 42px; padding: 10px 16px; }
.mtn-seed-chat__local {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 9px;
  color: rgba(255,248,232,.5);
  font: 400 9px/1.45 var(--w-sans);
}
.mtn-seed-chat__local button { flex: 0 0 auto; border: 0; color: #e9c66d; background: transparent; cursor: pointer; font: 550 9px/1.3 var(--w-sans); text-decoration: underline; text-underline-offset: 3px; }
.mtn-first-fire__seed-context {
  display: flex;
  gap: 10px;
  margin: 17px 0;
  padding: 12px 14px;
  border: 1px solid rgba(233,189,89,.22);
  border-radius: 12px;
  color: rgba(255,248,232,.82);
  background: rgba(233,189,89,.055);
}
.mtn-first-fire__seed-context > span { color: #ebc361; }
.mtn-first-fire__seed-context p { margin: 0; font: 400 12px/1.55 var(--w-sans); }
.mtn-first-fire__seed-context strong { display: block; margin-bottom: 2px; color: #f4d783; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }

@media (hover:hover) and (pointer:fine) {
  .mtn-seed-entry__primary:hover { filter: brightness(1.08); }
  .mtn-seed-entry__back:hover,
  .mtn-seed-entry__mountain:hover,
  .mtn-seed-entry__sparks button:hover { border-color: rgba(245,215,135,.7); background-color: rgba(233,189,89,.08); }
  .mtn-seed-chat__mountain-hit:hover { filter: brightness(1.3); background-color: rgba(235,199,119,.08); }
  .mtn-seed-chat__checkpoint button:hover em { color: #fff0b7; text-decoration: underline; text-underline-offset: 3px; }
  .mtn-seed-entry__seed:hover .mtn-seed-entry__shell { transform: translate(-50%, -50%) rotate(6deg) scale(1.07); }
}
.mtn-seed-entry button:focus-visible,
.mtn-seed-entry input:focus-visible,
.mtn-seed-entry textarea:focus-visible {
  outline: 3px solid #fff3ba;
  outline-offset: 3px;
}

@media (max-width: 840px) {
  .mtn-seed-entry { min-height: 100svh; overflow: auto; }
  .mtn-seed-entry__media,
  .mtn-seed-entry__veil { position: absolute; height: 40svh; min-height: 270px; }
  .mtn-seed-entry__media img { object-position: center 56%; }
  .mtn-seed-entry__veil {
    background: linear-gradient(180deg, rgba(1,5,10,.08), rgba(1,5,10,.1) 55%, #03070c 100%);
  }
  .mtn-seed-entry__stars { height: 24svh; }
  .mtn-seed-entry__cloud { top: 24svh; height: 7svh; }
  .mtn-seed-entry__topline { top: max(12px, env(safe-area-inset-top)); left: 14px; right: 14px; justify-content: space-between; }
  .mtn-seed-entry__motion { top: max(55px, calc(env(safe-area-inset-top) + 43px)); bottom: auto; left: 14px; min-height: 40px; }
  .mtn-seed-entry__seed { position: absolute; z-index: 9; left: 50%; top: max(246px, 36svh); }
  .mtn-seed-entry__dock {
    position: relative;
    inset: auto;
    width: 100%;
    min-height: 66svh;
    max-height: none;
    margin-top: max(270px, 37svh);
    overflow: visible;
    padding: 70px 22px max(30px, calc(env(safe-area-inset-bottom) + 20px));
    border-top: 1px solid rgba(235,199,119,.24);
    border-left: 0;
    background: linear-gradient(180deg, rgba(3,8,13,.97), #03070c 100%);
    box-shadow: 0 -22px 55px rgba(0,0,0,.4);
    backdrop-filter: none;
  }
  .mtn-seed-entry__panel { max-width: 590px; }
  .mtn-seed-entry__panel h1 { max-width: 16ch; font-size: clamp(34px, 9vw, 50px); }
  .mtn-seed-chat__range {
    z-index: 4;
    top: max(64px, 8svh);
    right: 3%;
    bottom: auto;
    left: 3%;
    height: min(29svh, 235px);
    gap: 2px;
  }
  .mtn-seed-chat__mountain-hit strong { font-size: clamp(11px, 3vw, 15px); }
  .mtn-seed-chat__mountain-hit span { font-size: 6px; }
  .mtn-seed-chat__checkpoint button { width: 28px; padding: 4px; }
  .mtn-seed-chat__checkpoint em { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .mtn-seed-chat__checkpoint button > span { flex-basis: 11px; width: 11px; height: 11px; }
  .mtn-seed-chat__dock { padding-top: 48px; }
  .mtn-seed-chat__head { align-items: center; }
  .mtn-seed-chat__head h1 { max-width: 12ch; font-size: clamp(32px, 8vw, 46px); }
  .mtn-seed-chat__messages { max-height: 34svh; }
}

@media (max-width: 560px) {
  .mtn-seed-entry__topline .eyebrow { max-width: 120px; line-height: 1.35; }
  .mtn-seed-chat .mtn-seed-entry__topline .eyebrow { max-width: 160px; font-size: 8px; }
  .mtn-seed-entry__topline button { max-width: 142px; text-align: right; }
  .mtn-seed-entry__dock { padding-right: 17px; padding-left: 17px; }
  .mtn-seed-entry__actions { align-items: stretch; flex-direction: column-reverse; }
  .mtn-seed-entry__actions .mtn-seed-entry__primary,
  .mtn-seed-entry__actions .mtn-seed-entry__back { width: 100%; }
  .mtn-seed-entry__mountain { grid-template-columns: 90px minmax(0,1fr); }
  .mtn-seed-entry__sparks { display: grid; grid-template-columns: 1fr; }
  .mtn-seed-entry__sparks button { min-height: 44px; text-align: left; }
  .mtn-seed-chat__head { display: block; }
  .mtn-seed-chat__head .mtn-seed-entry__back { margin-top: 12px; }
  .mtn-seed-entry .dash-chat__input.mtn-seed-chat__composer { grid-template-columns: minmax(0, 1fr) 44px auto; }
  .mtn-seed-chat__local { align-items: flex-start; flex-direction: column; }
}

@media (max-height: 650px) and (max-width: 840px) {
  .mtn-seed-entry__media,
  .mtn-seed-entry__veil { height: 22svh; min-height: 142px; }
  .mtn-seed-entry__dock { margin-top: max(142px, 20svh); padding-top: 55px; }
  .mtn-seed-entry__seed { top: max(134px, 19svh); transform: translate(-50%, -48%) scale(.84); }
  .mtn-seed-entry__motion { display: none; }
  .mtn-seed-chat__range { top: 44px; height: min(17svh, 112px); }
  .mtn-seed-chat__mountain-hit span { display: none; }
  .mtn-seed-chat__mountain-hit strong { top: 8%; }
  .mtn-seed-chat__dock { padding-top: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  .mtn-seed-entry *,
  .mtn-seed-entry *::before,
  .mtn-seed-entry *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .mtn-seed-entry__motion { display: none; }
}

@media (prefers-contrast: more) {
  .mtn-seed-entry__veil { background: linear-gradient(90deg, rgba(0,0,0,.28) 0 58%, rgba(0,0,0,.98) 70%); }
  .mtn-seed-entry__dock { color: #fff; background: rgba(0,0,0,.98); border-color: #fff; }
  .mtn-seed-entry__lede,
  .mtn-seed-entry__help,
  .mtn-seed-entry__trust,
  .mtn-seed-entry__mountain span,
  .mtn-seed-chat__trail-empty,
  .mtn-seed-chat__local { color: #fff; }
  .mtn-seed-entry__field input,
  .mtn-seed-entry__field textarea,
  .mtn-seed-entry__mountain,
  .mtn-seed-entry__sparks button,
  .mtn-seed-chat__checkpoint-card,
  .mtn-seed-chat__composer textarea { border-color: #fff; }
}

@media (forced-colors: active) {
  .mtn-seed-entry { min-height: 100vh; overflow: auto; color: CanvasText; background: Canvas; }
  .mtn-seed-entry__media,
  .mtn-seed-entry__video,
  .mtn-seed-entry__veil,
  .mtn-seed-entry__stars,
  .mtn-seed-entry__cloud,
  .mtn-seed-entry__motion,
  .mtn-seed-entry__roots,
  .mtn-seed-entry__shell,
  .mtn-seed-entry__seed::before { display: none; }
  .mtn-seed-entry__topline,
  .mtn-seed-entry__dock,
  .mtn-seed-entry__seed,
  .mtn-seed-chat__range { position: relative; inset: auto; width: auto; height: auto; min-height: 0; transform: none; }
  .mtn-seed-entry__topline { padding: 16px; }
  .mtn-seed-entry__dock { margin: 0; padding: 20px; color: CanvasText; background: Canvas; border: 2px solid CanvasText; }
  .mtn-seed-entry__seed { display: block; margin: 14px 20px; padding: 12px 16px; color: ButtonText; background: ButtonFace; border: 2px solid ButtonText; }
  .mtn-seed-chat__range { display: grid; margin: 14px 20px; gap: 10px; }
  .mtn-seed-chat__mountain { min-height: 150px; margin: 0 !important; border: 1px solid ButtonText; }
  .mtn-seed-chat__mountain-hit { clip-path: none; color: ButtonText; background: ButtonFace; border: 1px solid ButtonText; }
  .mtn-seed-chat__checkpoints { inset: 42px 8px 8px; }
  .mtn-seed-chat__checkpoint button,
  .mtn-seed-chat__checkpoint em { width: auto; height: auto; color: ButtonText !important; clip: auto; }
  .mtn-seed-entry__seed-label { position: static; width: auto; color: ButtonText; text-shadow: none; transform: none; }
  .mtn-seed-entry__field input,
  .mtn-seed-entry__field textarea,
  .mtn-seed-entry__mountain,
  .mtn-seed-entry__sparks button,
  .mtn-seed-entry__primary,
  .mtn-seed-entry__back,
  .mtn-seed-entry__trust { color: CanvasText; background: Canvas; border: 2px solid CanvasText; box-shadow: none; }
  .mtn-seed-entry__mountain.selected { color: HighlightText; background: Highlight; border-color: Highlight; }
}

/* ---- generated art (own identity, no book fiction) ---- */
.mtn-hero { border-radius: var(--w-r-lg); overflow: hidden; margin-bottom: 22px; box-shadow: var(--w-shadow); position: relative; }
.mtn-hero img { width: 100%; display: block; }
.mtn-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 52%, var(--w-ground) 100%); pointer-events: none; }
.mtn-hero.slim img { max-height: 200px; object-fit: cover; object-position: center 42%; }
.mtn-emblem { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; flex: 0 0 auto; box-shadow: 0 6px 18px rgba(0,0,0,0.4); }
.mtn-emblem.lg { width: 84px; height: 84px; border-radius: 16px; }

/* ================================================================
   MY CLIMB dashboard (scoped .mtn-dash so it never touches the
   legacy astrology-tab styles). Uses the tokens defined at :root.
   ================================================================ */
.mtn-dash { min-height: 100vh; display: flex; flex-direction: column; font-family: var(--w-sans); color: var(--w-cream); }
.mtn-dash *, .mtn-dash *::before, .mtn-dash *::after { box-sizing: border-box; }
.mtn-dash button:focus-visible, .mtn-dash a:focus-visible { outline: 3px solid var(--w-gold-2); outline-offset: 3px; }

/* top bar */
.dash-top {
  display: grid; grid-template-columns: 248px 1fr 248px; align-items: center;
  padding: calc(18px + env(safe-area-inset-top)) calc(26px + env(safe-area-inset-right)) 18px calc(26px + env(safe-area-inset-left));
  border-bottom: 1px solid var(--w-line);
}
.dash-who { display: flex; align-items: center; gap: 12px; min-width: 0; }
.dash-who > :last-child { min-width: 0; }
.dash-avatar { width: 44px; height: 44px; border-radius: 50%; flex: 0 0 auto; background: linear-gradient(150deg,#3a3350,#211f30); border: 1px solid var(--w-line-2); display: grid; place-items: center; font-family: var(--w-serif); font-size: 18px; color: var(--w-gold-2); }
.dash-greet { font-size: 12px; color: var(--w-cream-soft); }
.dash-name { font-family: var(--w-serif); font-size: 18px; color: var(--w-cream); line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dash-brand { justify-self: center; display: flex; align-items: center; gap: 12px; font-family: var(--w-serif); font-size: 18px; letter-spacing: .32em; color: var(--w-gold-2); text-transform: uppercase; padding-left: .32em; }
.dash-brand svg { width: 24px; height: 24px; }
.dash-icons { justify-self: end; display: flex; align-items: center; gap: 8px; }
.dash-iconbtn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--w-line-2); background: transparent; color: var(--w-cream-soft); display: grid; place-items: center; cursor: pointer; position: relative; transition: border-color .2s, color .2s; }
.dash-iconbtn:hover { border-color: var(--w-gold); color: var(--w-gold-2); }
.dash-iconbtn svg { width: 18px; height: 18px; }
.dash-iconbtn .pip-dot { position: absolute; top: 9px; right: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--w-m1); border: 1.5px solid var(--w-ground); }

/* body grid */
.dash-body { display: grid; grid-template-columns: 248px 1fr 336px; flex: 1; min-height: 0; }
.dash-body.no-today { grid-template-columns: 248px 1fr; }

/* sidebar */
.dash-side { padding: 22px 18px; display: flex; flex-direction: column; gap: 6px; border-right: 1px solid var(--w-line); }

/* Climb Streak widget (Frank's explicit decision 2026-08-28: the daily streak
   is IN — supersedes earlier no-streak guidance; keep these styles). */
.dash-streak { margin-top: auto; background: var(--w-surface); border: 1px solid var(--w-line); border-radius: 18px; padding: 16px; box-shadow: var(--w-shadow); }
.dash-streak-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dash-streak-label { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--w-cream-soft); }
.dash-flame { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 50% 60%, rgba(210,98,46,.35), rgba(210,98,46,.06)); border: 1px solid rgba(210,98,46,.4); flex: 0 0 auto; }
.dash-flame svg { width: 20px; height: 20px; color: var(--w-m1); }
.dash-streak-count { font-family: var(--w-serif); font-size: 30px; color: var(--w-cream); line-height: 1; margin: 9px 0 12px; font-variant-numeric: tabular-nums; }
.dash-streak-count span { font-family: var(--w-sans); font-size: 13px; color: var(--w-cream-soft); margin-left: 5px; }
.dash-week { display: flex; justify-content: space-between; gap: 4px; margin-bottom: 12px; }
.dash-day { display: flex; flex-direction: column; align-items: center; gap: 5px; font-size: 11px; color: var(--w-cream-soft); }
.dash-pip { width: 19px; height: 19px; border-radius: 50%; border: 1.5px solid var(--w-cream-faint); display: grid; place-items: center; }
.dash-pip.done { background: var(--w-gold); border-color: var(--w-gold); }
.dash-pip.done svg { width: 11px; height: 11px; color: #141018; }
.dash-pip.today { border-color: var(--w-gold-2); box-shadow: 0 0 0 2px rgba(227,196,119,.25); }
.dash-streak-note { font-size: 12px; color: var(--w-cream-soft); line-height: 1.45; }
.dash-streak-note b { color: var(--w-gold-2); font-weight: 500; }
@media (max-width: 1080px) { .dash-streak { margin-top: 0; width: 100%; } }

/* Guided breath session (Daily Practices) */
.breath-stage { margin-top: 16px; padding: 36px 24px 28px; }
.breath-orb-wrap { position: relative; width: min(190px, 100%); height: auto; aspect-ratio: 1; margin: 0 auto; display: grid; place-items: center; }
.breath-orb {
  position: absolute; inset: 0; border-radius: 50%;
  background: radial-gradient(circle at 50% 42%, rgba(227,196,119,.85), rgba(201,162,76,.45) 55%, rgba(201,162,76,.12) 78%, transparent 100%);
  box-shadow: 0 0 60px rgba(201,162,76,.35);
  transform: scale(.62); transition-property: transform; transition-timing-function: ease-in-out;
}
.breath-orb.in   { transform: scale(1); }
.breath-orb.hold { transform: scale(1); }
.breath-orb.out  { transform: scale(.62); }
.breath-count { position: relative; font-family: var(--w-serif); font-size: 44px; color: #171204; font-variant-numeric: tabular-nums; text-shadow: 0 1px 0 rgba(239,233,219,.35); }
@media (prefers-reduced-motion: reduce) { .breath-orb { transition: none !important; } }

/* Add-to-home-screen invitation */
.mtn-install__steps { text-align: left; margin: 0 auto; max-width: 380px; padding-left: 22px; color: var(--w-cream-soft); font-size: 14px; line-height: 1.7; }
.mtn-install__steps strong { color: var(--w-cream); }
.mtn-install__glyph { display: inline-block; border: 1px solid var(--w-line-2); border-radius: 6px; padding: 0 6px; margin: 0 2px; color: var(--w-gold-2); }

/* Card-at-a-time assessment (one tap per statement, auto-advance) */
.mtn-quiz {
  min-height: 100vh; display: flex; flex-direction: column; align-items: center;
  justify-content: center; padding: 24px; position: relative;
}
.mtn-quiz__progress {
  position: fixed; top: 0; left: 0; right: 0; z-index: 5;
  display: flex; align-items: center; gap: 12px; padding: 14px 18px;
  background: linear-gradient(180deg, var(--w-ground), transparent);
}
.mtn-quiz__bar { flex: 1; height: 4px; border-radius: 99px; background: rgba(239,233,219,.12); overflow: hidden; }
.mtn-quiz__bar > span { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--w-m1), var(--w-m2) 55%, var(--w-m3)); transition: width .3s ease; }
.mtn-quiz__count { font-size: 12px; color: var(--w-cream-soft); font-variant-numeric: tabular-nums; flex: 0 0 auto; }
.mtn-quiz__card { width: 100%; max-width: 620px; text-align: center; }
.mtn-quiz__card.intro .lede { margin-top: 14px; }
.mtn-quiz__card.slide-in { animation: quiz-slide .26s ease both; }
@keyframes quiz-slide { from { opacity: 0; transform: translateX(26px); } to { opacity: 1; transform: none; } }
.mtn-quiz__statement {
  font-family: var(--w-serif); font-weight: 400; font-size: clamp(22px, 4.6vw, 34px);
  line-height: 1.3; margin: 16px 0 30px; min-height: 3.4em;
  display: flex; align-items: center; justify-content: center; outline: none;
}
.mtn-quiz__opts { display: flex; justify-content: center; gap: clamp(8px, 2.4vw, 16px); }
.mtn-quiz__opt {
  width: clamp(52px, 13vw, 68px); height: clamp(52px, 13vw, 68px); border-radius: 50%;
  border: 2px solid var(--w-cream-faint); background: transparent; color: var(--w-cream-soft);
  cursor: pointer; display: grid; place-items: center;
  transition: border-color .15s, background .15s, transform .12s, color .15s;
}
.mtn-quiz__num { font-family: var(--w-serif); font-size: 22px; }
.mtn-quiz__opt:hover { border-color: var(--w-gold); color: var(--w-cream); transform: translateY(-2px); }
.mtn-quiz__opt.on { background: var(--w-accent, var(--w-gold)); border-color: var(--w-accent, var(--w-gold)); color: #14100a; }
.mtn-quiz__opt.picked { transform: scale(1.12); }
.mtn-quiz__opt:focus-visible { outline: 3px solid var(--w-gold-2); outline-offset: 3px; }
.mtn-quiz__anchors { display: flex; justify-content: space-between; max-width: 420px; margin: 12px auto 0; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--w-cream-faint); }
.mtn-quiz__bars { max-width: 400px; margin: 30px auto 0; display: grid; gap: 9px; }
.mtn-quiz__barrow { display: grid; grid-template-columns: 92px 1fr; align-items: center; gap: 12px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--w-cream-soft); text-align: left; }
.mtn-quiz__barrow .mtn-meter > span { transition: width .35s ease; }
.mtn-quiz__foot {
  position: fixed; left: 0; right: 0; bottom: 0; display: flex; align-items: center;
  justify-content: space-between; padding: 14px 18px;
  background: linear-gradient(0deg, var(--w-ground), transparent);
}
@media (prefers-reduced-motion: reduce) {
  .mtn-quiz__card.slide-in { animation: none; }
  .mtn-quiz__bar > span, .mtn-quiz__barrow .mtn-meter > span { transition: none; }
}

/* Interactive Guide chat panel */
.dash-chat {
  position: fixed; right: 18px; bottom: 18px; top: 96px; width: 372px; max-width: calc(100vw - 36px);
  display: flex; flex-direction: column; z-index: 60;
  background: var(--w-surface); border: 1px solid var(--w-line-2); border-radius: 18px;
  box-shadow: 0 24px 70px rgba(0,0,0,.6);
}
.dash-chat__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--w-line); }
.dash-chat__head h3 { font-family: var(--w-serif); font-weight: 400; font-size: 17px; color: var(--w-cream); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 250px; }
.dash-chat__msgs { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.dash-chat__msg { max-width: 86%; padding: 10px 14px; border-radius: 16px; font-size: 14px; line-height: 1.5; white-space: pre-wrap; }
.dash-chat__msg.user { align-self: flex-end; background: rgba(201,162,76,.16); border: 1px solid rgba(201,162,76,.35); color: var(--w-cream); border-bottom-right-radius: 5px; }
.dash-chat__msg.assistant { align-self: flex-start; background: var(--w-surface-2); border: 1px solid var(--w-line); color: var(--w-cream-soft); font-style: italic; border-bottom-left-radius: 5px; }
.dash-chat__msg.busy { animation: chatpulse 1.2s ease-in-out infinite; }
@keyframes chatpulse { 0%,100% { opacity: .45; } 50% { opacity: 1; } }
.dash-chat__input { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--w-line); }
.dash-chat__input textarea {
  flex: 1; resize: none; background: var(--w-surface-2); border: 1px solid var(--w-line-2);
  border-radius: 12px; color: var(--w-cream); padding: 10px 12px; font: 14px/1.5 var(--w-sans); min-height: 44px;
}
.dash-chat__input textarea:focus { outline: none; border-color: var(--w-gold); }
.dash-chat__input .mtn-btn { padding: 10px 18px; flex: 0 0 auto; align-self: flex-end; }
@media (max-width: 720px) {
  .dash-chat {
    right: env(safe-area-inset-right); left: env(safe-area-inset-left); bottom: 0; top: auto;
    height: min(72dvh, 620px); max-height: calc(100dvh - env(safe-area-inset-top)); max-width: none;
    border-radius: 18px 18px 0 0;
  }
  .dash-chat__input { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
  .dash-chat__input textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .dash-chat__msg.busy { animation: none; } }

/* The Guide tier's primary surface: one durable conversation with the living
   range held beside it. The image is atmospheric; every mountain and
   checkpoint remains available as semantic HTML. */
.guide-core { min-width: 0; padding-bottom: 30px; }
.guide-core__head {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px 20px;
}
.guide-core__head .dash-rule { grid-column: 1 / -1; }
.guide-core__continuity {
  display: block; margin-bottom: 5px; color: var(--w-gold-2); font-size: 10px;
  font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
}
.guide-core__layout {
  display: grid; grid-template-columns: minmax(310px, .82fr) minmax(440px, 1.18fr);
  gap: 18px; align-items: stretch; margin-top: 16px; min-width: 0;
}
.guide-core__map,
.guide-core__conversation {
  min-width: 0; overflow: hidden; border: 1px solid var(--w-line-2);
  border-radius: 22px; background: rgba(13,14,25,.96); box-shadow: 0 22px 58px rgba(0,0,0,.36);
}
.guide-core__map { display: flex; flex-direction: column; }
.guide-core__range {
  position: relative; isolation: isolate; min-height: 340px; overflow: hidden; background: #070a12;
}
.guide-core__range-media,
.guide-core__range-veil { position: absolute; inset: 0; }
.guide-core__range-media {
  z-index: 0; overflow: hidden; background-color: #070a12;
  background-image: url("/img/mountain-world-v2.jpg");
  background-image: image-set(
    url("/img/mountain-world-v2.webp") type("image/webp") 1x,
    url("/img/mountain-world-v2.jpg") type("image/jpeg") 1x
  );
  background-position: center; background-size: cover;
}
.guide-core__range-media .dash-world__video { width: 100%; height: 100%; object-fit: cover; }
.guide-core__range-veil {
  z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(3,6,13,.24), rgba(3,6,13,.2) 34%, rgba(3,6,13,.94) 100%);
}
.guide-core__range > header {
  position: relative; z-index: 2; width: min(440px, calc(100% - 36px)); padding: 24px 22px;
  color: #fffaf0; text-shadow: 0 2px 18px rgba(0,0,0,.8);
}
.guide-core__range > header > span { color: #f0d58f; font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.guide-core__range > header h2 { margin: 4px 0 6px; color: #fffaf0; font: 400 clamp(22px, 2.1vw, 31px)/1.08 var(--w-serif); }
.guide-core__range > header p { margin: 0; color: rgba(255,250,240,.84); font-size: 12px; line-height: 1.45; }
.guide-core__mountains {
  position: absolute; z-index: 3; right: 14px; bottom: 14px; left: 14px;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px;
}
.guide-core__mountain {
  min-width: 0; min-height: 132px; padding: 11px 10px; cursor: pointer; text-align: left;
  color: #fffaf0; border: 1px solid rgba(255,250,240,.25); border-radius: 14px;
  background: rgba(4,7,15,.8); box-shadow: 0 9px 24px rgba(0,0,0,.28);
  -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px);
  transition: transform .16s ease, border-color .2s ease, background .2s ease;
}
.guide-core__mountain[data-m="I"] { --guide-mountain: var(--w-m1); }
.guide-core__mountain[data-m="II"] { --guide-mountain: var(--w-m2); }
.guide-core__mountain[data-m="III"] { --guide-mountain: var(--w-m3); }
.guide-core__mountain.active { border-color: var(--guide-mountain); background: rgba(6,9,17,.96); box-shadow: inset 0 3px 0 var(--guide-mountain), 0 10px 28px rgba(0,0,0,.38); }
.guide-core__mountain-kicker { display: block; overflow: hidden; color: var(--guide-mountain); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.guide-core__mountain > strong { display: block; margin-top: 4px; color: #fffaf0; font: 500 14px/1.15 var(--w-serif); }
.guide-core__mountain-status { display: flex; align-items: center; gap: 5px; margin-top: 8px; color: rgba(255,250,240,.82); font-size: 9px; }
.guide-core__mountain-status i { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: var(--guide-mountain); box-shadow: 0 0 10px var(--guide-mountain); }
.guide-core__mountain-latest { display: -webkit-box; overflow: hidden; margin-top: 6px; color: rgba(255,250,240,.68); font-size: 9.5px; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
@media (hover: hover) and (pointer: fine) {
  .guide-core__mountain:hover { transform: translateY(-2px); border-color: var(--guide-mountain); background: rgba(6,9,17,.94); }
}
.guide-core__mountain:focus-visible { outline: 3px solid var(--w-gold-2); outline-offset: -3px; }
.guide-core__checkpoints { flex: 1; padding: 20px; border-top: 1px solid var(--w-line); }
.guide-core__checkpoint-group { margin-top: 15px; }
.guide-core__checkpoint-group h3 { margin: 0 0 8px; color: var(--w-cream-soft); font: 700 9px/1.2 var(--w-sans); letter-spacing: .15em; text-transform: uppercase; }
.guide-core__checkpoint-group ol { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.guide-core__checkpoint-group li { display: grid; grid-template-columns: 10px minmax(0, 1fr); gap: 8px; color: var(--w-cream); }
.guide-core__checkpoint-group li > span { width: 8px; height: 8px; margin-top: 5px; border: 2px solid var(--w-accent, var(--w-gold)); border-radius: 50%; }
.guide-core__checkpoint-group li strong { font-size: 12px; font-weight: 600; }
.guide-core__checkpoint-group li p { margin: 2px 0 0; color: var(--w-cream-soft); font-size: 11px; line-height: 1.4; }
.guide-core__checkpoint-empty { opacity: .68; }
.guide-core__conversation { display: flex; min-height: 720px; flex-direction: column; }
.guide-core__conversation-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 18px;
  padding: 24px 26px 18px; border-bottom: 1px solid var(--w-line);
}
.guide-core__conversation-head h2 { margin: 5px 0 0; font-size: clamp(25px, 2.4vw, 35px); }
.guide-core__lens { margin: 9px 0 0; padding: 0; cursor: pointer; color: var(--w-cream-soft); border: 0; border-bottom: 1px solid currentColor; background: none; font: 10px/1.4 var(--w-sans); }
.guide-core__lens:hover { color: var(--w-gold-2); }
.guide-core__conversation-tools { display: grid; width: min(220px, 46%); flex: 0 0 auto; gap: 8px; justify-items: stretch; }
.guide-core__focus {
  width: 100%; padding: 10px 12px; border: 1px solid var(--w-line);
  border-radius: 12px; background: rgba(201,162,76,.06);
}
.guide-core__focus > span { display: block; color: var(--w-cream-soft); font-size: 8px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.guide-core__focus strong { display: block; margin-top: 3px; color: var(--w-gold-2); font: 500 13px/1.25 var(--w-serif); }
.guide-core__focus button { margin: 7px 0 0; padding: 0; cursor: pointer; color: var(--w-cream-soft); border: 0; border-bottom: 1px solid currentColor; background: none; font: 10px/1.3 var(--w-sans); }
.guide-core__clear { justify-self: end; padding: 2px 0; cursor: pointer; color: var(--w-cream-soft); border: 0; border-bottom: 1px solid currentColor; background: none; font: 10px/1.35 var(--w-sans); }
.guide-core__clear:hover { color: var(--w-cream); }
.guide-core__clear:disabled { cursor: wait; opacity: .62; }
.guide-core__conversation .dash-chat__msgs { min-height: 360px; padding: 24px 26px; overscroll-behavior: contain; }
.guide-core__conversation .dash-chat__msg { max-width: 88%; font-size: 15px; line-height: 1.62; }
.guide-core__conversation .dash-chat__msg.assistant {
  align-self: stretch; max-width: 100%; padding: 5px 0 5px 18px; color: rgba(239,233,219,.92);
  border: 0; border-left: 2px solid rgba(227,196,119,.72); border-radius: 0; background: transparent;
  font: 400 17px/1.62 var(--w-serif); font-style: normal;
}
.guide-core__conversation .dash-chat__msg.assistant::before { content: "The Guide"; display: block; margin-bottom: 6px; color: var(--w-gold-2); font: 700 9px/1.2 var(--w-sans); letter-spacing: .18em; text-transform: uppercase; }
.guide-core__conversation .dash-chat__input { position: sticky; bottom: 0; padding: 16px 20px calc(16px + env(safe-area-inset-bottom)); background: rgba(13,14,25,.98); }
.guide-core__conversation .dash-chat__input textarea { min-height: 56px; max-height: 150px; font-size: 16px; }
.guide-core__starters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 0 26px 18px; }
.guide-core__starters .mtn-campfire__starter { min-height: 72px; }
.guide-core__load { margin: 12px 26px 0; color: var(--w-cream-soft); font-size: 13px; }
.guide-core__load.warning { padding: 10px 12px; color: #ffe4a6; border: 1px solid rgba(227,196,119,.42); border-radius: 10px; background: rgba(201,162,76,.08); }
.guide-core__load .mtn-btn { min-height: 36px; margin-left: 7px; padding: 6px 10px; }

@media (max-width: 1080px) {
  .guide-core__layout { grid-template-columns: minmax(0, 1fr); }
  .guide-core__map { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); }
  .guide-core__checkpoints { border-top: 0; border-left: 1px solid var(--w-line); }
  .guide-core__conversation { min-height: 660px; }
}
@media (max-width: 720px) {
  .guide-core__head { grid-template-columns: minmax(0, 1fr); }
  .guide-core__head .dash-rule { grid-column: auto; }
  .guide-core__head > .mtn-btn { width: 100%; }
  .guide-core__map { display: flex; }
  .guide-core__range { min-height: 0; padding-top: 210px; }
  .guide-core__range > header { position: absolute; top: 0; left: 0; padding: 18px; }
  .guide-core__range-media, .guide-core__range-veil { bottom: auto; height: 210px; }
  .guide-core__mountains {
    position: relative; inset: auto; display: grid; grid-auto-columns: minmax(172px, 74vw);
    grid-auto-flow: column; grid-template-columns: none; gap: 8px; overflow-x: auto; padding: 12px;
    background: #090b14; scroll-snap-type: x proximity; overscroll-behavior-inline: contain;
  }
  .guide-core__mountain { min-height: 122px; scroll-snap-align: start; }
  .guide-core__checkpoints { padding: 18px; border-top: 1px solid var(--w-line); border-left: 0; }
  .guide-core__conversation { min-height: 620px; }
  .guide-core__conversation-head { flex-direction: column; padding: 20px 18px 16px; }
  .guide-core__conversation-tools { width: 100%; }
  .guide-core__clear { min-height: 44px; justify-self: start; }
  .guide-core__conversation .dash-chat__msgs { min-height: 300px; padding: 20px 18px; }
  .guide-core__conversation .dash-chat__msg { max-width: 94%; }
  .guide-core__starters { grid-template-columns: minmax(0, 1fr); padding: 0 18px 16px; }
  .guide-core__conversation .dash-chat__input { display: grid; grid-template-columns: minmax(0, 1fr); padding-right: 14px; padding-left: 14px; }
  .guide-core__conversation .dash-chat__input .mtn-btn { width: 100%; }
  .guide-core__load { margin-right: 18px; margin-left: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .guide-core__mountain { transition: none !important; transform: none !important; }
  .guide-core__range-media .dash-world__cloud { animation: none !important; }
}
@media (prefers-contrast: more) {
  .guide-core__range-veil { background: linear-gradient(180deg, rgba(0,0,0,.48), rgba(0,0,0,.98)); }
  .guide-core__mountain { border-width: 2px; background: rgba(0,0,0,.98); }
  .guide-core__conversation .dash-chat__msg.assistant { color: #fff; }
}
@media (forced-colors: active) {
  .guide-core__map, .guide-core__conversation, .guide-core__range, .guide-core__mountain,
  .guide-core__focus, .guide-core__conversation .dash-chat__msg.assistant { color: CanvasText; border: 1px solid ButtonText; background: Canvas; box-shadow: none; }
  .guide-core__range-media, .guide-core__range-veil { display: none; }
  .guide-core__range { min-height: 0; padding: 12px; }
  .guide-core__range > header, .guide-core__mountains { position: relative; inset: auto; color: CanvasText; text-shadow: none; }
  .guide-core__range > header > span, .guide-core__range > header h2, .guide-core__range > header p,
  .guide-core__mountain-kicker, .guide-core__mountain > strong, .guide-core__mountain-status,
  .guide-core__mountain-latest, .guide-core__focus strong { color: CanvasText; }
}
.dash-nav {
  display: flex; flex-direction: column; gap: 8px; min-height: 0; overflow-y: auto;
  padding: 3px; margin: -3px; overscroll-behavior: contain;
  scrollbar-width: thin; scrollbar-color: var(--w-line-2) transparent;
}
.dash-tab {
  position: relative; isolation: isolate; display: block; flex: 0 0 72px; width: 100%; min-height: 72px;
  overflow: hidden; padding: 0; cursor: pointer; touch-action: manipulation; appearance: none;
  border: 1px solid rgba(239,233,219,.22); border-radius: 14px; color: #fffaf0; background: #080b12;
  text-align: left; box-shadow: 0 7px 20px rgba(0,0,0,.24);
  transition: border-color .2s ease, box-shadow .2s ease, transform .14s ease;
}
.dash-tab__media { position: absolute; inset: 0; z-index: 0; display: block; overflow: hidden; pointer-events: none; }
.dash-tab__media img, video.dash-tab__media {
  display: block; width: 100%; height: 100%; object-fit: cover; object-position: center;
  filter: saturate(.86) brightness(.76); transform: scale(1.001);
  transition: transform .42s ease, filter .32s ease;
}
.dash-tab[data-dash-tab="climb"] .dash-tab__media img, .dash-tab[data-dash-tab="climb"] video.dash-tab__media { object-position: center 48%; }
.dash-tab[data-dash-tab="goals"] .dash-tab__media img, .dash-tab[data-dash-tab="goals"] video.dash-tab__media { object-position: center 58%; }
.dash-tab[data-dash-tab="practices"] .dash-tab__media img, .dash-tab[data-dash-tab="practices"] video.dash-tab__media { object-position: center 61%; }
.dash-tab[data-dash-tab="journal"] .dash-tab__media img, .dash-tab[data-dash-tab="journal"] video.dash-tab__media { object-position: center 72%; }
.dash-tab[data-dash-tab="progress"] .dash-tab__media img, .dash-tab[data-dash-tab="progress"] video.dash-tab__media { object-position: center 58%; }
.dash-tab__scrim {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3,6,13,.94) 0%, rgba(3,6,13,.76) 55%, rgba(3,6,13,.32) 100%),
    linear-gradient(0deg, rgba(3,6,13,.52), transparent 70%);
  transition: background .24s ease;
}
.dash-tab__copy {
  position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center;
  width: 82%; height: 100%; padding: 10px 14px 10px 16px; pointer-events: none;
}
.dash-tab__copy strong { color: #fffaf0; font: 600 15px/1.15 var(--w-serif); letter-spacing: .01em; }
.dash-tab__copy small { display: block; margin-top: 4px; color: rgba(255,250,240,.76); font: 500 10.5px/1.2 var(--w-sans); letter-spacing: .01em; }
.dash-tab.on { border-color: rgba(240,207,126,.94); box-shadow: 0 0 0 1px rgba(240,207,126,.22), 0 8px 24px rgba(0,0,0,.35); }
.dash-tab.on::before { content: ""; position: absolute; z-index: 3; left: 0; top: 8px; bottom: 8px; width: 4px; border-radius: 0 4px 4px 0; background: var(--w-gold-2); }
.dash-tab.on .dash-tab__scrim { background: linear-gradient(90deg, rgba(3,6,13,.90) 0%, rgba(3,6,13,.67) 56%, rgba(3,6,13,.22) 100%), linear-gradient(0deg, rgba(3,6,13,.42), transparent 72%); }
.dash-tab.on .dash-tab__media img, .dash-tab.on video.dash-tab__media { filter: saturate(1.02) brightness(.88); }
.dash-tab:focus-visible { outline: 3px solid var(--w-gold-2); outline-offset: -4px; box-shadow: 0 0 0 2px #070a12, 0 0 0 5px var(--w-gold-2); }
.dash-tab:focus-visible .dash-tab__media img, .dash-tab:focus-visible video.dash-tab__media { filter: saturate(1.04) brightness(.9); transform: scale(1.025); }
.dash-tab:active { transform: scale(.985); }
.dash-tab:active .dash-tab__scrim { background: rgba(3,6,13,.72); }
@media (hover: hover) and (pointer: fine) {
  .dash-tab:hover { border-color: rgba(239,233,219,.56); box-shadow: 0 10px 28px rgba(0,0,0,.4); }
  .dash-tab:hover .dash-tab__media img, .dash-tab:hover video.dash-tab__media { filter: saturate(1.05) brightness(.92); transform: scale(1.035); }
  .dash-tab:hover .dash-tab__scrim { background: linear-gradient(90deg, rgba(3,6,13,.88) 0%, rgba(3,6,13,.60) 56%, rgba(3,6,13,.16) 100%), linear-gradient(0deg, rgba(3,6,13,.38), transparent 72%); }
}

/* center stage */
.dash-stage { padding: 26px 30px env(safe-area-inset-bottom); display: flex; flex-direction: column; min-width: 0; }
.dash-stage :where(h1, h2, h3, h4, p, blockquote, li) { overflow-wrap: anywhere; }
.dash-head h1 { font-family: var(--w-serif); font-size: 34px; font-weight: 400; letter-spacing: .01em; }
.dash-head p { color: var(--w-cream-soft); font-size: 14px; margin-top: 3px; }
.dash-head .dash-rule { height: 2px; width: 52px; background: var(--w-gold); border-radius: 2px; margin: 12px 0 2px; }

/* living landscape: exact 2:1 canvas keeps HTML overlays registered to peaks */
.dash-world {
  position: relative; isolation: isolate; width: 100%; aspect-ratio: 2 / 1;
  margin-top: 14px; overflow: hidden; border: 1px solid rgba(239,233,219,.24);
  border-radius: 22px; background: #070a12; box-shadow: 0 24px 64px rgba(0,0,0,.52);
}
.dash-world__media, .dash-world__routes, .dash-world__peaks { position: absolute; inset: 0; }
.dash-world__media {
  z-index: 0; overflow: hidden; background-color: #070a12;
  background-image: url("/img/mountain-world-v2.jpg");
  background-image: image-set(
    url("/img/mountain-world-v2.webp") type("image/webp") 1x,
    url("/img/mountain-world-v2.jpg") type("image/jpeg") 1x
  );
  background-repeat: no-repeat; background-position: center; background-size: cover;
}
.dash-world__video {
  position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center; pointer-events: none;
}
.dash-world__media::before {
  content: ""; position: absolute; inset: -10%; z-index: 0; pointer-events: none;
  background: radial-gradient(circle at 52% 11%, rgba(255,225,164,.2), transparent 22%);
  animation: dash-sky-breathe 13s ease-in-out infinite alternate;
}
.dash-world__media::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(3,6,13,.20), rgba(3,6,13,.03) 34%, rgba(3,6,13,.34) 100%),
    linear-gradient(0deg, rgba(3,6,13,.66), transparent 48%),
    linear-gradient(90deg, rgba(3,6,13,.34), transparent 30% 70%, rgba(3,6,13,.30));
}
.dash-world__cloud {
  position: absolute; z-index: 1; width: 70%; height: 24%; pointer-events: none;
  opacity: .13; filter: blur(18px);
  background:
    radial-gradient(ellipse at 20% 55%, #e7edf4 0 12%, transparent 42%),
    radial-gradient(ellipse at 55% 45%, #e7edf4 0 15%, transparent 47%),
    radial-gradient(ellipse at 82% 60%, #e7edf4 0 11%, transparent 40%);
  animation: dash-cloud-drift 58s ease-in-out infinite alternate;
}
.dash-world__cloud--far { left: -14%; top: 47%; }
.dash-world__cloud--near { right: -16%; top: 58%; animation-duration: 74s; animation-direction: alternate-reverse; }
@keyframes dash-cloud-drift { from { transform: translate3d(-1.5%,0,0); } to { transform: translate3d(1.5%,.5%,0); } }
@keyframes dash-sky-breathe { from { opacity: .55; transform: scale(.98); } to { opacity: .9; transform: scale(1.025); } }

.dash-world__intro {
  position: absolute; z-index: 4; left: 2.2%; top: 3.5%; width: min(30%, 290px);
  padding: 11px 13px; border: 1px solid rgba(255,255,255,.22); border-radius: 13px;
  color: #fffaf0; background: rgba(4,8,17,.82); box-shadow: 0 10px 28px rgba(0,0,0,.36);
  backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px);
}
.dash-world__intro > span { color: #f0d58f; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.dash-world__intro h2 { margin: 3px 0 2px; color: #fffaf0; font: 400 clamp(18px,2vw,25px)/1.08 var(--w-serif); }
.dash-world__intro p { margin: 0; color: rgba(255,250,240,.82); font-size: clamp(11px,1vw,13px); line-height: 1.4; }
.dash-world__hypothesis {
  position: absolute; z-index: 4; right: 2.2%; top: 3.5%; width: min(25%, 250px);
  min-height: 72px; padding: 10px 12px; text-align: left; cursor: pointer;
  border: 1px solid rgba(255,255,255,.28); border-radius: 13px; color: #fffaf0;
  background: rgba(4,8,17,.88); box-shadow: 0 10px 28px rgba(0,0,0,.38);
  backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px);
  transition: border-color .18s ease, transform .18s ease, background .18s ease;
}
.dash-world__hypothesis:hover { border-color: #f0d58f; background: rgba(8,12,22,.96); transform: translateY(-2px); }
.dash-world__hypothesis > span { display: block; color: #f0d58f; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.dash-world__hypothesis strong { display: block; margin-top: 3px; color: #fffaf0; font: 500 clamp(13px,1.25vw,16px)/1.2 var(--w-serif); }
.dash-world__hypothesis em { display: flex; align-items: center; gap: 5px; margin-top: 5px; color: rgba(255,250,240,.8); font: normal 11px/1.2 var(--w-sans); }
.dash-world__hypothesis svg { width: 13px; height: 13px; }

.dash-world__routes { z-index: 2; pointer-events: none; }
.dash-route { position: absolute; inset: 0; color: var(--route-color); }
.dash-route--I { --route-color: #f2965b; }
.dash-route--II { --route-color: #f0cf7e; }
.dash-route--III { --route-color: #a8dff1; }
.dash-route__leg {
  position: absolute; left: var(--x); top: var(--y); width: var(--length); height: 2px;
  transform: rotate(var(--angle)); transform-origin: left center; opacity: .78;
  background: repeating-linear-gradient(90deg, currentColor 0 7px, transparent 7px 13px);
  filter: drop-shadow(0 0 4px currentColor);
}
.dash-route__leg::after {
  content: ""; position: absolute; right: -3px; top: -3px; width: 8px; height: 8px;
  border-radius: 50%; background: currentColor; box-shadow: 0 0 9px currentColor;
}

.dash-world__peaks { z-index: 3; pointer-events: none; }
.dash-peak { position: absolute; width: clamp(170px,23%,244px); pointer-events: auto; }
.dash-peak--I { left: 2.2%; top: 38%; }
.dash-peak--II { left: 50%; top: 23%; transform: translateX(-50%); }
.dash-peak--III { right: 2.2%; top: 34%; }
.dash-peak__panel {
  padding: clamp(10px,1.15vw,14px); color: #fffaf0; background: rgba(4,8,17,.90);
  border: 1px solid rgba(255,255,255,.30); border-top: 3px solid var(--w-accent);
  border-radius: 15px; box-shadow: 0 14px 34px rgba(0,0,0,.48);
  backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px);
}
.dash-peak__kicker { color: var(--w-accent); font-size: 10px; font-weight: 800; letter-spacing: .13em; line-height: 1.2; text-transform: uppercase; }
.dash-peak__panel h3 { margin: 4px 0 3px; color: #fffaf0; font: 500 clamp(16px,1.6vw,21px)/1.05 var(--w-serif); }
.dash-peak__summary {
  display: -webkit-box; min-height: 2.7em; margin: 0; overflow: hidden; color: rgba(255,250,240,.86);
  font-size: clamp(11px,1vw,13px); line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
}
.dash-peak__state { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; color: rgba(255,250,240,.78); font-size: 10px; font-weight: 650; }
.dash-peak__state > span { width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto; background: var(--w-accent); box-shadow: 0 0 8px var(--w-accent); }
.dash-peak__button {
  display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; min-height: 44px;
  margin-top: 8px; padding: 9px 11px; cursor: pointer; border: 1px solid rgba(255,255,255,.88);
  border-radius: 999px; color: #0a0d15; background: #fffaf0; font: 750 12px/1.2 var(--w-sans);
  transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}
.dash-peak__button svg { width: 15px; height: 15px; }
.dash-peak__button:hover { background: #fff; transform: translateY(-1px); box-shadow: 0 7px 18px rgba(0,0,0,.25); }
.dash-peak__button:focus-visible { outline: 3px solid #fff !important; outline-offset: 3px !important; box-shadow: 0 0 0 6px #070a12; }
.dash-aligned-experiment { margin-top: 18px; }
.dash-aligned-experiment .mtn-experiment { margin-top: 0; box-shadow: 0 14px 38px rgba(0,0,0,.32); }
.dash-stage .dash-stagefoot { margin: 18px 0 30px; text-align: center; }

/* today panel */
.dash-today { padding: 26px 26px 22px; border-left: 1px solid var(--w-line); display: flex; flex-direction: column; gap: 14px; overflow: auto; }
.dash-today-head { font-family: var(--w-serif); font-size: 22px; letter-spacing: .02em; }
.dash-today .dash-rule { height: 2px; width: 52px; background: var(--w-gold); border-radius: 2px; margin: 8px 0 4px; }
.dash-quote { display: flex; gap: 11px; color: var(--w-cream-soft); font-family: var(--w-serif); font-style: italic; font-size: 15px; line-height: 1.5; }
.dash-quote svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--w-gold); opacity: .8; margin-top: 2px; }
.dash-action { display: block; text-align: left; width: 100%; color: inherit; background: var(--w-surface); border: 1px solid var(--w-line); border-left: 3px solid var(--dash-accent, var(--w-gold)); border-radius: 15px; padding: 15px 16px; position: relative; cursor: pointer; transition: transform .12s, border-color .18s; }
.dash-action:hover { transform: translateY(-2px); }
.dash-action .kicker { display: flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--dash-accent, var(--w-gold)); font-weight: 600; }
.dash-action .kicker svg { width: 15px; height: 15px; }
.dash-action .task { font-size: 14.5px; color: var(--w-cream); margin: 9px 0 11px; line-height: 1.4; }
.dash-action .meta { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--w-cream-soft); }
.dash-action .meta svg { width: 14px; height: 14px; opacity: .8; }
.dash-action .go { position: absolute; right: 14px; bottom: 14px; width: 30px; height: 30px; border-radius: 50%; background: var(--dash-accent, var(--w-gold)); display: grid; place-items: center; color: #141018; }
.dash-action .go svg { width: 15px; height: 15px; }
.dash-a1 { --dash-accent: var(--w-m1); } .dash-a2 { --dash-accent: var(--w-m2); } .dash-a3 { --dash-accent: var(--w-m3); }
.dash-reflect { margin-top: 2px; display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; padding: 14px; border-radius: 14px; border: 1px solid var(--w-gold); background: transparent; color: var(--w-gold-2); font: 500 14px/1 var(--w-sans); letter-spacing: .02em; cursor: pointer; transition: background .2s, color .2s; }
.dash-reflect:hover { background: var(--w-gold); color: #141018; }
.dash-reflect svg { width: 17px; height: 17px; }
.dash-today-foot { font-size: 12.5px; color: var(--w-cream-soft); text-align: center; font-family: var(--w-serif); font-style: italic; line-height: 1.5; }

/* responsive */
@media (max-width: 1080px) {
  .dash-body, .dash-body.no-today {
    width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
  }
  .dash-top { grid-template-columns: 1fr auto; }
  .dash-brand { display: none; }
  .dash-side { display: contents; }
  .dash-nav {
    position: sticky; top: env(safe-area-inset-top); z-index: 30; grid-row: 1;
    display: grid; grid-auto-flow: column; grid-auto-columns: clamp(152px, 22vw, 184px); gap: 10px;
    width: 100%; min-width: 0; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain;
    padding: 9px calc(13px + env(safe-area-inset-right)) 10px calc(13px + env(safe-area-inset-left)); margin: 0;
    scroll-padding-inline: calc(13px + env(safe-area-inset-left));
    scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    background: rgba(7,10,18,.98); border-bottom: 1px solid var(--w-line); box-shadow: 0 10px 24px rgba(0,0,0,.2);
  }
  .dash-nav::-webkit-scrollbar { display: none; }
  .dash-tab { width: 100%; min-height: 92px; height: 92px; scroll-snap-align: center; }
  .dash-stage { grid-row: 2; }
  .dash-stage h1, .dash-stage [data-goal-id], .dash-stage [data-practice-key],
  .dash-stage #guest-home-mountain-focus { scroll-margin-top: 124px; }
  .dash-streak {
    grid-row: 3; width: auto; margin: 18px calc(16px + env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));
  }
  .dash-today { grid-row: 4; border-left: 0; border-top: 1px solid var(--w-line); }
}
@media (max-width: 840px) {
  .dash-world {
    display: flex; flex-direction: column; aspect-ratio: auto; overflow: visible;
    border: 0; border-radius: 0; background: transparent; box-shadow: none;
  }
  .dash-world__media {
    position: relative; inset: auto; width: 100%; aspect-ratio: 2 / 1; flex: 0 0 auto;
    border: 1px solid rgba(239,233,219,.22); border-radius: 18px; box-shadow: var(--w-shadow);
    background-image: url("/img/mountain-world-v2-mobile.jpg");
    background-image: image-set(
      url("/img/mountain-world-v2-mobile.webp") type("image/webp") 1x,
      url("/img/mountain-world-v2-mobile.jpg") type("image/jpeg") 1x
    );
  }
  .dash-world__intro { left: 14px; right: 14px; top: 14px; width: min(72%, 330px); }
  .dash-world__hypothesis {
    position: relative; inset: auto; width: 100%; min-height: 0; margin-top: 12px;
    padding: 13px 15px; background: var(--w-surface); backdrop-filter: none; -webkit-backdrop-filter: none;
  }
  .dash-world__routes { display: none; }
  .dash-world__peaks {
    position: relative; inset: auto; display: grid; grid-template-columns: 1fr;
    gap: 12px; margin-top: 12px; pointer-events: auto;
  }
  .dash-peak, .dash-peak--I, .dash-peak--II, .dash-peak--III {
    position: static; inset: auto; width: auto; min-width: 0; transform: none;
  }
  .dash-peak__panel {
    padding: 15px; background: var(--w-surface); border-top-width: 1px;
    border-left: 4px solid var(--w-accent); backdrop-filter: none; -webkit-backdrop-filter: none;
  }
  .dash-peak__summary { display: block; min-height: 0; overflow: visible; -webkit-line-clamp: unset; }
  .dash-peak__button { width: auto; min-width: 190px; }
  .dash-aligned-experiment { margin-top: 14px; }
}
@media (max-width: 560px) {
  .dash-nav { grid-auto-columns: clamp(152px, 44vw, 210px); }
  .dash-tab { min-height: 88px; height: 88px; }
  .dash-tab__copy { width: 90%; padding-inline: 14px 10px; }
  .dash-stage { padding: 18px calc(16px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left)); }
  .dash-top { padding: calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 14px calc(16px + env(safe-area-inset-left)); }
  .dash-head h1 { font-size: 30px; }
  .dash-world__intro { width: calc(100% - 28px); }
  .dash-world__intro p { max-width: 32ch; }
  .dash-peak__button { width: 100%; min-width: 0; }
}
@media (max-width: 360px) {
  .dash-who { gap: 9px; }
  .dash-greet { display: none; }
  .dash-name { font-size: 16px; }
  .dash-icons { gap: 5px; }
}
@media (max-width: 280px) {
  .dash-avatar { display: none; }
  .dash-who { gap: 0; }
}
@media (max-height: 520px) and (orientation: landscape) {
  .dash-top { padding-top: calc(8px + env(safe-area-inset-top)); padding-bottom: 8px; }
  .dash-nav { grid-auto-columns: clamp(138px, 23vw, 168px); padding-top: 6px; padding-bottom: 7px; }
  .dash-tab { min-height: 70px; height: 70px; }
  .dash-tab__copy { padding-block: 7px; }
  .dash-stage { padding-top: 12px; }
  .dash-stage h1, .dash-stage [data-goal-id], .dash-stage [data-practice-key],
  .dash-stage #guest-home-mountain-focus { scroll-margin-top: 94px; }
  .breath-stage {
    display: grid; grid-template-columns: minmax(96px, 120px) minmax(0, 1fr);
    grid-template-rows: auto auto auto auto; align-items: center; gap: 5px 20px;
    padding: 14px 18px;
  }
  .breath-orb-wrap { grid-column: 1; grid-row: 1 / 5; width: min(112px, 30vh); }
  .breath-count { font-size: 34px; }
  .breath-stage #breath-phase, .breath-stage #breath-instruction,
  .breath-stage #breath-round, .breath-stage .mtn-actions { grid-column: 2; text-align: left !important; margin: 0 !important; }
  .breath-stage .mtn-actions { justify-content: flex-start !important; margin-top: 4px !important; }
}
@media (max-height: 360px) and (orientation: landscape) {
  .dash-head > p { display: none; }
  .dash-head .dash-rule { margin-top: 6px; }
  .breath-stage { margin-top: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .mtn-dash *, .mtn-dash *::before, .mtn-dash *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
  .dash-world__cloud, .dash-world__media::before { animation: none !important; }
  .dash-tab, .dash-tab__media img, .dash-tab__scrim { animation: none !important; transition: none !important; transform: none !important; }
}
@media (prefers-contrast: more) {
  .dash-world__media::after { background: rgba(2,5,11,.48); }
  .dash-world__intro, .dash-world__hypothesis, .dash-peak__panel { background: rgba(2,5,11,.98); border-color: rgba(255,255,255,.72); }
  .dash-peak__summary, .dash-peak__state, .dash-world__intro p { color: #fff; }
  .dash-tab { border-color: #fff; }
  .dash-tab__scrim, .dash-tab.on .dash-tab__scrim, .dash-tab:hover .dash-tab__scrim { background: rgba(2,5,11,.88); }
  .dash-tab__copy strong, .dash-tab__copy small { color: #fff; }
}
@media (forced-colors: active) {
  .dash-tab { color: ButtonText; background: ButtonFace; border: 2px solid ButtonText; box-shadow: none; }
  .dash-tab__media, .dash-tab__scrim { display: none; }
  .dash-tab__copy strong, .dash-tab__copy small { color: ButtonText; }
  .dash-tab.on { border-left: 6px solid Highlight; box-shadow: none; }
  .dash-tab.on::before { display: none; }
  .dash-tab:focus-visible { outline: 3px solid Highlight; outline-offset: -5px; box-shadow: none; }
  .dash-world { display: block; aspect-ratio: auto; overflow: visible; padding: 12px; border: 2px solid CanvasText; background: Canvas; box-shadow: none; }
  .dash-world__media, .dash-world__routes { display: none; }
  .dash-world__intro { position: static; width: auto; margin-bottom: 12px; color: CanvasText; background: Canvas; border: 2px solid CanvasText; box-shadow: none; backdrop-filter: none; }
  .dash-world__intro > span, .dash-world__intro h2, .dash-world__intro p { color: CanvasText; }
  .dash-world__hypothesis { position: static; width: auto; margin-bottom: 12px; color: ButtonText; background: ButtonFace; border: 2px solid ButtonText; }
  .dash-world__hypothesis > span, .dash-world__hypothesis strong, .dash-world__hypothesis em { color: ButtonText; }
  .dash-world__peaks { position: static; display: grid; gap: 12px; pointer-events: auto; }
  .dash-peak, .dash-peak--I, .dash-peak--II, .dash-peak--III { position: static; width: auto; transform: none; }
  .dash-peak__panel { color: CanvasText; background: Canvas; border: 2px solid CanvasText; box-shadow: none; backdrop-filter: none; }
  .dash-peak__kicker, .dash-peak__panel h3, .dash-peak__summary, .dash-peak__state { color: CanvasText; }
  .dash-peak__state > span { background: CanvasText; box-shadow: none; }
  .dash-peak__button { color: ButtonText; background: ButtonFace; border: 2px solid ButtonText; }
}

/* ---- the First Fire -------------------------------------------------------
 * A no-score opening held inside the existing three-mountain sanctuary.
 * The image is atmosphere only: every choice remains a native semantic control.
 */
.mtn-first-fire {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  color: var(--w-cream);
  background: #060913;
}
.mtn-first-fire__media,
.mtn-first-fire__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.mtn-first-fire__media img {
  object-fit: cover;
  object-position: center;
  animation: mtn-first-fire-scene-in .9s cubic-bezier(.2,.7,.2,1) both;
}
.mtn-first-fire__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3,6,13,.22) 0%, rgba(3,6,13,.08) 45%, rgba(3,6,13,.82) 69%, rgba(3,6,13,.99) 100%),
    linear-gradient(180deg, rgba(3,6,13,.12), rgba(3,6,13,.5));
}
.mtn-first-fire__fire {
  position: absolute;
  z-index: 2;
  left: 49%;
  bottom: -13%;
  width: min(38vw, 580px);
  aspect-ratio: 1;
  pointer-events: none;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240,177,78,.3), rgba(210,98,46,.12) 28%, transparent 67%);
  filter: blur(13px);
}
.mtn-first-fire__fire > span {
  position: absolute;
  left: 50%;
  top: 44%;
  width: 34px;
  height: 34px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(255,218,143,.58);
  box-shadow: 0 0 34px rgba(255,190,85,.72), 0 0 80px rgba(210,98,46,.38);
}
.mtn-first-fire__scene-copy {
  position: absolute;
  z-index: 3;
  top: clamp(22px, 4vw, 50px);
  right: clamp(510px, 42vw, 640px);
  left: clamp(22px, 4vw, 58px);
  text-shadow: 0 3px 24px rgba(0,0,0,.78);
}
.mtn-first-fire__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.mtn-first-fire__topline .mtn-btn,
.mtn-first-fire__signin {
  min-height: 44px;
}
.mtn-first-fire__signin {
  padding: 8px 3px;
  border: 0;
  color: rgba(255,250,240,.88);
  background: transparent;
  cursor: pointer;
  font: 600 12px/1.25 var(--w-sans);
  text-decoration: underline;
  text-decoration-color: rgba(227,196,119,.58);
  text-underline-offset: 4px;
}
.mtn-first-fire__signin:hover { color: #fffaf0; text-decoration-color: var(--w-gold-2); }
.mtn-first-fire__scene-copy > p {
  max-width: 520px;
  margin: clamp(18px, 6vh, 62px) 0 0;
  color: rgba(255,250,240,.86);
  font: italic clamp(17px, 1.55vw, 21px)/1.5 var(--w-serif);
}

.mtn-first-fire__dock {
  position: absolute;
  z-index: 4;
  inset: 0 0 0 auto;
  width: clamp(480px, 40vw, 600px);
  height: 100vh;
  height: 100dvh;
  max-height: 100dvh;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 0 clamp(28px, 3.2vw, 48px);
  border-left: 1px solid rgba(227,196,119,.3);
  background: rgba(8,10,18,.955);
  box-shadow: -28px 0 76px rgba(0,0,0,.38);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.mtn-first-fire__panel {
  display: flex;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 7vh, 78px) 0;
  animation: mtn-first-fire-panel-in .28s ease-out both;
}
.mtn-first-fire__panel h1 {
  margin: 9px 0 12px;
  color: #fffaf0;
  font-size: clamp(32px, 3.6vw, 46px);
  text-wrap: balance;
}
.mtn-first-fire__lede {
  margin: 0 0 22px;
  color: rgba(255,250,240,.78);
  font: 400 16px/1.55 var(--w-serif);
}
.mtn-first-fire__panel .mtn-stage-label { color: var(--w-gold-2); }
.mtn-first-fire__panel .mtn-status { margin: 12px 0 4px; }
.mtn-first-fire__continue { align-self: flex-start; }

.mtn-first-fire__mountains {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.mtn-first-fire__mountain {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 142px;
  padding: 18px 11px 14px;
  cursor: pointer;
  appearance: none;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  border: 1px solid rgba(255,250,240,.24);
  border-top: 3px solid var(--w-accent);
  border-radius: 17px;
  color: #fffaf0;
  background: linear-gradient(180deg, rgba(31,34,50,.88), rgba(14,16,27,.96));
  box-shadow: 0 12px 28px rgba(0,0,0,.3);
  text-align: center;
  touch-action: manipulation;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.mtn-first-fire__mountain strong,
.mtn-first-fire__mountain > span:last-child { display: block; }
.mtn-first-fire__mountain strong {
  margin-top: 10px;
  color: #fffaf0;
  font: 550 17px/1.15 var(--w-serif);
}
.mtn-first-fire__mountain > span:last-child {
  margin-top: 6px;
  color: rgba(255,250,240,.72);
  font: 500 11.5px/1.35 var(--w-sans);
}
.mtn-first-fire__ember {
  position: relative;
  display: inline-block;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border: 1px solid rgba(255,250,240,.62);
  border-radius: 50%;
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--w-accent, var(--w-gold)) 13%, transparent), 0 0 22px color-mix(in srgb, var(--w-accent, var(--w-gold)) 55%, transparent);
}
.mtn-first-fire__ember::after {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: var(--w-accent, var(--w-gold));
}
@media (hover: hover) and (pointer: fine) {
  .mtn-first-fire__mountain:hover,
  .mtn-first-fire__mode:hover,
  .mtn-first-fire__choice:hover {
    border-color: rgba(255,250,240,.72);
    background: rgba(201,162,76,.12);
    box-shadow: 0 15px 34px rgba(0,0,0,.4);
    transform: translateY(-2px);
  }
}
.mtn-first-fire__mountain:active,
.mtn-first-fire__mode:active,
.mtn-first-fire__choice:active { transform: translateY(1px); }

.mtn-first-fire__choices,
.mtn-first-fire__modes {
  display: grid;
  gap: 10px;
}
.mtn-first-fire__choice,
.mtn-first-fire__mode {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 54px;
  box-sizing: border-box;
  padding: 13px 15px;
  cursor: pointer;
  appearance: none;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255,250,240,.22);
  border-radius: 15px;
  color: #fffaf0;
  background: rgba(18,21,34,.86);
  text-align: left;
  touch-action: manipulation;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.mtn-first-fire__choice::after {
  content: "\2192";
  margin-left: auto;
  color: var(--w-gold-2);
  font-size: 17px;
}
.mtn-first-fire__choice-mark {
  position: relative;
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  border: 1px solid var(--w-accent, var(--w-gold-2));
  border-radius: 50%;
  box-shadow: inset 0 0 0 4px rgba(8,10,18,.94);
  background: var(--w-accent, var(--w-gold-2));
}
.mtn-first-fire__modes {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mtn-first-fire__mode {
  min-height: 124px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
.mtn-first-fire__mode::before {
  content: "";
  width: 22px;
  height: 3px;
  border-radius: 99px;
  background: var(--w-gold-2);
}
.mtn-first-fire__mode strong,
.mtn-first-fire__mode span { display: block; }
.mtn-first-fire__mode strong { color: #fffaf0; font: 550 15px/1.25 var(--w-serif); }
.mtn-first-fire__mode span { color: rgba(255,250,240,.7); font-size: 11.5px; line-height: 1.4; }

.mtn-first-fire__custom {
  margin-top: 18px;
  padding-top: 17px;
  border-top: 1px solid rgba(255,250,240,.12);
}
.mtn-first-fire__custom > label {
  display: block;
  margin-bottom: 7px;
  color: #fffaf0;
  font-size: 13px;
  font-weight: 650;
}
.mtn-first-fire__custom > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
}
.mtn-first-fire__custom input,
.mtn-first-fire textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(255,250,240,.27);
  border-radius: 13px;
  color: #fffaf0;
  background: rgba(27,30,45,.95);
  font: 16px/1.5 var(--w-sans);
}
.mtn-first-fire__custom input {
  min-height: 48px;
  padding: 10px 13px;
}
.mtn-first-fire textarea {
  min-height: 118px;
  padding: 13px 14px;
  resize: vertical;
}
.mtn-first-fire__custom input::placeholder,
.mtn-first-fire textarea::placeholder { color: rgba(255,250,240,.58); }

.mtn-first-fire__resources {
  display: grid;
  gap: 11px;
}
.mtn-first-fire__resource {
  min-width: 0;
  margin: 0;
  padding: 13px;
  border: 1px solid rgba(255,250,240,.16);
  border-radius: 15px;
  background: rgba(14,17,29,.72);
}
.mtn-first-fire__resource legend {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 5px;
  color: #fffaf0;
  font-size: 13px;
  font-weight: 700;
}
.mtn-first-fire__resource-ember {
  width: 9px;
  height: 9px;
  border: 1px solid rgba(255,250,240,.72);
  border-radius: 50%;
  background: var(--w-gold-2);
  box-shadow: 0 0 10px rgba(227,196,119,.6);
}
.mtn-first-fire__resource-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 7px;
}
.mtn-first-fire__resource-options label {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 46px;
  cursor: pointer;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,250,240,.23);
  border-radius: 12px;
  color: rgba(255,250,240,.78);
  background: rgba(30,32,47,.78);
  font-size: 12px;
  font-weight: 650;
  touch-action: manipulation;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.mtn-first-fire__resource-options label input {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
  opacity: 0;
}
.mtn-first-fire__resource-options label > span { pointer-events: none; }
.mtn-first-fire__resource-options label:focus-within {
  outline: 3px solid var(--w-gold-2);
  outline-offset: 2px;
}
.mtn-first-fire__resource-options label.selected {
  border: 2px solid #fffaf0;
  color: #fffaf0;
  background: color-mix(in srgb, var(--w-accent, var(--w-gold)) 24%, #151827);
  box-shadow: inset 0 0 0 2px var(--w-accent, var(--w-gold));
}
.mtn-first-fire__resource-options label.selected::after {
  content: "\2713";
  position: absolute;
  top: 2px;
  right: 5px;
  color: #fffaf0;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.mtn-first-fire__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,250,240,.12);
  color: rgba(255,250,240,.68);
  font-size: 12px;
}
.mtn-first-fire__text-action {
  min-height: 44px;
  padding: 7px 0;
  cursor: pointer;
  border: 0;
  color: var(--w-gold-2);
  background: transparent;
  font: 600 12px/1.3 var(--w-sans);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.mtn-first-fire__trust,
.mtn-first-fire__account {
  margin: 18px 0 0;
  padding: 11px 13px;
  border-left: 3px solid rgba(227,196,119,.7);
  border-radius: 0 10px 10px 0;
  color: rgba(255,250,240,.72);
  background: rgba(201,162,76,.07);
  font-size: 12.5px;
  line-height: 1.5;
}
.mtn-first-fire__account { color: rgba(255,250,240,.86); }
.mtn-first-fire__fit {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.mtn-first-fire__summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: flex-start;
  gap: 15px;
  margin: 9px 0 5px;
  padding: 18px;
  border: 1px solid rgba(255,250,240,.24);
  border-left: 4px solid var(--w-accent, var(--w-gold));
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(31,33,48,.92), rgba(15,17,28,.98));
  box-shadow: 0 16px 38px rgba(0,0,0,.26);
}
.mtn-first-fire__summary .mtn-first-fire__ember { margin-top: 2px; }
.mtn-first-fire__summary p {
  margin: 0;
  color: rgba(255,250,240,.88);
  font: 400 15px/1.65 var(--w-serif);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@keyframes mtn-first-fire-scene-in {
  from { opacity: .72; transform: scale(1.014); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes mtn-first-fire-panel-in {
  from { opacity: 0; transform: translateX(12px); }
  to { opacity: 1; transform: none; }
}

/* On tablets and phones the sanctuary becomes a scenic header and the entire
 * interaction lives in a normal-flow panel below it. */
@media (max-width: 1099px) {
  .mtn-first-fire { overflow: auto; }
  .mtn-first-fire__media {
    position: relative;
    inset: auto;
    height: 36dvh;
    min-height: 260px;
    max-height: 410px;
  }
  .mtn-first-fire__media img { object-position: center; }
  .mtn-first-fire__veil {
    inset: 0 0 auto;
    height: 36dvh;
    min-height: 260px;
    max-height: 410px;
    background:
      linear-gradient(90deg, rgba(3,6,13,.72), rgba(3,6,13,.1) 70%),
      linear-gradient(180deg, rgba(3,6,13,.08), rgba(3,6,13,.64));
  }
  .mtn-first-fire__fire {
    top: 8dvh;
    bottom: auto;
    left: 50%;
    width: min(54vw, 460px);
  }
  .mtn-first-fire__scene-copy {
    top: 18px;
    right: 22px;
    left: 22px;
  }
  .mtn-first-fire__scene-copy > p { margin-top: clamp(20px, 5vh, 46px); }
  .mtn-first-fire__dock {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    max-height: none;
    min-height: 64dvh;
    padding: 0 clamp(22px, 6vw, 54px);
    border-top: 1px solid rgba(227,196,119,.3);
    border-left: 0;
    background: #0b0d17;
    box-shadow: 0 -18px 48px rgba(0,0,0,.28);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .mtn-first-fire__panel {
    max-width: 660px;
    min-height: 64dvh;
    margin: 0 auto;
    padding: clamp(30px, 6vh, 56px) 0;
  }
}

@media (max-width: 720px) {
  .mtn-first-fire__media,
  .mtn-first-fire__veil {
    height: 30svh;
    min-height: 220px;
    max-height: 300px;
  }
  .mtn-first-fire__scene-copy { top: 11px; right: 14px; left: 14px; }
  .mtn-first-fire__scene-copy > p {
    max-width: 32ch;
    margin-top: 14px;
    font-size: 14px;
  }
  .mtn-first-fire__dock {
    min-height: 70svh;
    padding: 0 18px;
  }
  .mtn-first-fire__panel {
    min-height: 70svh;
    padding: 27px 0 calc(30px + env(safe-area-inset-bottom));
  }
  .mtn-first-fire__panel h1 { font-size: clamp(28px, 8.5vw, 38px); }
  .mtn-first-fire__mountains { gap: 8px; }
  .mtn-first-fire__mountain { min-height: 132px; padding: 15px 8px 12px; }
  .mtn-first-fire__mountain strong { font-size: 15px; }
  .mtn-first-fire__mountain > span:last-child { font-size: 10.5px; }
  .mtn-first-fire__modes { grid-template-columns: 1fr; }
  .mtn-first-fire__mode {
    min-height: 76px;
    padding: 13px 15px;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
  }
  .mtn-first-fire__mode::before { flex: 0 0 22px; }
  .mtn-first-fire__mode strong { flex: 1 1 calc(100% - 38px); }
  .mtn-first-fire__mode span { margin-left: 34px; }
  .mtn-first-fire__foot { align-items: flex-start; flex-direction: column; }
  .mtn-first-fire__text-action { margin-top: -6px; }
}

@media (max-width: 480px) {
  .mtn-first-fire__custom > div { grid-template-columns: minmax(0, 1fr); }
  .mtn-first-fire__custom .mtn-btn { width: 100%; }
  .mtn-first-fire__fit,
  .mtn-first-fire__panel > .mtn-actions,
  .mtn-first-fire__panel form > .mtn-actions { align-items: stretch; flex-direction: column; }
  .mtn-first-fire__fit .mtn-btn,
  .mtn-first-fire__panel > .mtn-actions .mtn-btn,
  .mtn-first-fire__panel form > .mtn-actions .mtn-btn { width: 100%; }
}

@media (max-width: 360px) {
  .mtn-first-fire__mountains { grid-template-columns: minmax(0, 1fr); }
  .mtn-first-fire__mountain {
    min-height: 86px;
    padding: 13px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 13px;
    text-align: left;
  }
  .mtn-first-fire__mountain .mtn-first-fire__ember { grid-row: 1 / 3; }
  .mtn-first-fire__mountain strong { margin: 0; }
  .mtn-first-fire__mountain > span:last-child { margin-top: 3px; }
  .mtn-first-fire__resource { padding: 11px 9px; }
  .mtn-first-fire__resource-options { gap: 4px; }
  .mtn-first-fire__resource-options label { font-size: 11px; }
}

@media (max-width: 1099px) and (max-height: 520px) {
  .mtn-first-fire__media,
  .mtn-first-fire__veil {
    height: 128px;
    min-height: 128px;
    max-height: 128px;
  }
  .mtn-first-fire__scene-copy { top: 8px; }
  .mtn-first-fire__scene-copy > p { display: none; }
  .mtn-first-fire__dock,
  .mtn-first-fire__panel { min-height: calc(100dvh - 128px); }
  .mtn-first-fire__panel { padding-top: 25px; padding-bottom: 25px; }
}

@media (prefers-reduced-motion: reduce) {
  .mtn-first-fire *,
  .mtn-first-fire *::before,
  .mtn-first-fire *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
  .mtn-first-fire__media img,
  .mtn-first-fire__mountain,
  .mtn-first-fire__mode,
  .mtn-first-fire__choice { transform: none !important; }
}

@media (prefers-contrast: more) {
  .mtn-first-fire__veil {
    background:
      linear-gradient(90deg, rgba(0,0,0,.64), rgba(0,0,0,.28) 48%, rgba(0,0,0,.96) 70%),
      linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.78));
  }
  .mtn-first-fire__dock { border-color: #fff; background: #05060a; }
  .mtn-first-fire__lede,
  .mtn-first-fire__scene-copy > p,
  .mtn-first-fire__mountain > span:last-child,
  .mtn-first-fire__mode span,
  .mtn-first-fire__trust { color: #fff; }
  .mtn-first-fire__mountain,
  .mtn-first-fire__choice,
  .mtn-first-fire__mode,
  .mtn-first-fire__resource,
  .mtn-first-fire__resource-options label,
  .mtn-first-fire__summary { border-color: #fff; }
  .mtn-first-fire__resource-options label.selected { border-width: 3px; }
}

@media (forced-colors: active) {
  .mtn-first-fire {
    min-height: 100vh;
    overflow: auto;
    color: CanvasText;
    background: Canvas;
  }
  .mtn-first-fire__media,
  .mtn-first-fire__veil,
  .mtn-first-fire__fire,
  .mtn-first-fire__ember,
  .mtn-first-fire__resource-ember,
  .mtn-first-fire__choice-mark { display: none; }
  .mtn-first-fire__scene-copy {
    position: relative;
    inset: auto;
    padding: 16px 18px;
    color: CanvasText;
    text-shadow: none;
  }
  .mtn-first-fire__scene-copy > p { margin: 12px 0 0; color: CanvasText; }
  .mtn-first-fire__signin,
  .mtn-first-fire__text-action { color: LinkText; }
  .mtn-first-fire__dock {
    position: relative;
    inset: auto;
    width: auto;
    height: auto;
    max-height: none;
    min-height: 0;
    padding: 18px;
    border: 2px solid CanvasText;
    color: CanvasText;
    background: Canvas;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .mtn-first-fire__panel { min-height: 0; padding: 18px 0; color: CanvasText; }
  .mtn-first-fire__panel h1,
  .mtn-first-fire__lede,
  .mtn-first-fire__mountain strong,
  .mtn-first-fire__mountain > span:last-child,
  .mtn-first-fire__mode strong,
  .mtn-first-fire__mode span,
  .mtn-first-fire__resource legend,
  .mtn-first-fire__summary p,
  .mtn-first-fire__trust,
  .mtn-first-fire__account { color: CanvasText; }
  .mtn-first-fire__mountain,
  .mtn-first-fire__choice,
  .mtn-first-fire__mode,
  .mtn-first-fire__resource,
  .mtn-first-fire__resource-options label,
  .mtn-first-fire__summary,
  .mtn-first-fire__custom input,
  .mtn-first-fire textarea,
  .mtn-first-fire__trust,
  .mtn-first-fire__account {
    color: CanvasText;
    background: Canvas;
    border: 2px solid CanvasText;
    box-shadow: none;
  }
  .mtn-first-fire__resource-options label.selected {
    border: 3px solid Highlight;
    color: HighlightText;
    background: Highlight;
    box-shadow: none;
  }
  .mtn-first-fire__resource-options label.selected::after { color: HighlightText; }
  .mtn-first-fire__choice::after { color: CanvasText; }
  .mtn-first-fire .mtn-btn {
    color: ButtonText;
    background: ButtonFace;
    border: 2px solid ButtonText;
  }
}
