.architect-screen,
.briefing-screen,
.atlas-shell,
.atlas-overlay {
  --atlas-ink: #151814;
  --atlas-forest: #24332b;
  --atlas-moss: #496453;
  --atlas-paper: #efede5;
  --atlas-paper-deep: #ded9cc;
  --atlas-line: rgba(21, 24, 20, .16);
  --atlas-signal: #ef6b3d;
  --atlas-sun: #d9ed72;
  --atlas-muted: #74776e;
  color: var(--atlas-ink);
  font-family: "Avenir Next", Avenir, "Helvetica Neue", sans-serif;
}

[data-theme="dark"] .architect-screen,
[data-theme="dark"] .briefing-screen,
[data-theme="dark"] .atlas-shell,
[data-theme="dark"] .atlas-overlay {
  --atlas-ink: #eef1e8;
  --atlas-forest: #101a14;
  --atlas-moss: #81a38d;
  --atlas-paper: #171d18;
  --atlas-paper-deep: #222a23;
  --atlas-line: rgba(239, 242, 233, .15);
  --atlas-muted: #a3aca2;
}

.architect-screen *,
.briefing-screen *,
.atlas-shell *,
.atlas-overlay * {
  box-sizing: border-box;
}

.atlas-eyebrow {
  margin: 0;
  color: var(--atlas-signal);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.atlas-wordmark {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  font-size: 1.08rem;
  letter-spacing: -.04em;
}

.atlas-wordmark i {
  color: var(--atlas-muted);
  font-size: .68rem;
  font-style: normal;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.atlas-mark {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.atlas-brand-mark {
  width: 2.2rem;
  height: 2.2rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: .68rem;
  background: #101814 url("/brand-icon.png") center / cover no-repeat;
  box-shadow: 0 .45rem 1.2rem rgba(8, 13, 10, .28), inset 0 0 0 1px rgba(255, 255, 255, .05);
}

.atlas-mark svg,
.atlas-rail svg,
.atlas-mobile-nav svg,
.focus-card svg,
.section-mini-heading svg,
.atlas-primary-button svg,
.atlas-secondary-button svg,
.complete-goal-button svg,
.profile-settings svg,
.completion-mark svg,
.artifact-signal-card svg,
.profile-artifacts svg,
.reward-card svg {
  width: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.atlas-primary-button,
.atlas-secondary-button,
.complete-goal-button {
  min-height: 3.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: 0 1.2rem;
  border: 1px solid var(--atlas-ink);
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-weight: 750;
  transition: transform .25s cubic-bezier(.2, .8, .2, 1), background .25s ease, color .25s ease;
}

.atlas-primary-button,
.complete-goal-button {
  background: var(--atlas-ink);
  color: var(--atlas-paper);
}

.atlas-secondary-button {
  background: transparent;
  color: var(--atlas-ink);
}

.atlas-primary-button:hover,
.atlas-secondary-button:hover,
.complete-goal-button:hover {
  transform: translateY(-3px);
}

.atlas-primary-button:active,
.atlas-secondary-button:active,
.complete-goal-button:active {
  transform: translateY(1px) scale(.96);
  transition-duration: .08s;
}

.atlas-text-button {
  padding: .35rem 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

/* Goal briefing */
.briefing-screen {
  position: relative;
  min-height: 100dvh;
  overflow: hidden;
  padding: max(1.25rem, env(safe-area-inset-top)) clamp(1rem, 5vw, 5rem) 7.5rem;
  background:
    radial-gradient(circle at 78% 16%, rgba(217, 237, 114, .16), transparent 28rem),
    radial-gradient(circle at 12% 84%, rgba(239, 107, 61, .16), transparent 25rem),
    #17201b;
  color: var(--atlas-paper);
}

.briefing-screen::before {
  position: fixed;
  inset: 0;
  opacity: .1;
  pointer-events: none;
  content: "";
  background: repeating-radial-gradient(ellipse at 74% 24%, transparent 0 30px, rgba(239, 237, 229, .6) 31px 32px, transparent 33px 47px);
  transform: rotate(-9deg) scale(1.2);
}

.briefing-ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.briefing-ambient i {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--atlas-sun);
  box-shadow: 0 0 0 10px rgba(217, 237, 114, .05), 0 0 32px rgba(217, 237, 114, .42);
  animation: briefing-signal 3.8s cubic-bezier(.16, 1, .3, 1) infinite;
}

.briefing-ambient i:nth-child(1) { top: 23%; left: 8%; }
.briefing-ambient i:nth-child(2) { top: 17%; right: 11%; animation-delay: -1.4s; }
.briefing-ambient i:nth-child(3) { right: 5%; bottom: 18%; animation-delay: -2.2s; }

.briefing-header {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.briefing-header .atlas-brand-mark { border-color: rgba(255, 255, 255, .2); }

.briefing-header .atlas-wordmark i { color: #8e9a91; }

.briefing-progress {
  display: flex;
  gap: .45rem;
}

.briefing-progress span {
  width: 1.9rem;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
}

.briefing-progress span::after {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: var(--atlas-sun);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}

.briefing-progress span.is-active::after { transform: scaleX(1); }

.briefing-header > small {
  justify-self: end;
  color: #879189;
  font-size: .64rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.briefing-form {
  position: relative;
  z-index: 2;
  width: min(1120px, 100%);
  margin: clamp(3rem, 8vh, 7rem) auto 0;
}

.briefing-stage {
  display: grid;
  grid-template-columns: minmax(17rem, .82fr) minmax(26rem, 1.18fr);
  gap: clamp(2.5rem, 8vw, 8rem);
  align-items: start;
  animation: briefing-stage-enter .72s cubic-bezier(.16, 1, .3, 1) both;
}

.briefing-stage[hidden] { display: none; }

.briefing-copy {
  position: sticky;
  top: 3rem;
}

.briefing-copy h2 {
  max-width: 10ch;
  margin: .75rem 0 1.25rem;
  font-family: "Iowan Old Style", Baskerville, Georgia, serif;
  font-size: clamp(3.2rem, 6vw, 6.4rem);
  font-weight: 500;
  letter-spacing: -.072em;
  line-height: .9;
  text-wrap: balance;
}

.briefing-copy > p:last-child {
  max-width: 40ch;
  margin: 0;
  color: #9da8a0;
  line-height: 1.65;
}

.briefing-fields {
  display: grid;
  gap: 1rem;
  padding: clamp(1.15rem, 3vw, 2rem);
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 1.55rem;
  background: rgba(239, 237, 229, .98);
  color: var(--atlas-ink);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .75);
}

.briefing-fields label {
  display: grid;
  gap: .55rem;
  color: #626a63;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.briefing-fields input,
.briefing-fields textarea,
.briefing-fields select {
  width: 100%;
  min-height: 3.35rem;
  padding: .9rem 0;
  border: 0;
  border-bottom: 1px solid var(--atlas-line);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--atlas-ink);
  font: inherit;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.45;
  text-transform: none;
  transition: border-color .28s cubic-bezier(.16, 1, .3, 1), transform .28s cubic-bezier(.16, 1, .3, 1);
}

.briefing-fields textarea { resize: vertical; }
.briefing-fields input:focus,
.briefing-fields textarea:focus,
.briefing-fields select:focus { border-color: var(--atlas-signal); transform: translateX(.2rem); }

.briefing-title-field input {
  font-family: "Iowan Old Style", Baskerville, Georgia, serif;
  font-size: clamp(1.65rem, 3vw, 2.5rem);
  font-weight: 500;
  letter-spacing: -.035em;
}

.briefing-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.briefing-cadence {
  margin: .6rem 0 0;
  padding: 1rem 0 0;
  border: 0;
  border-top: 1px solid var(--atlas-line);
}

.briefing-cadence legend {
  margin-bottom: .8rem;
  color: #626a63;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.briefing-cadence > div {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: .45rem;
}

.briefing-cadence input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.briefing-cadence span {
  min-height: 3rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--atlas-line);
  border-radius: .8rem;
  cursor: pointer;
  font-weight: 800;
  transition: transform .28s cubic-bezier(.16, 1, .3, 1), background .28s cubic-bezier(.16, 1, .3, 1);
}

.briefing-cadence input:checked + span {
  background: var(--atlas-forest);
  color: var(--atlas-sun);
  transform: translateY(-3px);
}

.briefing-preview { grid-template-columns: .72fr 1.28fr; }

.briefing-blueprint {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 1rem;
}

.blueprint-destination,
.blueprint-crossings,
.briefing-blueprint > aside {
  border-radius: 1.4rem;
}

.blueprint-destination {
  min-height: 26rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 1.6rem;
  background:
    repeating-radial-gradient(ellipse at 80% 18%, transparent 0 23px, rgba(217, 237, 114, .16) 24px 25px, transparent 26px 39px),
    var(--atlas-moss);
  color: var(--atlas-paper);
}

.blueprint-destination > span,
.blueprint-crossings article > span {
  color: var(--atlas-sun);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.blueprint-destination h3 {
  margin: auto 0 1rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2rem, 4vw, 3.8rem);
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: .95;
}

.blueprint-destination p { color: #c3cbc3; line-height: 1.5; }
.blueprint-destination small { color: var(--atlas-sun); }

.blueprint-crossings {
  display: grid;
  overflow: hidden;
  background: var(--atlas-paper);
  color: var(--atlas-ink);
}

.blueprint-crossings article {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: .8rem;
  align-items: start;
  padding: 1.2rem;
  border-bottom: 1px solid var(--atlas-line);
}

.blueprint-crossings article:last-child { border-bottom: 0; }
.blueprint-crossings article > span { color: var(--atlas-signal); }
.blueprint-crossings h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.blueprint-crossings p { margin: 0 0 .7rem; color: var(--atlas-muted); font-size: .76rem; line-height: 1.45; }
.blueprint-crossings small { color: var(--atlas-moss); font-size: .66rem; font-weight: 750; }

.briefing-blueprint > aside {
  grid-column: 1 / -1;
  padding: 1.1rem 1.3rem;
  background: var(--atlas-signal);
  color: #2d160f;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 1.15rem;
  line-height: 1.5;
}

.briefing-blueprint > aside b {
  font-family: "Avenir Next", Avenir, sans-serif;
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.briefing-actions {
  position: fixed;
  z-index: 5;
  right: clamp(1rem, 5vw, 5rem);
  bottom: max(1rem, env(safe-area-inset-bottom));
  left: clamp(1rem, 5vw, 5rem);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: .7rem .8rem .7rem 1.2rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 999px;
  background: rgba(239, 237, 229, .96);
  color: var(--atlas-ink);
  box-shadow: 0 18px 55px rgba(0, 0, 0, .28);
  backdrop-filter: blur(22px);
}

.briefing-actions > span {
  color: var(--atlas-muted);
  font-size: .68rem;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}

.briefing-actions .atlas-primary-button { justify-self: end; background: var(--atlas-signal); color: #2a150e; border-color: var(--atlas-signal); }
.briefing-actions .atlas-text-button { justify-self: start; }
.briefing-actions [hidden] { display: none; }
.briefing-error { max-width: 36rem; margin: 1rem auto; color: #ff9b7d; }

/* Goal Architect */
.architect-screen {
  position: relative;
  min-height: 100dvh;
  overflow: hidden;
  padding: max(1.25rem, env(safe-area-inset-top)) clamp(1rem, 5vw, 5rem) max(1.5rem, env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 90% 12%, rgba(217, 237, 114, .26), transparent 26rem),
    linear-gradient(135deg, #f4f1e8, #e4dfd2);
}

.architect-screen::before {
  position: absolute;
  inset: 0;
  opacity: .16;
  pointer-events: none;
  content: "";
  background-image:
    repeating-radial-gradient(ellipse at 82% 25%, transparent 0 28px, rgba(36, 51, 43, .38) 29px 30px, transparent 31px 44px);
  transform: rotate(-8deg) scale(1.2);
}

.architect-ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.architect-ambient span {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--atlas-signal);
  box-shadow: 0 0 0 10px rgba(239, 107, 61, .11);
  animation: atlas-float 5s ease-in-out infinite;
}

.architect-ambient span:nth-child(1) { left: 8%; top: 34%; }
.architect-ambient span:nth-child(2) { right: 11%; top: 51%; animation-delay: -1.7s; }
.architect-ambient span:nth-child(3) { left: 49%; bottom: 9%; animation-delay: -3.4s; }

.architect-header,
.architect-intro,
.architect-form {
  position: relative;
  z-index: 1;
  width: min(1220px, 100%);
  margin-inline: auto;
}

.architect-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.architect-progress {
  display: flex;
  gap: .35rem;
}

.architect-progress i {
  width: 2.2rem;
  height: 3px;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(21, 24, 20, .14);
  transition: background .35s ease, width .35s ease;
}

.architect-progress i.is-active {
  width: 3.5rem;
  background: var(--atlas-signal);
}

.architect-intro {
  display: grid;
  grid-template-columns: .55fr 1.45fr 1fr;
  gap: 2rem;
  align-items: end;
  padding: clamp(4rem, 10vh, 7rem) 0 clamp(2rem, 5vh, 4rem);
  border-bottom: 1px solid var(--atlas-line);
}

.architect-intro h2 {
  max-width: 11ch;
  margin: 0;
  font-family: "Iowan Old Style", "Baskerville", Georgia, serif;
  font-size: clamp(3rem, 6vw, 6.8rem);
  font-weight: 500;
  letter-spacing: -.07em;
  line-height: .88;
}

.architect-intro > p:last-child {
  max-width: 34ch;
  margin: 0;
  color: var(--atlas-muted);
  line-height: 1.65;
}

.architect-stage {
  display: grid;
  grid-template-columns: .55fr 2.45fr;
  gap: 2rem;
  padding: clamp(2.5rem, 6vw, 5rem) 0 7rem;
  animation: architect-enter .7s cubic-bezier(.16, 1, .3, 1) both;
}

.architect-stage[hidden] {
  display: none;
}

.stage-number span {
  color: var(--atlas-signal);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(3.5rem, 7vw, 7rem);
  line-height: .8;
}

.stage-number p {
  margin: 1.2rem 0 0;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.stage-fields {
  width: min(830px, 100%);
  display: grid;
  gap: 1.35rem;
}

.stage-fields label,
.overlay-card label {
  display: grid;
  gap: .55rem;
  color: var(--atlas-muted);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.stage-fields input,
.stage-fields textarea,
.stage-fields select,
.overlay-card input,
.overlay-card textarea,
.overlay-card select {
  width: 100%;
  padding: 1rem 0;
  border: 0;
  border-bottom: 1px solid rgba(21, 24, 20, .35);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--atlas-ink);
  font: 600 1.04rem/1.4 "Avenir Next", Avenir, sans-serif;
  letter-spacing: normal;
  text-transform: none;
  transition: border-color .2s ease;
}

.stage-fields input:focus,
.stage-fields textarea:focus,
.stage-fields select:focus,
.overlay-card input:focus,
.overlay-card textarea:focus,
.overlay-card select:focus {
  border-color: var(--atlas-signal);
}

.architect-title-field input {
  padding: .8rem 0 1.25rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2rem, 4.5vw, 4.8rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: 1;
}

.architect-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.confidence-field,
.architect-cadence {
  margin: .75rem 0 0;
  padding: 1.4rem 0 0;
  border: 0;
  border-top: 1px solid var(--atlas-line);
}

.confidence-field legend,
.architect-cadence legend {
  font-weight: 750;
}

.confidence-field > div,
.architect-cadence > div {
  display: flex;
  gap: .65rem;
  margin-top: 1rem;
}

.confidence-field label,
.architect-cadence label {
  display: block;
}

.confidence-field input,
.architect-cadence input,
.journal-kinds input,
.journal-composer-footer input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.confidence-field label span,
.architect-cadence label span {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--atlas-line);
  border-radius: 50%;
  cursor: pointer;
  font-size: .85rem;
  transition: transform .2s ease, background .2s ease;
}

.confidence-field input:checked + span,
.architect-cadence input:checked + span {
  background: var(--atlas-ink);
  color: var(--atlas-paper);
  transform: translateY(-3px);
}

.confidence-field p {
  margin: .85rem 0 0;
  color: var(--atlas-muted);
  font-size: .78rem;
}

.stage-copy {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 3rem;
  align-items: end;
  padding-bottom: 1.5rem;
}

.stage-copy h3,
.rhythm-builder h3 {
  margin: 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: .98;
}

.stage-copy p {
  margin: 0;
  color: var(--atlas-muted);
  line-height: 1.6;
}

.milestone-builder,
.action-builder {
  display: grid;
  gap: 1rem;
}

.milestone-builder article,
.action-builder article {
  position: relative;
  display: grid;
  grid-template-columns: 8rem 1fr 1fr;
  gap: 1.5rem;
  align-items: start;
  padding: 1.5rem;
  border: 1px solid var(--atlas-line);
  border-radius: 1rem;
  background: rgba(248, 246, 238, .5);
  transition: transform .25s ease, background .25s ease;
}

.milestone-builder article:hover,
.action-builder article:hover {
  transform: translateX(.5rem);
  background: rgba(248, 246, 238, .9);
}

.milestone-builder article > span,
.action-builder article > span {
  color: var(--atlas-signal);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.action-builder article {
  grid-template-columns: 1fr 1.6fr .7fr;
  align-items: end;
}

.rhythm-builder {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2rem;
  margin-top: 2rem;
  padding: 2rem;
  border-radius: 1.25rem;
  background: var(--atlas-forest);
  color: var(--atlas-paper);
}

.rhythm-builder > div:first-child,
.rhythm-builder .architect-cadence {
  grid-column: 1 / -1;
}

.rhythm-builder label {
  color: #b8c0b9;
}

.rhythm-builder input {
  color: var(--atlas-paper);
  border-color: rgba(255, 255, 255, .25);
}

.rhythm-builder .architect-cadence {
  border-color: rgba(255, 255, 255, .15);
}

.rhythm-builder .architect-cadence label span {
  border-color: rgba(255, 255, 255, .25);
}

.rhythm-builder .architect-cadence input:checked + span {
  background: var(--atlas-sun);
  color: var(--atlas-ink);
}

.architect-actions {
  position: fixed;
  z-index: 5;
  right: clamp(1rem, 5vw, 5rem);
  bottom: max(1rem, env(safe-area-inset-bottom));
  left: clamp(1rem, 5vw, 5rem);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: .7rem .8rem .7rem 1.2rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 999px;
  background: rgba(21, 24, 20, .94);
  color: var(--atlas-paper);
  box-shadow: 0 18px 55px rgba(21, 24, 20, .24);
  backdrop-filter: blur(22px);
}

.architect-actions > span {
  color: #9da39c;
  font-size: .74rem;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}

.architect-actions > span b {
  color: var(--atlas-paper);
}

.architect-actions .atlas-primary-button {
  justify-self: end;
  border-color: var(--atlas-signal);
  background: var(--atlas-signal);
  color: #21130e;
}

.architect-actions .atlas-text-button {
  justify-self: start;
  color: var(--atlas-paper);
}

.architect-actions [hidden] {
  display: none !important;
}

.architect-error {
  margin: -6rem auto 7rem;
  padding: .8rem 1rem;
  border-radius: .6rem;
  background: #ffe0d5;
  color: #8c2f17;
}

/* Living Atlas shell */
.native-app .dialog-shell:has(.atlas-shell) {
  overflow: hidden;
  background: #111410;
}

.atlas-shell {
  position: relative;
  min-height: 100svh;
  min-height: 100dvh;
  overflow: hidden;
  background: #111410;
}

.atlas-noise {
  position: fixed;
  z-index: 20;
  inset: 0;
  opacity: .055;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
  mix-blend-mode: multiply;
}

.atlas-rail {
  position: fixed;
  z-index: 8;
  inset: 0 auto 0 0;
  width: 6.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: max(1.3rem, env(safe-area-inset-top)) .7rem max(1.3rem, env(safe-area-inset-bottom));
  background: #111410;
  color: #e8e6de;
}

.atlas-rail .atlas-wordmark b {
  display: none;
}

.atlas-rail .atlas-brand-mark { border-color: rgba(255, 255, 255, .18); }

.atlas-rail nav {
  display: grid;
  gap: .65rem;
  margin: auto 0;
}

.atlas-rail nav button,
.atlas-mobile-nav button {
  display: grid;
  place-items: center;
  gap: .3rem;
  padding: .75rem;
  border: 0;
  border-radius: 1rem;
  background: transparent;
  color: #7e867e;
  cursor: pointer;
  font: inherit;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}

.atlas-rail nav button span,
.atlas-mobile-nav button span {
  width: 1.5rem;
  height: 1.5rem;
}

.atlas-rail nav button b,
.atlas-mobile-nav button b {
  font-size: .58rem;
  letter-spacing: .06em;
}

.atlas-rail nav button.is-active {
  background: #252b26;
  color: var(--atlas-sun);
  transform: translateX(.25rem);
}

.atlas-rail nav button.is-active span,
.atlas-mobile-nav button.is-active span {
  animation: nav-icon-bounce .55s cubic-bezier(.16, 1.35, .3, 1) both;
}

.rail-profile {
  position: relative;
  width: 2.7rem;
  height: 2.7rem;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 50%;
  background: #313a33;
  color: #f3f1e9;
  cursor: pointer;
  font-weight: 800;
}

.rail-profile i {
  position: absolute;
  right: 0;
  bottom: 0;
  width: .65rem;
  height: .65rem;
  border: 2px solid #111410;
  border-radius: 50%;
  background: var(--atlas-sun);
}

.atlas-main {
  min-height: 100dvh;
  margin-left: 6.4rem;
  overflow-x: hidden;
  border-radius: 1.8rem 0 0 1.8rem;
  background: var(--atlas-paper);
}

.atlas-view {
  min-height: 100dvh;
  padding: max(3rem, env(safe-area-inset-top)) clamp(1.25rem, 5vw, 5rem) 4rem;
  animation: atlas-view-enter .65s cubic-bezier(.16, 1, .3, 1) both;
}

.view-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 3rem;
  margin-bottom: 2.5rem;
}

.view-heading h1,
.profile-hero h1 {
  margin: .65rem 0 0;
  font-family: "Iowan Old Style", "Baskerville", Georgia, serif;
  font-size: clamp(3rem, 6.5vw, 7.4rem);
  font-weight: 500;
  letter-spacing: -.075em;
  line-height: .88;
}

.view-heading-today h1 {
  max-width: 12ch;
}

.goal-orbit {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--atlas-ink);
  cursor: pointer;
}

.goal-orbit > span {
  --progress: 0;
  width: 5.4rem;
  height: 5.4rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--atlas-signal) calc(var(--progress) * 1%), var(--atlas-paper-deep) 0);
}

.goal-orbit > span::before {
  width: 4.7rem;
  height: 4.7rem;
  grid-area: 1 / 1;
  border-radius: 50%;
  background: var(--atlas-paper);
  content: "";
}

.goal-orbit > span::after {
  z-index: 0;
  grid-area: 1 / 1;
  width: 5.1rem;
  height: 5.1rem;
  border: 1px solid var(--atlas-signal);
  border-radius: 50%;
  content: "";
  animation: orbit-pulse 2.8s ease-out infinite;
}

.goal-orbit b {
  z-index: 1;
  grid-area: 1 / 1;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 1.35rem;
}

.goal-orbit > i {
  width: 2.6rem;
  height: 2.6rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--atlas-line);
  border-radius: 50%;
}

.goal-orbit > i svg {
  width: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
}

.focus-stage {
  position: relative;
  min-height: 30rem;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  overflow: hidden;
  border-radius: 1.6rem;
  background: var(--atlas-forest);
  color: var(--atlas-paper);
  box-shadow: 0 28px 70px rgba(20, 28, 23, .18);
}

.focus-map {
  position: relative;
  min-height: 32rem;
  overflow: hidden;
  padding: 2rem;
  background:
    radial-gradient(circle at 20% 80%, rgba(217, 237, 114, .16), transparent 18rem),
    #27382f;
}

.focus-map::after,
.path-contours {
  position: absolute;
  inset: -20%;
  opacity: .22;
  pointer-events: none;
  content: "";
  background: repeating-radial-gradient(ellipse at 68% 36%, transparent 0 31px, rgba(231, 236, 225, .42) 32px 33px, transparent 34px 50px);
  transform: rotate(-12deg);
}

.goal-route-svg {
  position: absolute;
  z-index: 2;
  inset: auto 3% 7% 2%;
  width: 94%;
  height: 72%;
  overflow: visible;
}

.goal-route-svg path {
  fill: none;
  stroke-linecap: round;
}

.goal-route-svg .route-shadow {
  stroke: rgba(239, 237, 229, .18);
  stroke-width: 5;
}

.goal-route-svg .route-progress {
  stroke: url("#routeInk");
  stroke-width: 7;
  stroke-dasharray: calc(var(--route-progress) * 1) 100;
  animation: draw-route 1.5s cubic-bezier(.16, 1, .3, 1) both;
}

.goal-route-svg circle {
  fill: var(--atlas-signal);
}

.goal-route-svg .route-bearing {
  filter: drop-shadow(0 0 8px rgba(217, 237, 114, .7));
  fill: var(--atlas-sun);
  transform-box: fill-box;
  transform-origin: center;
  animation: bearing-pulse 2.2s ease-in-out infinite;
}

.goal-destination {
  position: absolute;
  z-index: 3;
  top: 1.8rem;
  right: 1.8rem;
  max-width: 13rem;
  display: grid;
  gap: .35rem;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 1rem;
  background: rgba(17, 20, 16, .35);
  backdrop-filter: blur(16px);
}

.goal-destination span,
.goal-destination small {
  color: #aeb8b0;
  font-size: .64rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.focus-card {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 1rem;
  padding: clamp(1.5rem, 3vw, 2.8rem);
  border-radius: 1.15rem;
  background: var(--atlas-signal);
  color: #24140e;
  animation: focus-card-land .78s cubic-bezier(.16, 1.1, .3, 1) .12s both;
}

.focus-card-top {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.focus-card-top small {
  max-width: 18ch;
  opacity: .7;
  text-align: right;
}

.focus-card h2 {
  margin: auto 0 1rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 4.6rem);
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: .94;
}

.focus-card > p {
  max-width: 38ch;
  margin: 0 0 2rem;
  line-height: 1.55;
}

.focus-card-actions {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: .7rem;
}

.focus-timer,
.complete-goal-action {
  min-height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  border: 1px solid rgba(36, 20, 14, .35);
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-weight: 750;
}

.focus-timer {
  background: transparent;
  color: inherit;
}

.focus-timer.is-running {
  background: var(--atlas-sun);
}

.focus-timer.is-running svg {
  transform-origin: center;
  animation: timer-tick 2s steps(4, end) infinite;
}

.focus-timer span {
  display: grid;
  text-align: left;
}

.focus-timer small {
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.complete-goal-action {
  background: #23150f;
  color: #fff1e8;
}

.focus-reset {
  grid-column: 1 / -1;
  justify-self: start;
  padding: .25rem 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: .72rem;
  font-weight: 750;
}

.complete-goal-action span {
  width: 1.5rem;
  height: 1.5rem;
}

.focus-card-finished {
  align-items: flex-start;
  justify-content: center;
  background: var(--atlas-sun);
}

.finish-spark {
  width: 3.6rem;
  height: 3.6rem;
  display: grid;
  place-items: center;
  margin-bottom: 2rem;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.finish-spark svg {
  width: 1.8rem;
  height: 1.8rem;
}

.today-lower-grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 1rem;
  margin-top: 1rem;
}

.practice-pulse-card {
  position: relative;
  grid-column: 1 / -1;
  min-height: 17rem;
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr) minmax(16rem, .62fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  overflow: hidden;
  padding: clamp(1.5rem, 3.5vw, 3rem);
  border-radius: 1.25rem;
  background:
    repeating-radial-gradient(ellipse at 87% 20%, transparent 0 40px, rgba(21, 24, 20, .08) 41px 42px, transparent 43px 61px),
    var(--atlas-sun);
  color: #1c251e;
}
.practice-pulse-card.is-integrated { background-color: var(--atlas-signal); color: #32180f; }
.practice-pulse-index { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid rgba(21, 24, 20, .16); padding-right: 1.5rem; }
.practice-pulse-index > span { font-family: "Iowan Old Style", Georgia, serif; font-size: 4.5rem; letter-spacing: -.1em; line-height: .85; }
.practice-pulse-index > i { height: .3rem; overflow: hidden; border-radius: 999px; background: rgba(21, 24, 20, .16); }
.practice-pulse-index > i b { width: calc(var(--practice-progress) * 1%); height: 100%; display: block; border-radius: inherit; background: var(--atlas-signal); }
.practice-pulse-card.is-integrated .practice-pulse-index > i b { background: var(--atlas-sun); }
.practice-pulse-index > small { font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.practice-pulse-card .atlas-eyebrow { color: #7c351f; }
.practice-pulse-copy h2 { max-width: 18ch; margin: .6rem 0 .8rem; font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2.2rem, 4vw, 4.4rem); font-weight: 500; letter-spacing: -.06em; line-height: .94; }
.practice-pulse-copy > p:last-child { max-width: 50ch; margin: 0; color: rgba(21, 24, 20, .68); font-size: .8rem; line-height: 1.55; }
.practice-pulse-action { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; padding-left: 1.5rem; border-left: 1px solid rgba(21, 24, 20, .16); }
.practice-pulse-action > span { margin-bottom: auto; font-size: .6rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.practice-pulse-action > p { font-size: .78rem; font-weight: 700; line-height: 1.45; }
.practice-pulse-action button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 0; border: 0; border-top: 1px solid currentColor; background: transparent; cursor: pointer; font: inherit; font-size: .7rem; font-weight: 800; }
.practice-pulse-action svg { width: 1rem; fill: none; stroke: currentColor; }

.coach-pulse-card {
  position: relative;
  grid-column: 1 / -1;
  min-height: 15rem;
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr) auto;
  gap: clamp(1.25rem, 3vw, 3rem);
  align-items: center;
  overflow: hidden;
  padding: clamp(1.4rem, 3vw, 2.5rem);
  border: 1px solid rgba(21, 24, 20, .15);
  border-radius: 1.25rem;
  background: #e6e1d5;
}

.coach-pulse-card::after {
  position: absolute;
  right: -7rem;
  bottom: -10rem;
  width: 24rem;
  height: 24rem;
  border: 1px solid rgba(239, 107, 61, .18);
  border-radius: 43% 57% 63% 37%;
  content: "";
  transform: rotate(24deg);
}

.coach-pulse-card.is-live {
  border-color: transparent;
  background: var(--atlas-forest);
  color: var(--atlas-paper);
}

.coach-pulse-orbit {
  position: relative;
  z-index: 1;
  width: 8rem;
  height: 8rem;
  display: grid;
  place-items: center;
}

.coach-pulse-orbit i {
  position: absolute;
  inset: 0;
  border: 1px solid var(--atlas-signal);
  border-radius: 48% 52% 44% 56%;
  animation: coach-orbit 8s linear infinite;
}

.coach-pulse-orbit i:nth-child(2) {
  inset: .8rem;
  border-color: var(--atlas-sun);
  animation-direction: reverse;
  animation-duration: 5.5s;
}

.coach-pulse-orbit span {
  width: 3.4rem;
  height: 3.4rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--atlas-signal);
  color: #2b160f;
}

.coach-pulse-orbit svg { width: 1.6rem; fill: none; stroke: currentColor; }
.coach-pulse-copy { position: relative; z-index: 1; }
.coach-pulse-copy h2 { max-width: 19ch; margin: .55rem 0 .7rem; font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2rem, 3.5vw, 3.7rem); font-weight: 500; letter-spacing: -.055em; line-height: .94; }
.coach-pulse-copy > p:last-child { max-width: 56ch; margin: 0; color: var(--atlas-muted); font-size: .78rem; line-height: 1.55; }
.coach-pulse-card.is-live .coach-pulse-copy > p:last-child { color: #aeb8b0; }
.coach-pulse-action { position: relative; z-index: 1; min-width: 13rem; display: grid; gap: .55rem; justify-items: end; }
.coach-pulse-action > span { color: var(--atlas-muted); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.coach-pulse-card.is-live .coach-pulse-action > span { color: #9eaaa1; }
.coach-pulse-action > span b { color: var(--atlas-signal); font-family: "Iowan Old Style", Georgia, serif; font-size: 1.25rem; }
.coach-pulse-card.is-live .atlas-secondary-button { margin-top: .5rem; border-color: var(--atlas-sun); color: var(--atlas-sun); }

.artifact-signal-card {
  position: relative;
  grid-column: 1 / -1;
  min-height: 12rem;
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr) auto;
  gap: clamp(1.25rem, 3vw, 3rem);
  align-items: center;
  overflow: hidden;
  padding: 1.35rem clamp(1.35rem, 3vw, 2.5rem);
  border-radius: 1.25rem;
  background:
    radial-gradient(circle at 88% 40%, rgba(217, 237, 114, .15), transparent 15rem),
    var(--atlas-forest);
  color: var(--atlas-paper);
}

.artifact-signal-card::after {
  position: absolute;
  inset: -90% -12% -90% 54%;
  opacity: .12;
  background: repeating-radial-gradient(ellipse, transparent 0 22px, currentColor 23px 24px, transparent 25px 36px);
  content: "";
  pointer-events: none;
  transform: rotate(-8deg);
}

.artifact-signal-seal,
.artifact-signal-copy,
.artifact-signal-meta {
  position: relative;
  z-index: 1;
}

.artifact-signal-seal {
  display: grid;
  place-items: center;
  animation: seal-hover 4.5s ease-in-out infinite;
}

.artifact-signal-copy h2 {
  margin: .35rem 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2rem, 3.8vw, 3.8rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .95;
}

.artifact-signal-copy > p:last-child {
  max-width: 46ch;
  margin: 0;
  color: #b9c1ba;
  font-size: .78rem;
  line-height: 1.5;
}

.artifact-signal-meta {
  min-width: 12rem;
  display: grid;
  justify-items: end;
  gap: .45rem;
  text-align: right;
}

.artifact-signal-meta span {
  color: #bac2bb;
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.artifact-signal-meta span b {
  color: var(--atlas-sun);
  font-size: 1.05rem;
}

.artifact-signal-meta small {
  color: #8f9a91;
  font-size: .68rem;
}

.artifact-signal-meta button {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-top: .85rem;
  padding: .55rem 0;
  border: 0;
  border-bottom: 1px solid var(--atlas-sun);
  background: transparent;
  color: var(--atlas-sun);
  cursor: pointer;
  font: inherit;
  font-size: .72rem;
  font-weight: 750;
}

.artifact-signal-meta button svg {
  width: 1rem;
}

.artifact-seal {
  position: relative;
  width: 7.2rem;
  height: 7.2rem;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border: .18rem solid currentColor;
  border-radius: 48% 52% 45% 55% / 54% 45% 55% 46%;
  background: var(--atlas-paper);
  color: var(--atlas-ink);
  box-shadow: 0 .65rem 1.8rem rgba(0, 0, 0, .18);
  transform: rotate(-7deg);
}

.artifact-seal::before {
  position: absolute;
  inset: .42rem;
  border: 1px dashed currentColor;
  border-radius: inherit;
  content: "";
  opacity: .55;
}

.artifact-seal::after {
  position: absolute;
  inset: 0;
  opacity: .16;
  background: repeating-linear-gradient(115deg, transparent 0 5px, currentColor 6px 7px, transparent 8px 12px);
  content: "";
  mix-blend-mode: multiply;
}

.artifact-seal i,
.artifact-seal b {
  position: relative;
  z-index: 1;
  grid-area: 1 / 1;
}

.artifact-seal i {
  transform: translateY(-.55rem);
}

.artifact-seal i svg {
  width: 2.3rem;
  height: 2.3rem;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.35;
}

.artifact-seal b {
  align-self: end;
  margin-bottom: 1rem;
  font-size: .58rem;
  letter-spacing: .16em;
}

.artifact-seal.tone-signal {
  background: var(--atlas-signal);
  color: #35170e;
}

.artifact-seal.tone-sun {
  background: var(--atlas-sun);
  color: #263026;
}

.artifact-seal.tone-moss {
  background: var(--atlas-moss);
  color: #f1f3d4;
}

.artifact-seal.tone-paper {
  background: #e9e5da;
  color: var(--atlas-forest);
}

.artifact-seal.is-compact {
  width: 5.5rem;
  height: 5.5rem;
}

.artifact-seal.is-compact i {
  transform: translateY(-.4rem);
}

.artifact-seal.is-compact i svg {
  width: 1.75rem;
  height: 1.75rem;
}

.artifact-seal.is-compact b {
  margin-bottom: .68rem;
  font-size: .5rem;
}

.artifact-seal.is-locked {
  border-style: dashed;
  background: transparent;
  color: #778178;
  box-shadow: none;
}

.momentum-card,
.up-next-card {
  min-height: 15rem;
  padding: 1.6rem;
  border: 1px solid var(--atlas-line);
  border-radius: 1.25rem;
}

.momentum-card {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 1rem;
  background: #ddd8cb;
}

.momentum-card strong {
  display: block;
  margin-top: 1rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 4.5rem;
  font-weight: 500;
  letter-spacing: -.08em;
  line-height: .8;
}

.momentum-card span {
  display: block;
  margin-top: .7rem;
  color: var(--atlas-muted);
  font-size: .78rem;
  line-height: 1.4;
}

.momentum-bars {
  display: flex;
  align-items: end;
  gap: .45rem;
  height: 100%;
}

.momentum-bars i {
  width: 100%;
  height: var(--bar);
  border-radius: 999px 999px .25rem .25rem;
  background: rgba(21, 24, 20, .12);
  transform-origin: bottom;
  animation: grow-bar .8s cubic-bezier(.16, 1, .3, 1) both;
}

.momentum-bars i.is-lit {
  background: var(--atlas-moss);
}

.momentum-story-card {
  grid-column: 1 / -1;
  grid-template-columns: minmax(11rem, .55fr) minmax(16rem, 1fr) auto;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  min-height: 13rem;
  overflow: hidden;
  border: 0;
  background:
    repeating-radial-gradient(ellipse at 92% 15%, transparent 0 31px, rgba(217, 237, 114, .08) 32px 33px, transparent 34px 49px),
    var(--atlas-forest);
  color: var(--atlas-paper);
}
.momentum-story-card strong { color: var(--atlas-sun); }
.momentum-story-card > div:first-child > span { color: #aeb8b0; }
.momentum-rank-progress { min-width: 0; }
.momentum-rank-progress > span { margin: 0 0 .65rem; color: #dbe1dc; font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.momentum-rank-progress > i { position: relative; height: .55rem; display: block; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, .11); }
.momentum-rank-progress > i b { position: absolute; inset: 0 auto 0 0; width: var(--level); border-radius: inherit; background: linear-gradient(90deg, var(--atlas-signal), var(--atlas-sun)); box-shadow: 0 0 1.5rem rgba(217, 237, 114, .35); animation: momentum-fill 1.1s cubic-bezier(.16, 1, .3, 1) both; }
.momentum-rank-progress small { display: block; margin-top: .7rem; color: #8f9a91; font-size: .58rem; line-height: 1.5; }
.momentum-story-card > button { display: inline-flex; align-items: center; gap: .55rem; padding: .8rem 0; border: 0; border-bottom: 1px solid var(--atlas-sun); background: transparent; color: var(--atlas-sun); cursor: pointer; font: inherit; font-size: .68rem; font-weight: 800; white-space: nowrap; }
.momentum-story-card > button svg { width: 1rem; fill: none; stroke: currentColor; transition: transform .25s ease; }
.momentum-story-card > button:hover svg { transform: translateX(.35rem); }

@keyframes momentum-fill { from { width: 0; } }

.section-mini-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.section-mini-heading button {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: .72rem;
  font-weight: 750;
}

.up-next-row {
  display: grid;
  grid-template-columns: 2.3rem 1fr auto;
  gap: .8rem;
  align-items: center;
  padding: .85rem 0;
  border-top: 1px solid var(--atlas-line);
}

.up-next-row > span {
  color: var(--atlas-signal);
  font-size: .7rem;
  font-weight: 800;
}

.up-next-row p {
  margin: 0;
  font-weight: 650;
}

.up-next-row small {
  color: var(--atlas-muted);
}

.atlas-empty-copy {
  color: var(--atlas-muted);
}

/* Path */
.path-heading {
  align-items: end;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--atlas-line);
}

.path-heading > div:first-child {
  max-width: 56rem;
}

.path-heading h1 {
  max-width: 12ch;
  font-size: clamp(3rem, 6vw, 6.8rem);
}

.path-heading > div:first-child > p:last-child {
  max-width: 55ch;
  margin: 1.2rem 0 0;
  color: var(--atlas-muted);
  line-height: 1.6;
}

.path-meta {
  display: grid;
  gap: .8rem;
  min-width: 12rem;
}

.path-meta span {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid var(--atlas-line);
  color: var(--atlas-muted);
  font-size: .7rem;
  text-transform: uppercase;
}

.path-meta b {
  color: var(--atlas-ink);
}

.path-canvas {
  position: relative;
  min-height: 42rem;
  overflow: hidden;
  padding: 4rem clamp(1rem, 5vw, 4rem);
  border-radius: 1.5rem;
  background: var(--atlas-forest);
  color: var(--atlas-paper);
}

.path-canvas > .goal-route-svg {
  inset: 3rem 2rem auto;
  width: calc(100% - 4rem);
  height: 22rem;
  opacity: .65;
}

.milestone-ribbon {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(3, minmax(15rem, 1fr));
  gap: 1rem;
  margin-top: 14rem;
}

.milestone-stop {
  position: relative;
  min-height: 24rem;
  display: flex;
  flex-direction: column;
  padding: 1.4rem;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 1.2rem;
  background: rgba(17, 20, 16, .54);
  backdrop-filter: blur(18px);
  transition: transform .3s ease, background .3s ease;
}

.milestone-stop > :not(.milestone-stamp) {
  position: relative;
  z-index: 1;
}

.milestone-stamp {
  position: absolute;
  z-index: 0;
  top: 3.5rem;
  right: .8rem;
  width: 6.4rem;
  height: 6.4rem;
  display: grid;
  place-items: center;
  border: 2px solid var(--atlas-sun);
  border-radius: 48% 52% 45% 55%;
  color: var(--atlas-sun);
  opacity: .25;
  transform: rotate(10deg);
}

.milestone-stamp::before {
  position: absolute;
  inset: .35rem;
  border: 1px dashed currentColor;
  border-radius: inherit;
  content: "";
}

.milestone-stamp span,
.milestone-stamp b,
.milestone-stamp i {
  position: absolute;
}

.milestone-stamp span {
  top: 1.1rem;
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.milestone-stamp b {
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 2.4rem;
  font-weight: 500;
}

.milestone-stamp i {
  bottom: .8rem;
}

.milestone-stamp svg {
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
}

.milestone-stop:nth-child(2) { transform: translateY(-3.5rem); }
.milestone-stop:nth-child(3) { transform: translateY(-7rem); }
.milestone-stop:hover { background: rgba(17, 20, 16, .78); }
.milestone-stop:nth-child(2):hover { transform: translateY(-3.8rem); }
.milestone-stop:nth-child(3):hover { transform: translateY(-7.3rem); }

.milestone-stop.is-active {
  border-color: var(--atlas-signal);
  box-shadow: inset 0 4px 0 var(--atlas-signal);
}

.milestone-stop.is-completed {
  background: rgba(217, 237, 114, .12);
}

.milestone-index {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--atlas-signal);
  font-size: .7rem;
  font-weight: 800;
}

.milestone-index i {
  width: 1.8rem;
  height: 1.8rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--atlas-sun);
  color: var(--atlas-ink);
}

.milestone-index svg {
  width: 1rem;
  fill: none;
  stroke: currentColor;
}

.milestone-copy {
  margin: 2.5rem 0 1.5rem;
}

.milestone-copy p {
  margin: 0 0 .55rem;
  color: #aeb6af;
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.milestone-copy h2 {
  margin: 0 0 .6rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(1.65rem, 2.5vw, 2.6rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1;
}

.milestone-copy > span {
  color: #aeb6af;
  font-size: .7rem;
}

.milestone-actions {
  display: grid;
  gap: .55rem;
  margin-top: auto;
}

.path-action {
  display: grid;
  grid-template-columns: 1.7rem 1fr;
  gap: .6rem;
  width: 100%;
  padding: .75rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: .75rem;
  background: rgba(255, 255, 255, .035);
  color: var(--atlas-paper);
  cursor: pointer;
  text-align: left;
}

.path-action > i {
  width: 1.25rem;
  height: 1.25rem;
  display: grid;
  place-items: center;
  border: 1px solid #788078;
  border-radius: 50%;
}

.path-action > i svg {
  width: .8rem;
  fill: none;
  stroke: currentColor;
}

.path-action span {
  display: grid;
  gap: .2rem;
}

.path-action b {
  font-size: .75rem;
  line-height: 1.35;
}

.path-action small {
  color: #919990;
  font-size: .63rem;
}

.path-action.is-done {
  color: #aeb6af;
}

.path-action.is-done > i {
  border-color: var(--atlas-sun);
  background: var(--atlas-sun);
  color: var(--atlas-ink);
}

.path-action.is-done b {
  text-decoration: line-through;
}

.add-path-action {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  justify-self: start;
  padding: .45rem 0;
  border: 0;
  background: transparent;
  color: var(--atlas-sun);
  cursor: pointer;
  font: inherit;
  font-size: .7rem;
  font-weight: 750;
}

.add-path-action svg {
  width: 1rem;
  fill: none;
  stroke: currentColor;
}

.path-footer {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3rem;
  align-items: end;
  padding: 3rem 0 0;
}

.path-footer blockquote {
  max-width: 42ch;
  margin: .7rem 0 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(1.6rem, 3vw, 3rem);
  letter-spacing: -.04em;
  line-height: 1.08;
}

/* Journal */
.journal-heading > div {
  max-width: 50rem;
}

.journal-heading h1 {
  max-width: 11ch;
  font-size: clamp(3.4rem, 7vw, 7.3rem);
}

.journal-heading > p {
  max-width: 26ch;
  color: var(--atlas-muted);
  line-height: 1.6;
}

.journal-layout {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 1rem;
  align-items: start;
}

.journal-composer {
  position: sticky;
  top: 2rem;
  display: grid;
  gap: 1rem;
  padding: 1.5rem;
  border-radius: 1.25rem;
  background: var(--atlas-forest);
  color: var(--atlas-paper);
}

.journal-kinds {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.journal-kinds label {
  display: block;
}

.journal-kinds span {
  display: block;
  padding: .55rem .8rem;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  cursor: pointer;
  color: #b5bcb5;
  font-size: .68rem;
  font-weight: 750;
}

.journal-kinds input:checked + span {
  border-color: var(--atlas-sun);
  background: var(--atlas-sun);
  color: var(--atlas-ink);
}

.journal-writing-label {
  display: grid;
  gap: .7rem;
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.journal-writing-label textarea {
  min-height: 13rem;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: .9rem;
  outline: 0;
  background: rgba(255, 255, 255, .05);
  color: var(--atlas-paper);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 1.5rem;
  line-height: 1.35;
  resize: vertical;
  text-transform: none;
}

.journal-writing-label textarea::placeholder {
  color: #9aa49b;
  opacity: 1;
}

.journal-composer-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.journal-composer-footer fieldset {
  display: flex;
  gap: .3rem;
  margin: 0;
  padding: 0;
  border: 0;
}

.journal-composer-footer legend {
  margin-bottom: .45rem;
  color: #aab2aa;
  font-size: .58rem;
  text-transform: uppercase;
}

.journal-composer-footer label {
  display: block;
}

.journal-composer-footer label span {
  width: .85rem;
  height: .85rem;
  display: block;
  border: 1px solid #818981;
  border-radius: 50%;
  cursor: pointer;
}

.journal-composer-footer input:checked + span {
  border-color: var(--atlas-signal);
  background: var(--atlas-signal);
}

.journal-composer .atlas-primary-button {
  border-color: var(--atlas-signal);
  background: var(--atlas-signal);
  color: #24140e;
}

.journal-stream {
  min-height: 30rem;
  padding: 1.5rem;
  border: 1px solid var(--atlas-line);
  border-radius: 1.25rem;
}

.journal-entry {
  padding: 1.5rem 0;
  border-top: 1px solid var(--atlas-line);
}

.journal-entry > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.entry-kind {
  color: var(--atlas-signal);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.journal-entry time {
  color: var(--atlas-muted);
  font-size: .68rem;
}

.journal-entry p {
  margin: 1rem 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(1.35rem, 2.5vw, 2.2rem);
  letter-spacing: -.03em;
  line-height: 1.25;
}

.journal-entry strong {
  color: var(--atlas-moss);
  font-size: .76rem;
}

.entry-mood {
  display: flex !important;
  justify-content: flex-start !important;
  gap: .3rem !important;
}

.entry-mood i {
  width: 1.5rem;
  height: 3px;
  border-radius: 4px;
  background: var(--atlas-paper-deep);
}

.entry-mood i.is-on {
  background: var(--atlas-signal);
}

.journal-entry.is-review {
  margin: 1rem 0;
  padding: 1.5rem;
  border: 0;
  border-radius: .9rem;
  background: #ddd8cb;
}

.journal-empty {
  min-height: 25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 2rem;
  border-top: 1px solid var(--atlas-line);
}

.journal-empty > span {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--atlas-line);
  border-radius: 50%;
}

.journal-empty svg {
  width: 1.3rem;
  fill: none;
  stroke: currentColor;
}

.journal-empty h2 {
  max-width: 17ch;
  margin: 2rem 0 .7rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1;
}

.journal-empty p {
  max-width: 45ch;
  color: var(--atlas-muted);
  line-height: 1.6;
}

/* Profile */
.profile-hero {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--atlas-line);
}

.profile-monogram {
  width: 7rem;
  height: 7rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--atlas-forest);
  color: var(--atlas-sun);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 3rem;
}

.profile-hero h1 {
  font-size: clamp(3rem, 6vw, 6rem);
}

.profile-hero > div:last-child > span {
  display: block;
  margin-top: .75rem;
  color: var(--atlas-muted);
}

.profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
}

.profile-grid > article {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid var(--atlas-line);
  border-radius: 1.25rem;
}

.profile-principle {
  min-height: 24rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--atlas-signal);
  color: #24140e;
}

.profile-principle .atlas-eyebrow {
  color: #72270e;
}

.profile-principle blockquote {
  max-width: 19ch;
  margin: auto 0 2rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2rem, 3.8vw, 4rem);
  letter-spacing: -.055em;
  line-height: 1;
}

.profile-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: end;
  background: var(--atlas-forest);
  color: var(--atlas-paper);
}

.profile-stats div {
  display: grid;
  gap: .5rem;
}

.profile-stats strong {
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2.5rem, 5vw, 5.5rem);
  font-weight: 500;
  letter-spacing: -.075em;
}

.profile-stats span {
  color: #a9b2aa;
  font-size: .65rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.profile-chronicle-card {
  grid-column: 1 / -1;
  position: relative;
  min-height: 17rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  overflow: hidden;
  border: 0 !important;
  background:
    repeating-radial-gradient(ellipse at 92% 18%, transparent 0 39px, rgba(217, 237, 114, .075) 40px 41px, transparent 42px 59px),
    radial-gradient(circle at 8% 18%, rgba(239, 107, 61, .24), transparent 16rem),
    linear-gradient(125deg, #18241d, #2c4234);
  color: var(--atlas-paper);
}

.profile-chronicle-card > * { position: relative; z-index: 1; }

.profile-chronicle-rank {
  position: relative;
  width: clamp(7rem, 12vw, 10rem);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(217, 237, 114, .48);
  border-radius: 50%;
  color: var(--atlas-sun);
  box-shadow: inset 0 0 0 1rem rgba(217, 237, 114, .025), 0 0 3rem rgba(217, 237, 114, .08);
}

.profile-chronicle-rank::before,
.profile-chronicle-rank i {
  position: absolute;
  inset: 12%;
  border: 1px solid rgba(217, 237, 114, .28);
  border-radius: 50%;
  content: "";
  transform: rotate(29deg) scaleY(.38);
  animation: chronicle-orbit 9s linear infinite;
}

.profile-chronicle-rank i { inset: -8%; border-color: rgba(255, 255, 255, .12); animation-direction: reverse; animation-duration: 13s; }
.profile-chronicle-rank span { font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2.5rem, 5vw, 4.7rem); letter-spacing: -.08em; }
.profile-chronicle-card .atlas-eyebrow { color: var(--atlas-signal); }
.profile-chronicle-card h2 { max-width: 18ch; margin: .55rem 0 .75rem; font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2.5rem, 5vw, 5rem); font-weight: 500; letter-spacing: -.065em; line-height: .92; }
.profile-chronicle-card p:last-child { max-width: 57ch; margin: 0; color: #abb6ad; font-size: .78rem; line-height: 1.6; }
.profile-chronicle-card .atlas-secondary-button { border-color: rgba(217, 237, 114, .45); color: var(--atlas-sun); white-space: nowrap; }

.profile-studio-card {
  grid-column: 1 / -1;
  min-height: 18rem;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  overflow: hidden;
  background:
    repeating-radial-gradient(ellipse at 86% 18%, transparent 0 38px, rgba(21, 24, 20, .08) 39px 40px, transparent 41px 58px),
    var(--atlas-sun);
}

.profile-studio-card > div { max-width: 52rem; }
.profile-studio-card h2 {
  margin: .65rem 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2.8rem, 5vw, 5.4rem);
  font-weight: 500;
  letter-spacing: -.07em;
  line-height: .9;
}
.profile-studio-card p:last-child { max-width: 56ch; margin: 0; color: #4d584e; line-height: 1.55; }
.profile-studio-card .atlas-primary-button { flex: 0 0 auto; background: var(--atlas-forest); color: var(--atlas-paper); border-color: var(--atlas-forest); }

.profile-artifacts {
  grid-column: 1 / -1;
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 10%, rgba(217, 237, 114, .14), transparent 21rem),
    var(--atlas-forest);
  color: var(--atlas-paper);
}

.profile-artifacts > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.profile-artifacts > header > div {
  max-width: 42rem;
}

.profile-artifacts > header h2 {
  margin: .55rem 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2.7rem, 5vw, 5.3rem);
  font-weight: 500;
  letter-spacing: -.065em;
  line-height: .9;
}

.profile-artifacts > header p:last-child {
  max-width: 54ch;
  margin: 0;
  color: #a9b3aa;
  font-size: .8rem;
  line-height: 1.55;
}

.profile-artifacts > header > span {
  flex: 0 0 auto;
  color: #89938b;
  font-size: .75rem;
  letter-spacing: .12em;
}

.profile-artifacts > header > span b {
  color: var(--atlas-sun);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: -.06em;
}

.artifact-shelf {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 1.6rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
  border-left: 1px solid rgba(255, 255, 255, .12);
}

.artifact-item {
  min-height: 9rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-right: 1px solid rgba(255, 255, 255, .12);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.artifact-item.is-earned {
  animation: artifact-arrive .65s cubic-bezier(.16, 1, .3, 1) both;
  animation-delay: calc(var(--artifact-index) * 70ms);
}

.artifact-item > div {
  min-width: 0;
}

.artifact-item strong {
  display: block;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -.025em;
}

.artifact-item p {
  margin: .35rem 0 .6rem;
  color: #9da79f;
  font-size: .67rem;
  line-height: 1.4;
}

.artifact-item small {
  color: var(--atlas-sun);
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.artifact-item .share-artifact {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: 0 0 .2rem;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--atlas-sun);
  cursor: pointer;
  font: inherit;
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.artifact-item .share-artifact svg { width: .8rem; }

.artifact-item.is-locked > div {
  opacity: .5;
}

.artifact-item.is-locked small {
  color: #879087;
}

.next-artifact {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
  align-items: center;
  margin-top: 1.25rem;
  padding: 1rem 1.15rem;
  border-radius: .85rem;
  background: var(--atlas-signal);
  color: #30160f;
}

.next-artifact > span {
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.next-artifact > span svg {
  width: 1.25rem;
}

.next-artifact div {
  display: grid;
  gap: .15rem;
}

.next-artifact small {
  font-size: .55rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.next-artifact b {
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 1.3rem;
  font-weight: 500;
}

.next-artifact p {
  margin: 0;
  font-size: .7rem;
  font-weight: 700;
}

.next-artifact.is-complete {
  background: var(--atlas-sun);
}

.profile-membership {
  grid-column: 1 / -1;
  position: relative;
  min-height: 17rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 7% 20%, rgba(217, 237, 114, .14), transparent 14rem),
    linear-gradient(125deg, #18231d, #26392d);
  color: var(--atlas-paper);
}

.profile-membership::after {
  content: "";
  position: absolute;
  right: -5rem;
  bottom: -8rem;
  width: 23rem;
  height: 23rem;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 3.5rem rgba(255, 255, 255, .025), 0 0 0 7rem rgba(255, 255, 255, .018);
}

.profile-membership > * {
  position: relative;
  z-index: 1;
}

.profile-membership.is-preview {
  background:
    radial-gradient(circle at 8% 18%, rgba(239, 107, 61, .21), transparent 15rem),
    linear-gradient(125deg, #202820, #32392d);
}

.profile-membership.is-free {
  background:
    radial-gradient(circle at 8% 18%, rgba(239, 107, 61, .22), transparent 14rem),
    linear-gradient(125deg, #1a211b, #30352d);
}

.membership-orbit {
  width: clamp(6rem, 11vw, 9rem);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 50%;
}

.membership-orbit::before,
.membership-orbit i {
  content: "";
  position: absolute;
  inset: 12%;
  border: 1px solid rgba(217, 237, 114, .3);
  border-radius: 50%;
  transform: rotate(33deg) scaleY(.42);
}

.membership-orbit i::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--atlas-sun);
  box-shadow: 0 0 0 6px rgba(217, 237, 114, .12);
}

.membership-orbit span {
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 3.3rem;
  color: var(--atlas-sun);
}

.profile-membership .atlas-eyebrow {
  color: var(--atlas-sun);
}

.profile-membership h2 {
  max-width: 18ch;
  margin: .65rem 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2.3rem, 4.5vw, 4.8rem);
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: .92;
}

.profile-membership p:last-child {
  max-width: 56ch;
  margin: 0;
  color: #aeb8b0;
  line-height: 1.6;
}

.profile-membership > button {
  white-space: nowrap;
}

.membership-status {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .8rem 1rem;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  color: #d7ddd8;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.membership-status i {
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: var(--atlas-sun);
  box-shadow: 0 0 0 5px rgba(217, 237, 114, .1);
}

.profile-mirror {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 3rem;
  min-height: 22rem;
}

.profile-mirror h2,
.profile-settings h2 {
  max-width: 14ch;
  margin: 1rem 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 2.7rem;
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: 1;
}

.profile-mirror p {
  max-width: 40ch;
  color: var(--atlas-muted);
  line-height: 1.6;
}

.profile-mirror blockquote,
.mirror-placeholder {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  padding: 2rem;
  border-radius: 1rem;
  background: #ddd8cb;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 2rem;
  letter-spacing: -.035em;
  line-height: 1.2;
}

.profile-mirror blockquote span {
  margin-bottom: 1rem;
  color: var(--atlas-signal);
  font: 800 .65rem/1 "Avenir Next", sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.profile-mirror blockquote small {
  margin-top: 1rem;
  color: var(--atlas-muted);
  font: 700 .72rem/1 "Avenir Next", sans-serif;
}

.mirror-placeholder {
  align-items: center;
  gap: 1rem;
  color: var(--atlas-muted);
  font-size: 1.4rem;
}

.mirror-placeholder svg {
  width: 2rem;
  fill: none;
  stroke: var(--atlas-signal);
}

.profile-settings {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr repeat(4, auto);
  gap: 1rem;
  align-items: center;
}

.profile-settings button {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: .9rem 1rem;
  border: 1px solid var(--atlas-line);
  border-radius: 999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: .72rem;
  font-weight: 750;
}

.profile-settings .delete-data {
  color: #a63720;
}

.upgrade-card {
  width: min(720px, 100%);
  overflow: hidden;
  padding: 0;
  background: var(--atlas-forest);
  color: var(--atlas-paper);
}

.upgrade-card > header {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  padding: clamp(2rem, 6vw, 4rem);
  background:
    radial-gradient(circle at 92% 14%, rgba(217, 237, 114, .2), transparent 12rem),
    var(--atlas-forest);
}

.upgrade-card > header h2 {
  max-width: 11ch;
  margin: .8rem 0 1rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(3rem, 7vw, 5.5rem);
  font-weight: 500;
  letter-spacing: -.07em;
  line-height: .86;
}

.upgrade-card > header p:last-child {
  max-width: 48ch;
  color: #aeb8b0;
  line-height: 1.55;
}

.upgrade-mark {
  width: 7rem;
  height: 7rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(217, 237, 114, .45);
  border-radius: 50%;
  color: var(--atlas-sun);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 3.5rem;
}

.upgrade-benefits {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  padding: 0 clamp(2rem, 6vw, 4rem);
  border-top: 1px solid rgba(255, 255, 255, .12);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.upgrade-benefits span {
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  color: #d5dbd6;
  font-size: .78rem;
}

.upgrade-benefits span:nth-child(odd) {
  border-right: 1px solid rgba(255, 255, 255, .1);
}

.upgrade-benefits span:nth-child(even) {
  padding-left: 1.25rem;
}

.upgrade-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.4rem clamp(2rem, 6vw, 4rem) 2rem;
}

.upgrade-actions .atlas-text-button {
  color: #c8cec9;
}

.atlas-mobile-nav {
  display: none;
}

/* Overlays and celebration */
.atlas-overlay {
  position: fixed;
  z-index: 30;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
}

.overlay-scrim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(12, 15, 12, .72);
  backdrop-filter: blur(12px);
}

.overlay-card {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  display: grid;
  gap: 1.25rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  border-radius: 1.4rem;
  background: var(--atlas-paper);
  box-shadow: 0 35px 90px rgba(0, 0, 0, .3);
  animation: overlay-enter .5s cubic-bezier(.16, 1, .3, 1) both;
}

.overlay-card h2 {
  margin: 0 0 1rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .95;
}

.overlay-card > div:last-child {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
}

.completion-overlay {
  overflow: hidden;
  background: var(--atlas-forest);
  color: var(--atlas-paper);
}

.completion-card {
  position: relative;
  z-index: 3;
  width: min(760px, 100%);
  text-align: center;
  animation: completion-enter 1s cubic-bezier(.16, 1, .3, 1) both;
}

.completion-mark {
  width: 5rem;
  height: 5rem;
  display: grid;
  place-items: center;
  margin: 0 auto 2rem;
  border: 1px solid var(--atlas-sun);
  border-radius: 50%;
  color: var(--atlas-sun);
}

.completion-mark svg {
  width: 2rem;
  height: 2rem;
}

.completion-card h2 {
  margin: .8rem 0 1.5rem;
  color: var(--atlas-sun);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(3.5rem, 9vw, 8rem);
  font-weight: 500;
  letter-spacing: -.08em;
  line-height: .86;
}

.completion-card blockquote {
  max-width: 45ch;
  margin: 0 auto 2rem;
  color: #c3cbc3;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 1.35rem;
  line-height: 1.4;
}

.completion-card > div {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-bottom: 2rem;
  color: #98a098;
  font-size: .72rem;
}

.completion-card > div b {
  color: var(--atlas-paper);
  font-size: 1.1rem;
}

.completion-card .atlas-primary-button {
  border-color: var(--atlas-sun);
  background: var(--atlas-sun);
  color: var(--atlas-ink);
}

.completion-card .completion-actions { display: flex; align-items: center; margin: 0; }
.completion-card .completion-actions .atlas-secondary-button { border-color: rgba(255, 255, 255, .35); color: var(--atlas-paper); }

.completion-artifact {
  display: grid;
  place-items: center;
  margin-bottom: 2rem;
}

.completion-artifact .artifact-seal {
  width: 9rem;
  height: 9rem;
  animation: sticker-slap .85s cubic-bezier(.16, 1.25, .3, 1) .25s both;
}

.completion-artifact .artifact-seal i svg {
  width: 3rem;
  height: 3rem;
}

.reward-overlay {
  overflow: hidden;
}

.reward-overlay .overlay-scrim {
  background: rgba(15, 20, 16, .9);
}

.reward-card {
  position: relative;
  z-index: 3;
  width: min(720px, 100%);
  display: grid;
  justify-items: center;
  overflow: hidden;
  padding: clamp(1.6rem, 5vw, 4rem);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 1.6rem;
  background:
    radial-gradient(circle at 50% 8%, rgba(217, 237, 114, .13), transparent 16rem),
    var(--atlas-forest);
  box-shadow: 0 3rem 8rem rgba(0, 0, 0, .45);
  color: var(--atlas-paper);
  text-align: center;
  animation: reward-card-enter .75s cubic-bezier(.16, 1, .3, 1) both;
}

.reward-card::before {
  position: absolute;
  inset: -40% -10% 55%;
  opacity: .1;
  background: repeating-radial-gradient(ellipse, transparent 0 22px, currentColor 23px 24px, transparent 25px 40px);
  content: "";
  transform: rotate(-8deg);
}

.reward-award-stage {
  position: relative;
  z-index: 1;
  min-height: 10rem;
  display: grid;
  place-items: center;
}

.reward-award-stage .artifact-seal {
  width: 9rem;
  height: 9rem;
  animation: sticker-slap .8s cubic-bezier(.16, 1.25, .3, 1) .14s both;
}

.reward-award-stage .artifact-seal i svg {
  width: 3rem;
  height: 3rem;
}

.reward-card > .atlas-eyebrow,
.reward-card h2,
.reward-card > p,
.reward-companions,
.reward-momentum-gain,
.reward-card-footer {
  position: relative;
  z-index: 1;
}

.reward-card h2 {
  max-width: 12ch;
  margin: .55rem 0 .8rem;
  color: var(--atlas-sun);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(3rem, 8vw, 6.5rem);
  font-weight: 500;
  letter-spacing: -.075em;
  line-height: .88;
  text-wrap: balance;
}

.reward-card > p:not(.atlas-eyebrow) {
  max-width: 46ch;
  margin: 0;
  color: #bdc6be;
  font-size: .86rem;
  line-height: 1.6;
}

.reward-companions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .55rem;
  margin-top: 1.25rem;
}

.reward-companions span {
  width: 100%;
  color: #839087;
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.reward-companions b {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .65rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: .5rem;
  color: var(--atlas-paper);
  font-size: .62rem;
}

.reward-companions svg {
  width: .9rem;
}

.reward-momentum-gain {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  margin-top: 1.5rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(217, 237, 114, .24);
  border-radius: 1rem;
  background: linear-gradient(105deg, rgba(239, 107, 61, .18), rgba(217, 237, 114, .07));
  text-align: left;
}

.reward-momentum-gain > span {
  min-width: 5rem;
  color: var(--atlas-sun);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 3.2rem;
  letter-spacing: -.07em;
  line-height: 1;
  animation: reward-points-pop .65s cubic-bezier(.16, 1.25, .3, 1) .35s both;
}

.reward-momentum-gain > div { min-width: 0; }
.reward-momentum-gain small { display: block; margin-bottom: .55rem; color: var(--atlas-paper); font-size: .61rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.reward-momentum-gain i { position: relative; height: .42rem; display: block; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, .12); }
.reward-momentum-gain i b { position: absolute; inset: 0 auto 0 0; width: var(--level); border-radius: inherit; background: linear-gradient(90deg, var(--atlas-signal), var(--atlas-sun)); animation: momentum-fill 1s cubic-bezier(.16, 1, .3, 1) .28s both; }
.reward-momentum-gain em { display: block; margin-top: .5rem; color: #929e95; font-size: .56rem; font-style: normal; line-height: 1.4; }

.reward-card-footer {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(255, 255, 255, .14);
}

.reward-card-footer > span {
  color: #939e95;
  font-size: .65rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.reward-card-footer > span b {
  color: var(--atlas-sun);
  font-size: 1rem;
}

.reward-card-footer .atlas-primary-button {
  border-color: var(--atlas-sun);
  background: var(--atlas-sun);
  color: var(--atlas-ink);
}

.reward-overlay.is-foothold .reward-card {
  width: min(560px, 100%);
}

.reward-overlay.is-foothold .reward-award-stage {
  min-height: 8.5rem;
}

.reward-contours,
.reward-particles {
  position: absolute;
  z-index: 2;
  inset: 50%;
  pointer-events: none;
}

.reward-contours i {
  position: absolute;
  inset: -8rem;
  border: 1px solid rgba(217, 237, 114, .45);
  border-radius: 47% 53% 51% 49%;
  opacity: 0;
  animation: contour-ripple 1.6s cubic-bezier(.16, 1, .3, 1) both;
  animation-delay: calc(var(--ring, 0) * 130ms);
}

.reward-contours i:nth-child(2) { --ring: 1; inset: -11rem; }
.reward-contours i:nth-child(3) { --ring: 2; inset: -14rem; }

.reward-particles i {
  --angle: calc(var(--particle) * 30deg);
  position: absolute;
  width: .55rem;
  height: 1.6rem;
  border-radius: .15rem;
  background: var(--atlas-signal);
  opacity: 0;
  transform-origin: center;
  animation: artifact-particle 1.15s cubic-bezier(.16, 1, .3, 1) both;
  animation-delay: calc(var(--particle) * 28ms);
}

.reward-particles i:nth-child(3n) { background: var(--atlas-sun); }
.reward-particles i:nth-child(3n + 1) { width: 1rem; height: .35rem; background: var(--atlas-paper); }

.completion-burst {
  position: absolute;
  inset: 50%;
}

.completion-burst i {
  --angle: calc(var(--i) * 20deg);
  position: absolute;
  width: .55rem;
  height: 2.5rem;
  border-radius: 999px;
  background: var(--atlas-signal);
  transform: rotate(var(--angle)) translateY(-42vh);
  animation: burst-out 1.4s cubic-bezier(.16, 1, .3, 1) both;
  animation-delay: calc(var(--i) * 22ms);
}

/* Living Chronicle */
.chronicle-overlay {
  z-index: 55;
  place-items: start center;
  overflow: auto;
  padding: clamp(.65rem, 2vw, 1.5rem);
  background: rgba(10, 14, 11, .52);
}

.chronicle-overlay .overlay-scrim { position: fixed; z-index: 0; background: rgba(9, 13, 10, .9); }

.chronicle-card {
  position: relative;
  z-index: 2;
  width: min(1080px, 100%);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 1.6rem;
  background: var(--atlas-paper);
  box-shadow: 0 3rem 9rem rgba(0, 0, 0, .48);
  animation: chronicle-enter .8s cubic-bezier(.16, 1, .3, 1) both;
}

.chronicle-hero {
  position: relative;
  min-height: 22rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 5vw, 4.5rem);
  align-items: center;
  overflow: hidden;
  padding: clamp(2rem, 6vw, 5rem);
  background:
    repeating-radial-gradient(ellipse at 90% 12%, transparent 0 42px, rgba(217, 237, 114, .075) 43px 44px, transparent 45px 64px),
    radial-gradient(circle at 6% 10%, rgba(239, 107, 61, .22), transparent 18rem),
    var(--atlas-forest);
  color: var(--atlas-paper);
}

.chronicle-hero::after { position: absolute; right: -9rem; bottom: -14rem; width: 31rem; height: 31rem; border: 1px solid rgba(255, 255, 255, .08); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(255, 255, 255, .018), 0 0 0 10rem rgba(255, 255, 255, .012); content: ""; }
.chronicle-hero > * { position: relative; z-index: 1; }
.chronicle-hero .atlas-eyebrow { color: var(--atlas-signal); }
.chronicle-hero h2 { max-width: 12ch; margin: .6rem 0 1rem; color: var(--atlas-sun); font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(3.6rem, 8vw, 7.7rem); font-weight: 500; letter-spacing: -.08em; line-height: .84; }
.chronicle-hero p:last-child { max-width: 55ch; margin: 0; color: #aeb8b0; line-height: 1.62; }
.chronicle-hero > button { align-self: start; width: 2.8rem; height: 2.8rem; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .22); border-radius: 50%; background: transparent; color: var(--atlas-paper); cursor: pointer; font: 300 1.5rem/1 "Avenir Next", sans-serif; transition: background .2s ease, transform .2s ease; }
.chronicle-hero > button:hover { background: rgba(255, 255, 255, .08); transform: rotate(6deg); }

.chronicle-rank-mark {
  position: relative;
  width: clamp(8.5rem, 16vw, 13rem);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(217, 237, 114, .5);
  border-radius: 50%;
  box-shadow: inset 0 0 0 1.2rem rgba(217, 237, 114, .025), 0 0 4rem rgba(217, 237, 114, .08);
}

.chronicle-rank-mark::before,
.chronicle-rank-mark i { position: absolute; inset: 12%; border: 1px solid rgba(217, 237, 114, .32); border-radius: 50%; content: ""; transform: rotate(31deg) scaleY(.4); animation: chronicle-orbit 8s linear infinite; }
.chronicle-rank-mark i { inset: -8%; border-color: rgba(255, 255, 255, .12); animation-direction: reverse; animation-duration: 12s; }
.chronicle-rank-mark span { color: var(--atlas-sun); font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(3.2rem, 7vw, 6rem); letter-spacing: -.08em; }

.chronicle-momentum {
  display: grid;
  grid-template-columns: repeat(3, minmax(8rem, .55fr)) minmax(15rem, 1.35fr);
  border-bottom: 1px solid var(--atlas-line);
  background: #e4e0d5;
}

.chronicle-momentum > div { min-height: 8.5rem; display: flex; flex-direction: column; justify-content: center; padding: 1.4rem clamp(1rem, 3vw, 2rem); border-right: 1px solid var(--atlas-line); }
.chronicle-momentum > div:last-child { border-right: 0; }
.chronicle-momentum strong { font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2.5rem, 5vw, 4.7rem); font-weight: 500; letter-spacing: -.08em; line-height: .85; }
.chronicle-momentum > div > span { margin-top: .55rem; color: var(--atlas-muted); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.chronicle-level > span { margin: 0 0 .8rem !important; color: var(--atlas-ink) !important; }
.chronicle-level > i { position: relative; height: .55rem; display: block; overflow: hidden; border-radius: 999px; background: rgba(21, 24, 20, .12); }
.chronicle-level > i b { position: absolute; inset: 0 auto 0 0; width: var(--level); border-radius: inherit; background: linear-gradient(90deg, var(--atlas-signal), var(--atlas-moss)); animation: momentum-fill 1.1s cubic-bezier(.16, 1, .3, 1) .2s both; }

.chronicle-story { padding: clamp(2rem, 6vw, 5rem); }
.chronicle-story > header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--atlas-line); }
.chronicle-story h3 { max-width: 16ch; margin: .55rem 0 0; font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2.8rem, 6vw, 6rem); font-weight: 500; letter-spacing: -.07em; line-height: .88; }
.chronicle-story > header > span { color: var(--atlas-muted); font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-align: right; text-transform: uppercase; }
.chronicle-stream { position: relative; }
.chronicle-stream::before { position: absolute; top: 0; bottom: 0; left: 4.85rem; width: 1px; background: var(--atlas-line); content: ""; }
.chronicle-event { position: relative; display: grid; grid-template-columns: 9.7rem minmax(0, 1fr); gap: clamp(1rem, 4vw, 3rem); padding: 2rem 0; border-bottom: 1px solid var(--atlas-line); animation: chronicle-event-enter .55s cubic-bezier(.16, 1, .3, 1) both; animation-delay: calc(var(--event-index) * 65ms + 180ms); }
.chronicle-event-code { position: relative; display: flex; align-items: flex-start; justify-content: flex-end; padding-right: 2.4rem; }
.chronicle-event-code span { color: var(--atlas-signal); font-family: "Iowan Old Style", Georgia, serif; font-size: 1.4rem; }
.chronicle-event-code i { position: absolute; z-index: 1; top: .45rem; right: 4.45rem; width: .8rem; height: .8rem; border: 2px solid var(--atlas-paper); border-radius: 50%; background: var(--atlas-moss); box-shadow: 0 0 0 1px var(--atlas-moss); }
.chronicle-event small { color: var(--atlas-muted); font-size: .55rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.chronicle-event h4 { margin: .45rem 0 .5rem; font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(1.45rem, 3vw, 2.4rem); font-weight: 500; letter-spacing: -.035em; }
.chronicle-event p { max-width: 62ch; margin: 0; color: var(--atlas-muted); font-size: .78rem; line-height: 1.6; }
.chronicle-event.is-summit .chronicle-event-code i,
.chronicle-event.is-milestone .chronicle-event-code i { background: var(--atlas-signal); box-shadow: 0 0 0 1px var(--atlas-signal), 0 0 0 .45rem rgba(239, 107, 61, .1); }
.chronicle-empty { min-height: 20rem; display: grid; place-items: center; align-content: center; text-align: center; }
.chronicle-empty > span { width: 3.5rem; height: 3.5rem; display: grid; place-items: center; border: 1px solid var(--atlas-line); border-radius: 50%; color: var(--atlas-signal); }
.chronicle-empty svg { width: 1.5rem; fill: none; stroke: currentColor; }
.chronicle-empty h4 { margin: 1.4rem 0 .6rem; font-family: "Iowan Old Style", Georgia, serif; font-size: 2rem; font-weight: 500; }
.chronicle-empty p { margin: 0; color: var(--atlas-muted); }

.chronicle-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.5rem clamp(2rem, 6vw, 5rem); border-top: 1px solid rgba(255, 255, 255, .12); background: var(--atlas-forest); color: var(--atlas-paper); }
.chronicle-card > footer p { max-width: 43ch; margin: 0; color: #aab4ac; font-size: .72rem; line-height: 1.5; }
.chronicle-card > footer > div { display: flex; align-items: center; gap: .7rem; }
.chronicle-card > footer .atlas-text-button { color: #aab4ac; }
.chronicle-card > footer .atlas-primary-button { border-color: var(--atlas-sun); background: var(--atlas-sun); color: var(--atlas-ink); }

/* Motion */
@keyframes architect-enter {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes atlas-view-enter {
  from { opacity: 0; transform: translateY(18px) scale(.995); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes overlay-enter {
  from { opacity: 0; transform: translateY(40px) scale(.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes completion-enter {
  from { opacity: 0; transform: scale(.84); filter: blur(10px); }
  to { opacity: 1; transform: scale(1); filter: blur(0); }
}

@keyframes burst-out {
  from { opacity: 0; transform: rotate(var(--angle)) translateY(-2rem) scaleY(.2); }
  30% { opacity: 1; }
  to { opacity: 0; transform: rotate(var(--angle)) translateY(-48vh) scaleY(1); }
}

@keyframes atlas-float {
  50% { transform: translateY(-14px); }
}

@keyframes draw-route {
  from { stroke-dasharray: 0 100; }
}

@keyframes grow-bar {
  from { transform: scaleY(0); }
}

@keyframes artifact-arrive {
  from { opacity: 0; transform: translateY(1rem); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes reward-card-enter {
  from { opacity: 0; transform: translateY(2.5rem) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes reward-points-pop {
  from { opacity: 0; transform: translateY(.75rem) scale(.72); }
  72% { opacity: 1; transform: translateY(-.12rem) scale(1.06); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes chronicle-enter {
  from { opacity: 0; transform: translateY(2rem) scale(.985); filter: blur(8px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@keyframes chronicle-event-enter {
  from { opacity: 0; transform: translateY(1.25rem); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes chronicle-orbit {
  to { transform: rotate(389deg) scaleY(.38); }
}

@keyframes sticker-slap {
  from { opacity: 0; transform: rotate(-24deg) scale(1.7); }
  70% { opacity: 1; transform: rotate(-4deg) scale(.94); }
  to { opacity: 1; transform: rotate(-7deg) scale(1); }
}

@keyframes contour-ripple {
  from { opacity: .8; transform: scale(.35) rotate(-10deg); }
  to { opacity: 0; transform: scale(2.5) rotate(8deg); }
}

@keyframes artifact-particle {
  from { opacity: 0; transform: rotate(var(--angle)) translateY(-2rem) rotate(0); }
  22% { opacity: 1; }
  to { opacity: 0; transform: rotate(var(--angle)) translateY(-42vh) rotate(240deg); }
}

@keyframes nav-icon-bounce {
  0% { transform: translateY(0) scale(1); }
  46% { transform: translateY(-5px) scale(1.12); }
  72% { transform: translateY(1px) scale(.98); }
  100% { transform: translateY(0) scale(1); }
}

@keyframes orbit-pulse {
  0% { opacity: .55; transform: scale(.88); }
  72%, 100% { opacity: 0; transform: scale(1.22); }
}

@keyframes bearing-pulse {
  0%, 100% { transform: scale(.88); }
  50% { transform: scale(1.22); }
}

@keyframes focus-card-land {
  from { opacity: 0; transform: translate3d(24px, 0, 0) scale(.97); }
  74% { opacity: 1; transform: translate3d(-3px, 0, 0) scale(1.005); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes timer-tick {
  to { transform: rotate(360deg); }
}

@keyframes seal-hover {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-6px) rotate(1.5deg); }
}

.reward-card-footer > div { display: flex; gap: .65rem; }
.reward-card-footer .atlas-secondary-button { min-height: 3.35rem; border-color: rgba(255, 255, 255, .28); color: var(--atlas-paper); }

.reminder-overlay { z-index: 42; }
.reminder-card { width: min(760px, 100%); max-height: calc(100dvh - 2rem); overflow: auto; gap: 1.1rem; }
.reminder-card > header { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; align-items: start; }
.reminder-card > header h2 { margin: .5rem 0 .75rem; }
.reminder-card > header p:last-child { max-width: 56ch; margin: 0; color: var(--atlas-muted); line-height: 1.55; }
.reminder-beacon { width: 3.6rem; height: 3.6rem; display: grid; place-items: center; border-radius: 50%; background: var(--atlas-signal); color: #2b160f; }
.reminder-beacon svg { width: 1.6rem; fill: none; stroke: currentColor; }
.reminder-time { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; padding: 1rem 1.1rem; border: 1px solid var(--atlas-line); border-radius: .9rem; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.reminder-time input { width: 8.5rem; margin: 0; padding: .65rem .75rem; border: 0; border-radius: .6rem; background: var(--atlas-forest); color: var(--atlas-paper); color-scheme: dark; font: inherit; text-align: center; }
.reminder-days { margin: 0; padding: 0; border: 0; }
.reminder-days legend { margin-bottom: .65rem; font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.reminder-days > div { display: grid; grid-template-columns: repeat(7, 1fr); gap: .45rem; }
.reminder-days label { position: relative; cursor: pointer; }
.reminder-days input { position: absolute; opacity: 0; }
.reminder-days span { min-height: 3rem; display: grid; place-items: center; border: 1px solid var(--atlas-line); border-radius: .7rem; font-size: .72rem; font-weight: 800; transition: transform .2s ease, background .2s ease; }
.reminder-days input:checked + span { border-color: var(--atlas-signal); background: var(--atlas-signal); color: #2b160f; transform: translateY(-2px); }
.reminder-switches { display: grid; gap: 0; border-top: 1px solid var(--atlas-line); }
.reminder-switches > label { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; padding: .9rem 0; border-bottom: 1px solid var(--atlas-line); cursor: pointer; }
.reminder-switches span { display: grid; gap: .2rem; }
.reminder-switches b { font-family: "Iowan Old Style", Georgia, serif; font-size: 1.12rem; font-weight: 500; }
.reminder-switches small { color: var(--atlas-muted); font-size: .68rem; line-height: 1.4; }
.reminder-switches input { position: absolute; opacity: 0; }
.reminder-switches i { position: relative; width: 3.1rem; height: 1.7rem; border-radius: 999px; background: #c9c5ba; transition: background .25s ease; }
.reminder-switches i::after { position: absolute; top: .2rem; left: .2rem; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: white; content: ""; box-shadow: 0 2px 8px rgba(0, 0, 0, .18); transition: transform .25s cubic-bezier(.16, 1, .3, 1); }
.reminder-switches input:checked + i { background: var(--atlas-moss); }
.reminder-switches input:checked + i::after { transform: translateX(1.4rem); }
.reminder-status { min-height: 1.2rem; margin: 0; color: var(--atlas-muted); font-size: .7rem; line-height: 1.4; }
.reminder-card .reminder-actions { margin-top: .25rem; }

.award-studio-overlay { z-index: 50; overflow: auto; background: rgba(10, 14, 11, .5); }
.award-studio-overlay .overlay-scrim { background: rgba(10, 14, 11, .9); }
.award-studio { position: relative; z-index: 2; width: min(1120px, 100%); max-height: calc(100dvh - 2rem); display: grid; grid-template-columns: minmax(280px, .82fr) minmax(320px, 1.18fr); overflow: hidden; border: 1px solid rgba(255, 255, 255, .14); border-radius: 1.5rem; background: var(--atlas-forest); box-shadow: 0 3rem 8rem rgba(0, 0, 0, .5); color: var(--atlas-paper); animation: award-studio-enter .7s cubic-bezier(.16, 1, .3, 1) both; }
.award-studio-poster { min-height: 0; display: grid; place-items: center; padding: 1.1rem; background: #111712; }
.award-studio-poster svg { width: auto; max-width: 100%; height: min(78dvh, 720px); border-radius: 1.2rem; box-shadow: 0 2rem 5rem rgba(0, 0, 0, .38); }
.award-studio-controls { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.6rem, 5vw, 4.5rem); }
.award-studio-controls h2 { max-width: 8ch; margin: .6rem 0 1rem; color: var(--atlas-sun); font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(3rem, 6vw, 6.5rem); font-weight: 500; letter-spacing: -.07em; line-height: .88; }
.award-studio-controls > p:not(.atlas-eyebrow) { max-width: 44ch; color: #abb5ad; font-size: .78rem; line-height: 1.6; }
.award-studio-controls blockquote { max-width: 44ch; margin: 1rem 0; padding: 1rem; border-left: 2px solid var(--atlas-signal); background: rgba(255, 255, 255, .045); color: #d5dcd6; font-size: .72rem; line-height: 1.55; }
.award-studio-controls > div { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1rem 0 1.4rem; }
.award-studio-controls .atlas-primary-button { border-color: var(--atlas-sun); background: var(--atlas-sun); color: var(--atlas-ink); }
.award-studio-controls .atlas-secondary-button { border-color: rgba(255, 255, 255, .3); color: var(--atlas-paper); }
.award-studio-controls > .atlas-text-button { align-self: flex-start; color: #99a49b; font-size: .68rem; }

@keyframes coach-orbit { to { transform: rotate(360deg); } }
@keyframes award-studio-enter { from { opacity: 0; transform: translateY(28px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* Content Studio */
.studio-view {
  background:
    radial-gradient(circle at 92% 3%, rgba(239, 107, 61, .13), transparent 24rem),
    var(--atlas-paper);
}

.studio-heading { align-items: end; }
.studio-heading h1 { max-width: 11ch; }
.studio-heading > p { max-width: 31rem; margin: 0; color: var(--atlas-muted); line-height: 1.65; }

.studio-workbench {
  display: grid;
  grid-template-columns: minmax(13rem, .55fr) minmax(22rem, 1.05fr) minmax(18rem, .7fr);
  min-height: 48rem;
  overflow: hidden;
  border-radius: 1.6rem;
  background: var(--atlas-forest);
  box-shadow: 0 2rem 6rem rgba(31, 42, 34, .14);
}

.studio-library {
  padding: 1rem;
  border-right: 1px solid rgba(255, 255, 255, .12);
  color: var(--atlas-paper);
}

.studio-library > header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .7rem .55rem 1.2rem;
  color: #8f9a91;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.studio-library > header b { color: var(--atlas-sun); }

.studio-content-choice {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: 2.2rem 1fr;
  gap: .75rem;
  align-items: start;
  padding: .9rem .6rem;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, .1);
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: background .25s ease, transform .25s ease, opacity .25s ease;
}
.studio-content-choice:hover:not(:disabled) { background: rgba(255, 255, 255, .05); transform: translateX(.2rem); }
.studio-content-choice.is-active { background: var(--atlas-signal); color: #2c160f; }
.studio-content-choice:disabled { cursor: not-allowed; opacity: .34; }
.studio-content-choice > span { color: var(--atlas-sun); font-size: .58rem; font-weight: 900; letter-spacing: .08em; }
.studio-content-choice.is-active > span { color: #6b260f; }
.studio-content-choice > div { display: grid; gap: .28rem; min-width: 0; }
.studio-content-choice small { color: #9ba69d; font-size: .54rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.studio-content-choice.is-active small { color: #6b260f; }
.studio-content-choice b { font-family: "Iowan Old Style", Georgia, serif; font-size: 1.04rem; font-weight: 500; line-height: 1.08; }
.studio-content-choice em { color: #aeb7b0; font-size: .56rem; font-style: normal; line-height: 1.35; }
.studio-content-choice > i { position: absolute; top: .75rem; right: .55rem; color: var(--atlas-sun); font-size: .47rem; font-style: normal; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.studio-content-choice.is-active > i { color: #54200f; }

.studio-preview-stage {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  overflow: hidden;
  padding: clamp(1rem, 3vw, 2.2rem);
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    #111712;
  background-size: 32px 32px;
}

.studio-preview-frame {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 0;
}
.studio-preview-frame svg { width: min(100%, 30rem); max-height: 37rem; height: auto; border-radius: 1.15rem; filter: drop-shadow(0 1.5rem 2.5rem rgba(0, 0, 0, .42)); animation: studio-poster-enter .55s cubic-bezier(.16, 1, .3, 1) both; }
.studio-preview-frame.is-feed svg { aspect-ratio: 4 / 5; }
.studio-preview-frame.is-story svg { width: min(100%, 22rem); max-height: 39rem; aspect-ratio: 9 / 16; }
.studio-preview-frame.is-square svg { aspect-ratio: 1; }

.studio-format-switcher {
  display: inline-flex;
  gap: .25rem;
  padding: .25rem;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
}
.studio-format-switcher button { padding: .65rem .85rem; border: 0; border-radius: 999px; background: transparent; color: #929d94; cursor: pointer; font: inherit; font-size: .56rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.studio-format-switcher button.is-active { background: var(--atlas-sun); color: var(--atlas-ink); }

.studio-publish-panel {
  display: flex;
  flex-direction: column;
  padding: clamp(1.3rem, 3vw, 2.4rem);
  border-left: 1px solid rgba(255, 255, 255, .12);
  color: var(--atlas-paper);
}
.studio-publish-panel h2 { margin: .75rem 0 1rem; color: var(--atlas-sun); font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2.3rem, 3.4vw, 4rem); font-weight: 500; letter-spacing: -.06em; line-height: .92; }
.studio-publish-panel > p:not(.atlas-eyebrow) { margin: 0 0 1rem; color: #adb7af; font-size: .73rem; line-height: 1.55; }

.studio-privacy-note { display: grid; grid-template-columns: 2rem 1fr; gap: .7rem; margin: .4rem 0 1rem; padding: .8rem; border: 1px solid rgba(217, 237, 114, .22); border-radius: .7rem; background: rgba(217, 237, 114, .06); color: #cdd5ce; }
.studio-privacy-note svg { width: 1.35rem; fill: none; stroke: var(--atlas-sun); }
.studio-privacy-note span { display: grid; gap: .22rem; font-size: .59rem; line-height: 1.4; }
.studio-privacy-note b { color: var(--atlas-sun); font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }

.studio-source { display: grid; gap: .25rem; padding: .85rem 0; border-top: 1px solid rgba(255, 255, 255, .11); border-bottom: 1px solid rgba(255, 255, 255, .11); color: inherit; text-decoration: none; }
.studio-source span { color: #8f9b91; font-size: .52rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.studio-source b { display: flex; align-items: center; justify-content: space-between; gap: .6rem; color: #dce1dc; font-size: .62rem; line-height: 1.4; }
.studio-source svg { flex: 0 0 auto; width: .9rem; fill: none; stroke: var(--atlas-sun); }

.studio-caption { display: grid; gap: .5rem; margin-top: auto; padding-top: 1rem; }
.studio-caption > span { color: #909b92; font-size: .55rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.studio-caption textarea { width: 100%; resize: vertical; padding: .85rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: .75rem; outline: 0; background: rgba(255, 255, 255, .045); color: #d9ded9; font: inherit; font-size: .65rem; line-height: 1.55; }
.studio-caption textarea:focus { border-color: var(--atlas-sun); }
.studio-publish-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-top: .75rem; }
.studio-publish-actions .share-social-image { grid-column: 1 / -1; max-width: none; background: var(--atlas-sun); border-color: var(--atlas-sun); color: var(--atlas-ink); }
.studio-publish-actions .atlas-secondary-button { width: 100%; border-color: rgba(255, 255, 255, .25); color: var(--atlas-paper); }
.studio-resolution { margin-top: .75rem; color: #78847a; font-size: .5rem; font-weight: 750; letter-spacing: .08em; text-align: center; text-transform: uppercase; }

.studio-source-desk { margin-top: 1rem; padding: clamp(1.5rem, 4vw, 3.5rem); border-radius: 1.5rem; background: #dcd7ca; }
.studio-source-desk > header { display: grid; grid-template-columns: 1fr .7fr; gap: 2rem; align-items: end; }
.studio-source-desk h2 { margin: .6rem 0 0; font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2.6rem, 5vw, 5.4rem); font-weight: 500; letter-spacing: -.065em; line-height: .92; }
.studio-source-desk > header > p { max-width: 42ch; margin: 0; color: var(--atlas-muted); line-height: 1.6; }
.studio-source-desk > div { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 2.5rem; border-top: 1px solid var(--atlas-line); border-left: 1px solid var(--atlas-line); }
.studio-source-desk a { min-height: 13rem; display: flex; flex-direction: column; gap: .65rem; padding: 1.2rem; border-right: 1px solid var(--atlas-line); border-bottom: 1px solid var(--atlas-line); color: inherit; text-decoration: none; transition: background .25s ease, transform .25s ease; }
.studio-source-desk a:hover { background: var(--atlas-paper); transform: translateY(-.25rem); }
.studio-source-desk a > span { color: var(--atlas-signal); font-size: .58rem; font-weight: 900; }
.studio-source-desk a > b { margin-top: auto; font-family: "Iowan Old Style", Georgia, serif; font-size: 1.2rem; font-weight: 500; line-height: 1.05; }
.studio-source-desk a > small { color: var(--atlas-muted); font-size: .58rem; line-height: 1.4; }
.studio-source-desk a > svg { width: 1rem; fill: none; stroke: currentColor; }

@keyframes studio-poster-enter { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* Tablet */
/* Command checklist */
.command-checklist {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(14rem, .72fr) minmax(20rem, 1.28fr);
  gap: 1rem 2rem;
  padding: clamp(1.4rem, 3vw, 2.4rem);
  border-radius: 1.25rem;
  background: #ded9cc;
}

.command-checklist > header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.command-checklist > header h2 {
  max-width: 12ch;
  margin: .65rem 0 1.2rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 4.1rem);
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: .94;
}

.command-checklist > header > span {
  margin-top: auto;
  color: var(--atlas-muted);
  font-size: .7rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.command-checklist > header > span b {
  color: var(--atlas-signal);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: -.04em;
}

.command-checklist-items {
  display: grid;
  align-content: start;
}

.command-checklist .command-check-action {
  min-height: 4.5rem;
  display: grid;
  grid-template-columns: 2.2rem 1fr;
  gap: .8rem;
  align-items: center;
  width: 100%;
  padding: .8rem 0;
  border: 0;
  border-bottom: 1px solid var(--atlas-line);
  border-radius: 0;
  background: transparent;
  color: var(--atlas-ink);
  cursor: pointer;
  text-align: left;
  transition: transform .32s cubic-bezier(.16, 1, .3, 1), opacity .32s cubic-bezier(.16, 1, .3, 1);
}

.command-checklist .command-check-action:hover { transform: translateX(.45rem); }

.command-check-action > i {
  width: 1.75rem;
  height: 1.75rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(21, 24, 20, .35);
  border-radius: 50%;
}

.command-check-action > i svg { width: 1rem; fill: none; stroke: currentColor; }
.command-check-action > span { display: grid; gap: .22rem; }
.command-check-action b { font-size: .84rem; }
.command-check-action small { color: var(--atlas-muted); font-size: .65rem; }
.command-check-action.is-done { opacity: .46; }
.command-check-action.is-done b { text-decoration: line-through; }
.command-check-action.is-done > i { background: var(--atlas-moss); color: var(--atlas-paper); }

.command-checklist > footer {
  grid-column: 2;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-top: .4rem;
}

.command-checklist > footer button {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .45rem 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: .72rem;
  font-weight: 750;
}

.command-checklist > footer svg { width: 1rem; fill: none; stroke: currentColor; }

/* Guide */
.guide-heading { align-items: end; }
.guide-heading > div { max-width: 64rem; }
.guide-heading h1 { max-width: 13ch; font-size: clamp(3.2rem, 6vw, 7rem); }
.guide-heading > p { max-width: 28rem; margin: 0; color: var(--atlas-muted); line-height: 1.65; }
.guide-heading > p b { color: var(--atlas-ink); }

.behavior-lab {
  margin-bottom: 1rem;
  overflow: hidden;
  border-radius: 1.5rem;
  background: var(--atlas-paper-deep);
}

.behavior-lab > header {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: end;
  padding: clamp(1.5rem, 4vw, 3.5rem);
}
.behavior-lab > header h2 { max-width: 14ch; margin: .5rem 0 1rem; font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(2.7rem, 5vw, 5.2rem); font-weight: 500; letter-spacing: -.065em; line-height: .92; }
.behavior-lab > header p:last-child { max-width: 52rem; margin: 0; color: var(--atlas-muted); line-height: 1.55; }

.behavior-gauge { min-width: 11rem; text-align: right; }
.behavior-gauge > span { display: flex; align-items: baseline; justify-content: flex-end; gap: .25rem; color: var(--atlas-signal); font-family: "Iowan Old Style", Georgia, serif; }
.behavior-gauge > span b { font-size: 5rem; font-weight: 500; letter-spacing: -.09em; line-height: .8; }
.behavior-gauge > span small { font-size: 1.2rem; }
.behavior-gauge > i { height: .35rem; display: block; margin-top: 1.2rem; overflow: hidden; border-radius: 999px; background: color-mix(in srgb, var(--atlas-ink) 14%, transparent); }
.behavior-gauge > i b { width: calc(var(--protocol-progress) * 1%); height: 100%; display: block; border-radius: inherit; background: var(--atlas-signal); animation: protocol-fill .9s cubic-bezier(.16, 1, .3, 1) both; }
.behavior-gauge > em { display: block; margin-top: .6rem; color: var(--atlas-muted); font-size: .62rem; font-style: normal; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.behavior-curriculum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: color-mix(in srgb, var(--atlas-ink) 14%, transparent); }
.behavior-curriculum article { min-height: 25rem; display: flex; flex-direction: column; padding: 1.4rem; background: var(--atlas-paper); transition: transform .4s cubic-bezier(.16, 1, .3, 1), background .4s ease; }
.behavior-curriculum article:hover { z-index: 1; transform: translateY(-.35rem); }
.behavior-curriculum article.is-installed { background: var(--atlas-forest); color: var(--atlas-paper); }
.behavior-curriculum article > header { display: grid; grid-template-columns: auto 1fr auto; gap: .8rem; align-items: center; }
.behavior-curriculum article > header span { color: var(--atlas-signal); font-family: "Iowan Old Style", Georgia, serif; font-size: 2.2rem; letter-spacing: -.08em; }
.behavior-curriculum article > header b { font-size: .67rem; letter-spacing: .14em; text-transform: uppercase; }
.behavior-curriculum article > header i { padding: .35rem .55rem; border: 1px solid currentColor; border-radius: 999px; color: var(--atlas-muted); font-size: .55rem; font-style: normal; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.behavior-curriculum article.is-installed > header i { border-color: var(--atlas-sun); color: var(--atlas-sun); }
.behavior-curriculum h3 { max-width: 15ch; margin: auto 0 .8rem; font-family: "Iowan Old Style", Georgia, serif; font-size: clamp(1.9rem, 3vw, 3.2rem); font-weight: 500; letter-spacing: -.055em; line-height: .98; }
.behavior-curriculum article > p { max-width: 40ch; margin: 0 0 1.2rem; color: var(--atlas-muted); font-size: .78rem; line-height: 1.55; }
.behavior-curriculum article.is-installed > p { color: #aeb8b0; }
.behavior-curriculum footer { padding-top: 1rem; border-top: 1px solid var(--atlas-line); }
.behavior-curriculum article.is-installed footer { border-color: rgba(255, 255, 255, .12); }
.behavior-curriculum footer span { display: block; margin-bottom: .45rem; color: var(--atlas-signal); font-size: .57rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.behavior-curriculum footer b { display: block; font-size: .7rem; line-height: 1.5; }

.behavior-boundary { display: grid; grid-template-columns: auto 1fr; gap: 1.5rem; padding: 1.1rem 1.4rem; background: var(--atlas-signal); color: #30170f; font-size: .72rem; line-height: 1.5; }
.behavior-boundary b { white-space: nowrap; }

@keyframes protocol-fill { from { transform: scaleX(0); transform-origin: left; } to { transform: scaleX(1); transform-origin: left; } }

.guide-protocol {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 1rem;
}

.protocol-card {
  min-height: 25rem;
  display: flex;
  flex-direction: column;
  padding: clamp(1.5rem, 3.5vw, 3rem);
  border-radius: 1.5rem;
}

.protocol-card-primary {
  background:
    repeating-radial-gradient(ellipse at 93% 12%, transparent 0 30px, rgba(217, 237, 114, .1) 31px 32px, transparent 33px 47px),
    var(--atlas-forest);
  color: var(--atlas-paper);
}

.protocol-card-primary > div {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}

.protocol-card-primary > div > span { color: #9eaaa1; font-size: .72rem; }
.protocol-card-primary blockquote {
  max-width: 18ch;
  margin: auto 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2rem, 4.2vw, 4.8rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: 1.02;
}

.protocol-card-primary blockquote small {
  color: var(--atlas-sun);
  font-family: "Avenir Next", Avenir, sans-serif;
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.protocol-card-primary footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: #a9b3aa;
  font-size: .7rem;
}

.protocol-card-primary footer span { display: inline-flex; align-items: center; gap: .5rem; }
.protocol-card-primary footer svg { width: 1rem; fill: none; stroke: currentColor; }
.protocol-card-primary footer button { padding: .35rem 0; border: 0; border-bottom: 1px solid var(--atlas-sun); background: transparent; color: var(--atlas-sun); cursor: pointer; font: inherit; }

.protocol-card-next { background: var(--atlas-signal); color: #2d160f; }
.protocol-card-next h2 {
  margin: auto 0 1rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 4.3rem);
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: .95;
}
.protocol-card-next > p:not(.atlas-eyebrow) { max-width: 40ch; line-height: 1.5; }
.protocol-card-next .atlas-eyebrow { color: #5f2513; }
.protocol-card-next .atlas-primary-button { align-self: flex-start; margin-top: 1.4rem; background: #2d160f; color: #fff4ec; border-color: #2d160f; }
.protocol-card-next .atlas-primary-button svg { width: 1.1rem; fill: none; stroke: currentColor; }

.guide-resources,
.evidence-library {
  margin-top: 1rem;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  border-radius: 1.5rem;
}

.guide-resources { background: #ddd8cb; }
.guide-resources > header,
.evidence-library > header { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem 3rem; align-items: end; }
.guide-resources > header .atlas-eyebrow,
.evidence-library > header .atlas-eyebrow { grid-column: 1 / -1; }
.guide-resources > header h2,
.evidence-library > header h2 {
  max-width: 14ch;
  margin: .35rem 0 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2.5rem, 5vw, 5.2rem);
  font-weight: 500;
  letter-spacing: -.065em;
  line-height: .93;
}
.guide-resources > header > p:last-child,
.evidence-library > header > p:last-child { max-width: 44ch; margin: 0; color: var(--atlas-muted); line-height: 1.6; }

.resource-stack {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 3rem;
  overflow: hidden;
  border-radius: 1.15rem;
  background: rgba(21, 24, 20, .16);
}

.resource-stack article {
  min-height: 22rem;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  background: #ebe7dc;
  transition: transform .45s cubic-bezier(.16, 1, .3, 1), background .45s cubic-bezier(.16, 1, .3, 1);
}

.resource-stack article:hover { background: var(--atlas-paper); transform: translateY(-.35rem); }
.resource-stack article > span { color: var(--atlas-signal); font-size: .64rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.resource-stack h3 { margin: auto 0 .8rem; font-size: 1.5rem; letter-spacing: -.035em; }
.resource-stack p { color: var(--atlas-muted); line-height: 1.55; }
.resource-stack small { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--atlas-line); color: var(--atlas-moss); font-weight: 750; line-height: 1.4; }

.evidence-library { background: #1d2922; color: var(--atlas-paper); }
.evidence-library > header > p:last-child { color: #9ca79f; }
.evidence-list { margin-top: 3rem; }
.evidence-list a {
  display: grid;
  grid-template-columns: 3rem 1fr minmax(12rem, .55fr);
  gap: 1.3rem;
  align-items: start;
  padding: 1.35rem 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: inherit;
  text-decoration: none;
  transition: transform .35s cubic-bezier(.16, 1, .3, 1), color .35s cubic-bezier(.16, 1, .3, 1);
}
.evidence-list a:hover { color: var(--atlas-sun); transform: translateX(.5rem); }
.evidence-list > a > span { color: var(--atlas-signal); font-size: .68rem; font-weight: 800; }
.evidence-list h3 { margin: 0 0 .45rem; font-size: 1.2rem; }
.evidence-list p { max-width: 54ch; margin: 0 0 .55rem; color: #aeb8b0; font-size: .8rem; line-height: 1.5; }
.evidence-list small { color: #d4d9d4; line-height: 1.5; }
.evidence-list b { display: inline-flex; justify-self: end; align-items: center; gap: .5rem; font-size: .7rem; text-align: right; }
.evidence-list b svg { width: 1rem; fill: none; stroke: currentColor; }

/* Account command center */
.profile-avatar {
  position: relative;
  flex: 0 0 auto;
  width: 7rem;
  height: 7rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--atlas-line);
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 28%, rgba(217, 237, 114, .2), transparent 38%),
    var(--atlas-forest);
  color: var(--atlas-sun);
  box-shadow: inset 0 0 0 .55rem color-mix(in srgb, var(--atlas-paper) 8%, transparent);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 3rem;
}

.profile-avatar img,
.rail-profile img,
.profile-photo-preview img {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: inherit;
  object-fit: cover;
}

.profile-avatar i {
  position: absolute;
  right: .4rem;
  bottom: .45rem;
  width: .85rem;
  height: .85rem;
  border: 3px solid var(--atlas-paper);
  border-radius: 50%;
  background: var(--atlas-sun);
  box-shadow: 0 0 0 5px rgba(217, 237, 114, .12);
}

.profile-hero > div:nth-child(2) > span {
  display: block;
  margin-top: .75rem;
  color: var(--atlas-muted);
}

.profile-hero > .edit-profile { margin-left: auto; }
.rail-profile img { overflow: hidden; }

.profile-preference-center,
.profile-account-hub {
  grid-column: 1 / -1;
}

.profile-preference-center {
  overflow: hidden;
  padding: 0 !important;
  border: 0 !important;
  background: var(--atlas-forest);
  color: #f0efe7;
}

.profile-preference-center > header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1.6rem, 4vw, 3.3rem);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  background:
    radial-gradient(circle at 90% 8%, rgba(217, 237, 114, .13), transparent 18rem),
    repeating-radial-gradient(ellipse at 100% 0, transparent 0 38px, rgba(255, 255, 255, .035) 39px 40px, transparent 41px 60px);
}

.profile-preference-center > header h2,
.profile-account-hub > header h2 {
  margin: .6rem 0 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(2.8rem, 5.5vw, 5.5rem);
  font-weight: 500;
  letter-spacing: -.07em;
  line-height: .9;
}

.profile-preference-center > header > p {
  max-width: 38ch;
  margin: 0;
  color: #adb7ae;
  line-height: 1.55;
}

.profile-preference-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255, 255, 255, .13);
}

.preference-panel {
  position: relative;
  min-height: 20rem;
  padding: clamp(1.4rem, 3vw, 2.5rem);
  background: #1b2920;
}

.preference-code {
  position: absolute;
  top: 1.1rem;
  right: 1.25rem;
  color: rgba(217, 237, 114, .42);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 2rem;
}

.preference-panel h3 {
  max-width: 16ch;
  margin: .7rem 0 2rem;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .98;
}

.preference-segments {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .5rem;
}

.preference-segments button {
  min-height: 5.5rem;
  display: grid;
  align-content: center;
  gap: .35rem;
  padding: .8rem;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: .9rem;
  background: rgba(255, 255, 255, .025);
  color: #dce2dc;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.preference-segments button:hover {
  transform: translateY(-2px);
  border-color: rgba(217, 237, 114, .45);
}

.preference-segments button.is-active {
  border-color: var(--atlas-sun);
  background: var(--atlas-sun);
  color: #172018;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}

.preference-segments b { font-size: .76rem; }

.preference-segments small,
.preference-switch small,
.preference-row small {
  color: #929e95;
  font-size: .62rem;
  line-height: 1.4;
}

.preference-segments .is-active small { color: #4a584d; }

.preference-switch,
.preference-row {
  min-height: 4.6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .75rem;
  padding: .9rem 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.preference-switch > span,
.preference-row > span {
  display: grid;
  gap: .25rem;
}

.preference-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.preference-switch > i {
  position: relative;
  flex: 0 0 auto;
  width: 3.2rem;
  height: 1.8rem;
  border: 1px solid rgba(255, 255, 255, .23);
  border-radius: 999px;
  background: #111912;
  cursor: pointer;
}

.preference-switch > i::after {
  position: absolute;
  top: .2rem;
  left: .2rem;
  width: 1.3rem;
  height: 1.3rem;
  border-radius: 50%;
  background: #a4aea6;
  content: "";
  transition: transform .25s cubic-bezier(.16, 1, .3, 1), background .2s ease;
}

.preference-switch input:focus-visible + i {
  outline: 3px solid var(--atlas-signal);
  outline-offset: 3px;
}

.preference-switch input:checked + i {
  border-color: var(--atlas-sun);
  background: rgba(217, 237, 114, .13);
}

.preference-switch input:checked + i::after {
  background: var(--atlas-sun);
  transform: translateX(1.4rem);
}

.preference-row select {
  min-width: 8.5rem;
  padding: .7rem 2rem .7rem .8rem;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: .7rem;
  background: #111912;
  color: #f0f1ea;
  font: inherit;
}

.preference-privacy .atlas-secondary-button {
  margin-top: 1.2rem;
  border-color: rgba(217, 237, 114, .5);
  color: var(--atlas-sun);
}

.preference-save-status {
  margin: 0;
  padding: 1rem clamp(1.4rem, 3vw, 2.5rem);
  border-top: 1px solid rgba(255, 255, 255, .1);
  color: #8f9a91;
  font-size: .65rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.profile-account-hub {
  padding: 0 !important;
  overflow: hidden;
  background: var(--atlas-paper-deep);
}

.profile-account-hub > header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1.6rem, 4vw, 3rem);
}

.profile-account-hub > header > span {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .5rem;
}

.profile-account-hub > header > span b {
  padding: .45rem .7rem;
  border: 1px solid var(--atlas-line);
  border-radius: 999px;
  color: var(--atlas-muted);
  font-size: .6rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.account-hub-list { border-top: 1px solid var(--atlas-line); }

.account-hub-list button {
  width: 100%;
  min-height: 5.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.1rem clamp(1.6rem, 4vw, 3rem);
  border: 0;
  border-bottom: 1px solid var(--atlas-line);
  background: transparent;
  color: var(--atlas-ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: padding .25s ease, background .2s ease;
}

.account-hub-list button:hover {
  padding-left: calc(clamp(1.6rem, 4vw, 3rem) + .5rem);
  background: color-mix(in srgb, var(--atlas-signal) 7%, transparent);
}

.account-hub-list button span { display: grid; gap: .25rem; }

.account-hub-list button small {
  color: var(--atlas-signal);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.account-hub-list button b {
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: -.02em;
}

.account-hub-list button svg {
  width: 1.2rem;
  fill: none;
  stroke: currentColor;
}

.profile-account-hub > footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem clamp(1.6rem, 4vw, 3rem);
}

.profile-account-hub > footer button {
  padding: .4rem 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #a8442d;
  cursor: pointer;
  font: inherit;
  font-size: .68rem;
  font-weight: 750;
}

[data-privacy="on"]:not([data-privacy-reveal="on"]) .journal-entry p,
[data-privacy="on"]:not([data-privacy-reveal="on"]) .profile-mirror blockquote,
[data-privacy="on"]:not([data-privacy-reveal="on"]) .chronicle-event p {
  user-select: none;
  filter: blur(7px);
  transition: filter .25s ease;
}

.profile-editor-card,
.account-security-card {
  width: min(780px, 100%);
}

.profile-editor-card > header,
.account-security-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--atlas-line);
}

.profile-editor-card > header p:last-child {
  max-width: 50ch;
  margin: 1rem 0 0;
  color: var(--atlas-muted);
  line-height: 1.55;
}

.overlay-close {
  flex: 0 0 auto;
  width: 2.6rem;
  height: 2.6rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--atlas-line);
  border-radius: 50%;
  background: transparent;
  color: var(--atlas-ink);
  cursor: pointer;
  font: 300 1.5rem/1 inherit;
}

.profile-photo-editor {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.25rem !important;
  align-items: center;
  margin: 0 !important;
  padding: 1.15rem;
  border-radius: 1rem;
  background: var(--atlas-paper-deep);
}

.profile-photo-preview {
  width: 6.5rem;
  height: 6.5rem;
  display: grid !important;
  place-items: center;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 50%;
  background: var(--atlas-forest);
  color: var(--atlas-sun);
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 2.7rem;
}

.profile-photo-editor > div:last-of-type {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem;
}

.profile-photo-editor b,
.profile-photo-editor small { width: 100%; }

.profile-photo-editor small {
  color: var(--atlas-muted);
  line-height: 1.45;
}

.profile-photo-editor .atlas-secondary-button {
  min-height: 2.7rem;
  padding-inline: .9rem;
  font-size: .7rem;
}

.profile-editor-fields,
.security-password-form > div {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 1rem !important;
  margin: 0 !important;
}

.profile-editor-fields label,
.security-password-form label,
.delete-account-card > label {
  display: grid;
  gap: .55rem;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.profile-editor-fields label small {
  color: var(--atlas-muted);
  font-size: .6rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
}

.profile-editor-actions { align-items: center; }

.profile-editor-status {
  min-height: 1rem;
  margin: 0;
  color: var(--atlas-muted);
  font-size: .7rem;
}

.security-identity {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem !important;
  margin: 0 !important;
  padding: 1.2rem;
  border-radius: 1rem;
  background: var(--atlas-forest);
  color: #eff1e9;
}

.security-identity > div:first-child { display: grid; gap: .25rem; }

.security-identity small,
.security-identity span {
  color: #9da99f;
  font-size: .63rem;
}

.security-providers {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .5rem;
}

.security-providers span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .45rem .7rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  color: #e6eae4;
}

.security-providers i {
  width: 1.3rem;
  height: 1.3rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--atlas-sun);
  color: #182019;
  font-style: normal;
  font-weight: 900;
}

.security-password-form {
  display: grid;
  gap: 1rem;
  padding: 1.3rem 0;
  border-top: 1px solid var(--atlas-line);
  border-bottom: 1px solid var(--atlas-line);
}

.security-password-form .atlas-primary-button { justify-self: start; }

.security-provider-note {
  padding: 1.5rem;
  border: 1px solid var(--atlas-line);
  border-radius: 1rem;
}

.security-provider-note h3 {
  margin: .6rem 0;
  font-family: "Iowan Old Style", Georgia, serif;
  font-size: 1.8rem;
  font-weight: 500;
}

.security-provider-note p:last-child { color: var(--atlas-muted); }

.account-security-card > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.account-security-card > footer p {
  max-width: 54ch;
  margin: 0;
  color: var(--atlas-muted);
  font-size: .7rem;
  line-height: 1.5;
}

.delete-account-card {
  width: min(620px, 100%);
  border: 1px solid rgba(239, 107, 61, .42);
}

.delete-account-card > p:not(.atlas-eyebrow) {
  margin: 0;
  color: var(--atlas-muted);
  line-height: 1.6;
}

.delete-account-card aside {
  display: grid;
  gap: .35rem;
  padding: 1rem;
  border-left: 3px solid var(--atlas-signal);
  background: color-mix(in srgb, var(--atlas-signal) 8%, var(--atlas-paper));
  font-size: .72rem;
}

.delete-account-card aside span {
  color: var(--atlas-muted);
  line-height: 1.5;
}

.delete-account-confirm {
  min-height: 3.35rem;
  padding: 0 1.2rem;
  border: 1px solid #9f331c;
  border-radius: 999px;
  background: #9f331c;
  color: #fff5ef;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

[data-theme="dark"] .profile-grid > article:not(.profile-principle):not(.profile-stats):not(.profile-chronicle-card):not(.profile-studio-card):not(.profile-artifacts):not(.profile-membership):not(.profile-preference-center) {
  background-color: #1b221c;
}

[data-theme="dark"] .profile-mirror blockquote,
[data-theme="dark"] .mirror-placeholder { background: #252d26; }

[data-theme="dark"] .coach-pulse-card,
[data-theme="dark"] .momentum-card,
[data-theme="dark"] .journal-entry.is-review,
[data-theme="dark"] .chronicle-momentum,
[data-theme="dark"] .studio-source-desk,
[data-theme="dark"] .studio-source-desk a,
[data-theme="dark"] .guide-resources,
[data-theme="dark"] .resource-stack article {
  background: #222a23;
}

[data-theme="dark"] .resource-stack article:hover {
  background: #2a342c;
}

[data-theme="dark"] .artifact-seal.tone-paper {
  background: #d6d3c8;
}

[data-theme="dark"] .profile-studio-card {
  background:
    repeating-radial-gradient(ellipse at 86% 18%, transparent 0 38px, rgba(21, 24, 20, .15) 39px 40px, transparent 41px 58px),
    #c7da69;
  color: #151814;
}

[data-theme="dark"] .profile-studio-card .atlas-eyebrow { color: #8c341b; }

[data-theme="dark"] .profile-studio-card .atlas-primary-button {
  border-color: #151814;
  background: #151814;
}

[data-theme="dark"] .goal-orbit > span::before { background: var(--atlas-paper); }

[data-theme="dark"] .atlas-noise {
  mix-blend-mode: screen;
  opacity: .025;
}

[data-motion="reduced"] .atlas-view,
[data-motion="reduced"] .overlay-card,
[data-motion="reduced"] .artifact-item,
[data-motion="reduced"] .artifact-seal,
[data-motion="reduced"] .profile-chronicle-rank::before,
[data-motion="reduced"] .profile-chronicle-rank i,
[data-motion="reduced"] .goal-orbit > span::after,
[data-motion="reduced"] .focus-card,
[data-motion="reduced"] .focus-timer.is-running svg {
  animation: none !important;
  transition-duration: .01ms !important;
}

[data-celebrations="off"] .reward-contours,
[data-celebrations="off"] .reward-particles,
[data-celebrations="off"] .completion-burst {
  display: none !important;
}

@keyframes briefing-signal {
  0%, 100% { opacity: .35; transform: scale(.72); }
  48% { opacity: 1; transform: scale(1.15); }
}

@keyframes briefing-stage-enter {
  from { opacity: 0; transform: translate3d(0, 26px, 0) scale(.985); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@media (max-width: 1040px) {
  .briefing-stage,
  .briefing-preview {
    grid-template-columns: .8fr 1.2fr;
    gap: 2.5rem;
  }

  .briefing-blueprint {
    grid-template-columns: 1fr;
  }

  .briefing-blueprint > aside { grid-column: auto; }

  .guide-protocol { grid-template-columns: 1fr; }

  .behavior-curriculum { grid-template-columns: repeat(2, 1fr); }

  .practice-pulse-card { grid-template-columns: 5rem 1fr; }
  .practice-pulse-action { grid-column: 2; min-height: 10rem; padding: 1.25rem 0 0; border-top: 1px solid rgba(21, 24, 20, .16); border-left: 0; }

  .protocol-card { min-height: 23rem; }

  .architect-intro {
    grid-template-columns: .5fr 1.5fr;
  }

  .architect-intro > p:last-child {
    grid-column: 2;
  }

  .focus-stage {
    grid-template-columns: 1fr;
  }

  .focus-map {
    min-height: 22rem;
  }

  .focus-card {
    min-height: 27rem;
  }

  .milestone-ribbon {
    grid-template-columns: 1fr;
    margin-top: 8rem;
  }

  .milestone-stop,
  .milestone-stop:nth-child(2),
  .milestone-stop:nth-child(3) {
    min-height: auto;
    transform: none;
  }

  .milestone-stop:nth-child(2):hover,
  .milestone-stop:nth-child(3):hover {
    transform: translateY(-.3rem);
  }

  .path-canvas > .goal-route-svg {
    opacity: .3;
  }

  .profile-settings {
    grid-template-columns: 1fr 1fr;
  }

  .artifact-shelf {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-chronicle-card { grid-template-columns: auto minmax(0, 1fr); }
  .profile-chronicle-card > button { grid-column: 2; justify-self: start; }

  .chronicle-momentum { grid-template-columns: repeat(3, 1fr); }
  .chronicle-level { grid-column: 1 / -1; min-height: 6.5rem !important; border-top: 1px solid var(--atlas-line); }

  .studio-workbench { grid-template-columns: minmax(12rem, .55fr) minmax(22rem, 1fr); }
  .studio-publish-panel { grid-column: 1 / -1; min-height: 32rem; border-top: 1px solid rgba(255, 255, 255, .12); border-left: 0; }
  .studio-source-desk > div { grid-template-columns: repeat(2, 1fr); }
}

/* Phone */
@media (max-width: 720px) {
  .briefing-screen {
    min-height: 100svh;
    min-height: 100dvh;
    padding: calc(env(safe-area-inset-top) + 1rem) max(1rem, env(safe-area-inset-right)) calc(6.4rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  }

  .briefing-header {
    grid-template-columns: 1fr auto;
  }

  .briefing-header .atlas-wordmark i,
  .briefing-header > small {
    display: none;
  }

  .briefing-progress span { width: 1.3rem; }

  .briefing-form { margin-top: 2.5rem; }

  .briefing-stage,
  .briefing-preview {
    display: block;
  }

  .briefing-stage[hidden] { display: none; }

  .briefing-copy {
    position: static;
    margin-bottom: 2rem;
  }

  .briefing-copy h2 {
    margin-top: .65rem;
    font-size: clamp(3.4rem, 16vw, 5.2rem);
  }

  .briefing-fields {
    padding: 1.1rem;
    border-radius: 1.2rem;
  }

  .briefing-title-field input { font-size: 1.45rem; }

  .briefing-grid { grid-template-columns: 1fr; }

  .briefing-cadence > div { gap: .28rem; }

  .briefing-cadence span {
    min-height: 2.75rem;
    border-radius: .65rem;
    font-size: .75rem;
  }

  .briefing-blueprint { grid-template-columns: 1fr; }

  .blueprint-destination { min-height: 20rem; }

  .briefing-blueprint > aside { grid-column: auto; }

  .briefing-actions {
    right: .65rem;
    bottom: max(.65rem, env(safe-area-inset-bottom));
    left: .65rem;
    grid-template-columns: auto 1fr;
    border-radius: 1.2rem;
  }

  .briefing-actions > span { display: none; }

  .briefing-actions .atlas-primary-button {
    min-height: 3rem;
    padding-inline: .9rem;
    font-size: .72rem;
  }

  .architect-screen {
    min-height: 100dvh;
    padding-inline: 1rem;
  }

  .architect-header .atlas-wordmark i {
    display: none;
  }

  .architect-progress i {
    width: 1rem;
  }

  .architect-progress i.is-active {
    width: 2rem;
  }

  .architect-intro {
    display: block;
    padding: 4rem 0 2rem;
  }

  .architect-intro h2 {
    margin-top: 1rem;
    font-size: clamp(3.5rem, 16vw, 5.2rem);
  }

  .architect-intro > p:last-child {
    margin-top: 1.3rem;
  }

  .architect-stage {
    display: block;
    padding: 2rem 0 8rem;
  }

  .stage-number {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
  }

  .stage-number span {
    font-size: 3rem;
  }

  .stage-number p {
    margin: 0;
  }

  .architect-grid,
  .stage-copy,
  .rhythm-builder {
    grid-template-columns: 1fr;
  }

  .stage-copy {
    gap: 1rem;
  }

  .milestone-builder article,
  .action-builder article {
    grid-template-columns: 1fr;
    gap: .8rem;
  }

  .milestone-builder article:hover,
  .action-builder article:hover {
    transform: none;
  }

  .rhythm-builder > div:first-child,
  .rhythm-builder .architect-cadence {
    grid-column: auto;
  }

  .architect-actions {
    right: .65rem;
    bottom: max(.65rem, env(safe-area-inset-bottom));
    left: .65rem;
    grid-template-columns: auto 1fr;
    border-radius: 1.25rem;
  }

  .architect-actions > span {
    display: none;
  }

  .architect-actions .atlas-primary-button {
    min-height: 3rem;
    padding-inline: 1rem;
    font-size: .75rem;
  }

  .atlas-rail {
    display: none;
  }

  .atlas-main {
    min-height: 100svh;
    min-height: 100dvh;
    margin-left: 0;
    border-radius: 0;
  }

  .atlas-view {
    min-height: 100svh;
    min-height: 100dvh;
    padding: calc(env(safe-area-inset-top) + 1rem) max(1rem, env(safe-area-inset-right)) calc(6.6rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  }

  .view-heading {
    align-items: flex-start;
    gap: 1rem;
  }

  .view-heading h1,
  .profile-hero h1 {
    font-size: clamp(3.25rem, 14vw, 5rem);
  }

  .view-heading-today {
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .goal-orbit > span {
    width: 4rem;
    height: 4rem;
  }

  .goal-orbit > span::before {
    width: 3.45rem;
    height: 3.45rem;
  }

  .goal-orbit > i {
    display: none;
  }

  .focus-stage {
    min-height: auto;
    border-radius: 1.25rem;
  }

  .focus-map {
    min-height: 18rem;
  }

  .goal-destination {
    top: 1rem;
    right: 1rem;
  }

  .focus-card {
    min-height: 29rem;
    margin: .65rem;
    padding: 1.35rem;
  }

  .focus-card h2 {
    font-size: clamp(2.5rem, 12vw, 4rem);
  }

  .focus-card-actions {
    grid-template-columns: 1fr;
  }

  .today-lower-grid,
  .momentum-card,
  .journal-layout,
  .profile-grid,
  .profile-mirror {
    grid-template-columns: 1fr;
  }

  .command-checklist {
    grid-column: auto;
    grid-template-columns: 1fr;
    padding: 1.25rem;
  }

  .command-checklist > header h2 { max-width: 14ch; }

  .command-checklist > header > span { margin: .5rem 0 1rem; }

  .command-checklist > footer {
    grid-column: auto;
    align-items: flex-start;
    flex-direction: column;
  }

  .coach-pulse-card {
    grid-column: auto;
    grid-template-columns: 1fr;
    padding: 1.35rem;
  }

  .coach-pulse-orbit { width: 6rem; height: 6rem; }
  .coach-pulse-copy h2 { font-size: 2.7rem; }
  .coach-pulse-action { min-width: 0; justify-items: start; }

  .guide-heading { display: block; }

  .guide-heading > p { margin-top: 1.3rem; }

  .practice-pulse-card { display: block; }
  .practice-pulse-index { min-height: 5rem; display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding: 0 0 1rem; border-right: 0; border-bottom: 1px solid rgba(21, 24, 20, .16); }
  .practice-pulse-index > span { font-size: 3.5rem; }
  .practice-pulse-copy { padding: 1.5rem 0; }
  .practice-pulse-action { min-height: 0; padding-top: 1rem; }

  .behavior-lab > header { grid-template-columns: 1fr; }
  .behavior-gauge { min-width: 0; text-align: left; }
  .behavior-gauge > span { justify-content: flex-start; }
  .behavior-curriculum { grid-template-columns: 1fr; }
  .behavior-curriculum article { min-height: 20rem; }
  .behavior-boundary { grid-template-columns: 1fr; gap: .35rem; }
  .behavior-boundary b { white-space: normal; }

  .protocol-card { min-height: 25rem; padding: 1.35rem; }

  .protocol-card-primary > div { display: block; }

  .protocol-card-primary > div > span { display: block; margin-top: .5rem; }

  .protocol-card-primary footer { align-items: flex-start; flex-direction: column; }

  .guide-resources > header,
  .evidence-library > header { grid-template-columns: 1fr; }

  .resource-stack { grid-template-columns: 1fr; }

  .resource-stack article { min-height: 16rem; }

  .evidence-list a {
    grid-template-columns: 2rem 1fr;
  }

  .evidence-list b {
    grid-column: 2;
    justify-self: start;
    text-align: left;
  }

  .artifact-signal-card {
    grid-column: auto;
    grid-template-columns: 5.5rem 1fr;
    gap: 1rem;
    padding: 1.25rem;
  }

  .artifact-signal-card .artifact-seal {
    width: 5rem;
    height: 5rem;
  }

  .artifact-signal-card .artifact-seal i svg {
    width: 1.65rem;
    height: 1.65rem;
  }

  .artifact-signal-card .artifact-seal b {
    margin-bottom: .65rem;
    font-size: .46rem;
  }

  .artifact-signal-copy h2 {
    font-size: 2.35rem;
  }

  .artifact-signal-copy > p:last-child {
    display: none;
  }

  .artifact-signal-meta {
    grid-column: 1 / -1;
    min-width: 0;
    grid-template-columns: 1fr auto;
    justify-items: start;
    text-align: left;
  }

  .artifact-signal-meta small {
    display: none;
  }

  .artifact-signal-meta button {
    grid-column: 2;
    grid-row: 1;
    margin-top: 0;
  }

  .momentum-card {
    min-height: 16rem;
  }

  .momentum-story-card { grid-template-columns: 1fr; gap: 1.4rem; }
  .momentum-story-card > button { justify-self: start; }

  .path-heading {
    display: block;
  }

  .path-meta {
    margin-top: 2rem;
  }

  .path-canvas {
    min-height: auto;
    padding: 2rem .7rem;
  }

  .path-canvas > .goal-route-svg {
    inset: 2rem 0 auto;
    width: 100%;
    opacity: .24;
  }

  .milestone-ribbon {
    margin-top: 7rem;
  }

  .path-footer {
    grid-template-columns: 1fr;
  }

  .journal-heading {
    display: block;
  }

  .journal-heading > p {
    margin-top: 1.5rem;
  }

  .journal-composer {
    position: static;
  }

  .journal-composer-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .journal-composer-footer .atlas-primary-button {
    width: 100%;
  }

  .profile-hero {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .profile-monogram,
  .profile-avatar {
    width: 4.4rem;
    height: 4.4rem;
    flex: 0 0 auto;
    font-size: 2rem;
  }

  .profile-avatar i {
    right: .05rem;
    bottom: .1rem;
  }

  .profile-hero > div:nth-child(2) {
    min-width: 0;
    flex: 1;
  }

  .profile-hero h1 {
    overflow-wrap: anywhere;
    font-size: clamp(2.5rem, 13vw, 4rem);
  }

  .profile-hero > .edit-profile {
    width: 100%;
    margin-left: 0;
  }

  .profile-stats {
    min-height: 18rem;
    gap: .45rem;
    padding-inline: 1.3rem;
  }

  .profile-stats strong {
    font-size: 2.5rem;
  }

  .profile-stats span {
    max-width: 8ch;
    font-size: .53rem;
    letter-spacing: .06em;
    line-height: 1.35;
  }

  .profile-chronicle-card { grid-column: auto; grid-template-columns: 1fr; gap: 1.2rem; min-height: 27rem; padding: 1.5rem; }
  .profile-chronicle-rank { width: 6.5rem; }
  .profile-chronicle-card h2 { font-size: 3rem; }
  .profile-chronicle-card > button { grid-column: auto; width: 100%; justify-content: center; }

  .profile-artifacts {
    grid-column: auto;
  }

  .profile-artifacts > header {
    align-items: flex-start;
  }

  .profile-artifacts > header h2 {
    font-size: 3rem;
  }

  .profile-artifacts > header > span {
    display: none;
  }

  .artifact-shelf {
    grid-template-columns: 1fr;
  }

  .artifact-item {
    min-height: 7.5rem;
  }

  .next-artifact {
    grid-template-columns: auto 1fr;
  }

  .next-artifact > p {
    grid-column: 2;
  }

  .profile-mirror {
    grid-column: auto;
  }

  .profile-membership {
    grid-column: auto;
    grid-template-columns: 1fr;
    gap: 1.4rem;
    padding: 1.5rem;
  }

  .membership-orbit {
    width: 5.5rem;
  }

  .profile-membership h2 {
    font-size: 3rem;
  }

  .profile-membership > button,
  .membership-status {
    justify-self: start;
  }

  .upgrade-card > header {
    grid-template-columns: 1fr;
  }

  .upgrade-mark {
    display: none;
  }

  .upgrade-benefits {
    grid-template-columns: 1fr;
  }

  .upgrade-benefits span:nth-child(odd) {
    border-right: 0;
  }

  .upgrade-benefits span:nth-child(even) {
    padding-left: 0;
  }

  .upgrade-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .upgrade-actions button {
    width: 100%;
    justify-content: center;
  }

  .profile-settings {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .profile-settings button {
    justify-content: space-between;
    width: 100%;
  }

  .profile-preference-center,
  .profile-account-hub {
    grid-column: auto;
  }

  .profile-preference-center > header,
  .profile-account-hub > header {
    align-items: flex-start;
    flex-direction: column;
  }

  .profile-preference-center > header h2,
  .profile-account-hub > header h2 {
    font-size: 3.3rem;
  }

  .profile-preference-grid {
    grid-template-columns: 1fr;
  }

  .preference-panel {
    min-height: 0;
  }

  .preference-segments button {
    min-height: 5rem;
    padding: .65rem;
  }

  .profile-account-hub > header > span {
    justify-content: flex-start;
  }

  .account-hub-list button {
    min-height: 5rem;
    padding-inline: 1.3rem;
  }

  .profile-account-hub > footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .profile-editor-card > header,
  .account-security-card > header {
    gap: 1rem;
  }

  .profile-photo-editor {
    grid-template-columns: 1fr;
  }

  .profile-photo-preview {
    width: 5.5rem;
    height: 5.5rem;
  }

  .profile-editor-fields,
  .security-password-form > div {
    grid-template-columns: 1fr;
  }

  .profile-editor-actions,
  .account-security-card > footer,
  .security-identity {
    align-items: stretch;
    flex-direction: column;
  }

  .profile-editor-actions .atlas-primary-button,
  .security-password-form .atlas-primary-button,
  .delete-account-card > div:last-child .delete-account-confirm {
    width: 100%;
  }

  .security-providers {
    justify-content: flex-start;
  }

  .profile-studio-card { min-height: 24rem; align-items: stretch; flex-direction: column; }
  .profile-studio-card .atlas-primary-button { width: 100%; max-width: none; justify-content: center; }

  .studio-heading { align-items: flex-start; flex-direction: column; gap: 1.2rem; }
  .studio-heading h1 { font-size: clamp(3.7rem, 18vw, 5.8rem); }
  .studio-workbench { display: block; overflow: visible; }
  .studio-library { border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  .studio-content-choice { grid-template-columns: 2.4rem 1fr; }
  .studio-preview-stage { min-height: 36rem; }
  .studio-preview-frame svg { max-height: 32rem; }
  .studio-preview-frame.is-story svg { max-height: 34rem; }
  .studio-format-switcher { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); border-radius: .85rem; }
  .studio-format-switcher button { padding: .75rem .35rem; border-radius: .65rem; }
  .studio-publish-panel { min-height: 39rem; }
  .studio-publish-actions { grid-template-columns: 1fr; }
  .studio-publish-actions .share-social-image { grid-column: auto; }
  .studio-source-desk > header { grid-template-columns: 1fr; align-items: start; }
  .studio-source-desk > div { grid-template-columns: 1fr; }
  .studio-source-desk a { min-height: 9rem; }

  .atlas-mobile-nav {
    position: fixed;
    z-index: 18;
    right: .65rem;
    bottom: max(.65rem, env(safe-area-inset-bottom));
    left: .65rem;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    padding: .35rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 1.2rem;
    background: rgba(17, 20, 16, .94);
    box-shadow: 0 16px 45px rgba(0, 0, 0, .25);
    backdrop-filter: blur(22px);
  }

  .atlas-mobile-nav button {
    min-height: 3.6rem;
    padding: .62rem .15rem;
    color: #8c948c;
  }

  .atlas-mobile-nav button b { font-size: .49rem; letter-spacing: .03em; }

  .atlas-mobile-nav button.is-active {
    background: #2b332d;
    color: var(--atlas-sun);
  }

  .overlay-card {
    max-height: calc(100dvh - 2rem);
    overflow: auto;
  }

  .completion-card > div {
    flex-direction: column;
    gap: .5rem;
  }

  .completion-artifact {
    display: grid !important;
  }

  .reward-card {
    max-height: calc(100dvh - 2rem);
    overflow: auto;
    padding: 1.5rem;
    border-radius: 1.25rem;
  }

  .reward-award-stage {
    min-height: 7.5rem;
  }

  .reward-award-stage .artifact-seal {
    width: 7rem;
    height: 7rem;
  }

  .reward-card h2 {
    font-size: clamp(2.8rem, 14vw, 4.4rem);
  }

  .reward-momentum-gain { grid-template-columns: 1fr; text-align: center; }
  .reward-momentum-gain > span { min-width: 0; }

  .reward-card-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .reward-card-footer > div { width: 100%; flex-direction: column; }

  .reward-card-footer .atlas-primary-button,
  .reward-card-footer .atlas-secondary-button {
    width: 100%;
  }

  .reminder-card > header { grid-template-columns: 1fr; }
  .reminder-time { grid-template-columns: 1fr; }
  .reminder-time input { width: 100%; }
  .reminder-days > div { gap: .25rem; }
  .reminder-days span { min-height: 2.7rem; }
  .reminder-card .reminder-actions { align-items: stretch; flex-direction: column-reverse; }
  .reminder-card .reminder-actions .atlas-primary-button { width: 100%; }

  .award-studio-overlay { place-items: start center; }
  .award-studio { max-height: none; grid-template-columns: 1fr; overflow: visible; }
  .award-studio-poster { padding: .7rem; }
  .award-studio-poster svg { width: 100%; height: auto; max-height: 68dvh; }
  .award-studio-controls { padding: 1.5rem; }
  .award-studio-controls h2 { font-size: 3.8rem; }
  .award-studio-controls > div { display: grid; }
  .award-studio-controls .atlas-primary-button,
  .award-studio-controls .atlas-secondary-button { width: 100%; }

  .chronicle-overlay { padding: 0; }
  .chronicle-card { border: 0; border-radius: 0; }
  .chronicle-hero { min-height: 33rem; grid-template-columns: 1fr auto; align-content: center; gap: 1.5rem; padding: 2rem 1.35rem; }
  .chronicle-rank-mark { grid-column: 1; width: 7.5rem; }
  .chronicle-hero > div:nth-child(2) { grid-column: 1 / -1; }
  .chronicle-hero > button { grid-column: 2; grid-row: 1; }
  .chronicle-hero h2 { font-size: clamp(4rem, 20vw, 6rem); }
  .chronicle-momentum { grid-template-columns: repeat(3, 1fr); }
  .chronicle-momentum > div { min-height: 7rem; padding: 1.1rem .75rem; }
  .chronicle-momentum strong { font-size: 2.5rem; }
  .chronicle-momentum > div > span { letter-spacing: .05em; }
  .chronicle-level { grid-column: 1 / -1; padding-inline: 1.25rem !important; }
  .chronicle-story { padding: 2.3rem 1.25rem; }
  .chronicle-story > header { display: block; }
  .chronicle-story > header > span { display: block; margin-top: 1rem; text-align: left; }
  .chronicle-story h3 { font-size: 3.2rem; }
  .chronicle-stream::before { left: .38rem; }
  .chronicle-event { grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; }
  .chronicle-event-code { justify-content: flex-start; padding: 0; }
  .chronicle-event-code span { display: none; }
  .chronicle-event-code i { top: .5rem; right: auto; left: 0; }
  .chronicle-card > footer { align-items: stretch; flex-direction: column; padding: 1.4rem 1.25rem calc(1.4rem + env(safe-area-inset-bottom)); }
  .chronicle-card > footer > div { align-items: stretch; flex-direction: column-reverse; }
  .chronicle-card > footer .atlas-primary-button { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .architect-ambient,
  .briefing-ambient,
  .completion-burst,
  .reward-contours,
  .reward-particles {
    display: none;
  }

  .coach-pulse-orbit i,
  .award-studio,
  .chronicle-card,
  .chronicle-event,
  .chronicle-rank-mark::before,
  .chronicle-rank-mark i,
  .profile-chronicle-rank::before,
  .profile-chronicle-rank i,
  .studio-preview-frame svg {
    animation: none !important;
  }

  .architect-stage,
  .briefing-stage,
  .atlas-view,
  .overlay-card,
  .completion-card,
  .reward-card,
  .artifact-item,
  .artifact-seal,
  .artifact-signal-seal,
  .momentum-bars i,
  .momentum-rank-progress > i b,
  .reward-momentum-gain > span,
  .reward-momentum-gain i b,
  .chronicle-level > i b,
  .goal-route-svg .route-progress,
  .goal-route-svg .route-bearing,
  .goal-orbit > span::after,
  .focus-card,
  .focus-timer.is-running svg,
  .atlas-rail nav button.is-active span,
  .atlas-mobile-nav button.is-active span {
    animation: none !important;
  }
}
