/* [project]/src/app/globals.css [app-client] (css) */
:root {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  --bg: #0a0709;
  --bg-start: #070507;
  --bg-mid: #150d12;
  --bg-end: #090708;
  --glow-one: #8e1f352e;
  --glow-two: #4a2c5424;
  --grid-one: #e2d1bb05;
  --grid-two: #e2d1bb03;
  --slash-glow: #c1435b0b;
  --panel: #191216e0;
  --panel-strong: #28191ff5;
  --line: #e5d5bf29;
  --text: #f4eadb;
  --muted: #b9a99d;
  --faint: #7f7169;
  --red: #8e1f35;
  --red-bright: #c1435b;
  --bone: #e2d1bb;
  --silver: #b9bbc7;
  --purple: #4a2c54;
}

:root[data-theme="studio-fog"] {
  --bg: #070a0b;
  --bg-start: #06090a;
  --bg-mid: #111617;
  --bg-end: #080808;
  --glow-one: #5e79772e;
  --glow-two: #7e2a3b1a;
  --grid-one: #ced9cb04;
  --grid-two: #aebebb03;
  --slash-glow: #708c860c;
  --panel: #0f1616e6;
  --panel-strong: #182221f7;
  --line: #cddacb26;
  --text: #edf1e7;
  --muted: #aeb8ad;
  --faint: #77827c;
  --red: #7e2a3b;
  --red-bright: #c25367;
  --bone: #dbe2d3;
  --silver: #b8c7c8;
  --purple: #3d4456;
}

:root[data-theme="silver-mirror"] {
  --bg: #08090d;
  --bg-start: #06070b;
  --bg-mid: #131520;
  --bg-end: #09080d;
  --glow-one: #a6aebf24;
  --glow-two: #762e4d21;
  --grid-one: #dee1e705;
  --grid-two: #dcd2da03;
  --slash-glow: #b4bed20b;
  --panel: #12131be6;
  --panel-strong: #1d1e2af7;
  --line: #dce0e929;
  --text: #f1eef2;
  --muted: #b8b4bf;
  --faint: #77717f;
  --red: #7b294f;
  --red-bright: #d05a8a;
  --bone: #e3e1e8;
  --silver: #cad0dd;
  --purple: #372d53;
}

:root[data-theme="candle-bone"] {
  --bg: #100a07;
  --bg-start: #0b0806;
  --bg-mid: #1a120d;
  --bg-end: #090706;
  --glow-one: #9b452a29;
  --glow-two: #4246531f;
  --grid-one: #eddabc04;
  --grid-two: #e4c29d03;
  --slash-glow: #cc75470c;
  --panel: #1d1510e6;
  --panel-strong: #2b1f17f7;
  --line: #e8cea929;
  --text: #f2e7d6;
  --muted: #c4ad93;
  --faint: #8a7663;
  --red: #8a2f36;
  --red-bright: #d36d55;
  --bone: #ead8bd;
  --silver: #b7b0a6;
  --purple: #3b3346;
}

* {
  box-sizing: border-box;
}

html, body {
  background: radial-gradient(circle at 18% 12%, var(--glow-one), transparent 28rem),
    radial-gradient(circle at 78% 0%, var(--glow-two), transparent 26rem),
    linear-gradient(135deg, var(--bg-start) 0%, var(--bg-mid) 48%, var(--bg-end) 100%);
  min-height: 100%;
  color: var(--text);
  margin: 0;
  font-family: ui-serif, Georgia, Cambria, Times New Roman, Times, serif;
  overflow-x: hidden;
}

body:before {
  content: "";
  z-index: -1;
  pointer-events: none;
  background: repeating-linear-gradient(90deg, var(--grid-one) 0 1px, transparent 1px 28px),
    repeating-linear-gradient(0deg, var(--grid-two) 0 1px, transparent 1px 18px),
    linear-gradient(115deg, transparent 0 55%, var(--slash-glow) 55% 56%, transparent 56% 100%);
  opacity: .72;
  position: fixed;
  inset: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

button, input, textarea, select {
  font: inherit;
}

input, select {
  border: 1px solid var(--line);
  width: 100%;
  min-height: 40px;
  color: var(--text);
  background: #ffffff0a;
  padding: 0 10px;
}

pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
  color: var(--muted);
  margin: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .84rem;
  line-height: 1.62;
}

.app-shell {
  min-height: 100vh;
  padding: 22px;
}

.topbar {
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  max-width: 1180px;
  margin: 0 auto 18px;
  padding: 8px 0 10px;
  display: flex;
}

.brand, .topbar-actions, .theme-mode-switcher, .nav-links, .nav-links a, .panel-kicker, .date-line, .date-pill, .primary-action {
  align-items: center;
  display: inline-flex;
}

.brand {
  color: var(--bone);
  letter-spacing: .08em;
  text-transform: uppercase;
  gap: 10px;
  font-size: 1.12rem;
}

.brand span {
  gap: 1px;
  display: grid;
}

.brand small {
  color: var(--muted);
  letter-spacing: .18em;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .58rem;
  font-weight: 500;
}

.topbar-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.theme-mode-switcher {
  border: 1px solid var(--line);
  background: #ffffff09;
  gap: 4px;
  padding: 5px;
}

.theme-mode-button {
  width: 34px;
  height: 34px;
  color: var(--muted);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  place-items: center;
  padding: 0;
  display: inline-grid;
  position: relative;
}

.theme-mode-button:hover, .theme-mode-button[aria-pressed="true"] {
  color: var(--text);
  background: #ffffff0e;
  border-color: #e2d1bb33;
}

.theme-mode-button[aria-pressed="true"]:after {
  content: "";
  background: var(--red-bright);
  width: 4px;
  height: 4px;
  position: absolute;
  bottom: 5px;
  right: 5px;
}

.theme-swatch {
  opacity: .34;
  position: absolute;
  inset: 5px;
}

.theme-swatch-blood-altar {
  background: linear-gradient(135deg, #12080c, #8e1f35 58%, #e2d1bb);
}

.theme-swatch-studio-fog {
  background: linear-gradient(135deg, #071012, #56716c 55%, #c25367);
}

.theme-swatch-silver-mirror {
  background: linear-gradient(135deg, #08090d, #cad0dd 52%, #7b294f);
}

.theme-swatch-candle-bone {
  background: linear-gradient(135deg, #100a07, #d36d55 55%, #ead8bd);
}

.theme-mode-button svg {
  z-index: 1;
  position: relative;
}

.familiar-control {
  align-items: stretch;
  display: inline-flex;
  position: relative;
}

.familiar-toggle {
  border: 1px solid var(--line);
  width: 46px;
  height: 46px;
  color: var(--muted);
  cursor: pointer;
  background: #ffffff09;
  place-items: center;
  display: inline-grid;
}

.familiar-picker-button {
  border: 1px solid var(--line);
  min-width: 74px;
  height: 46px;
  color: var(--muted);
  cursor: pointer;
  background: #ffffff08;
  border-left: 0;
  padding: 0 10px;
  font-size: .72rem;
}

.familiar-toggle:hover, .familiar-toggle[aria-pressed="true"], .familiar-picker-button:hover, .familiar-picker-button[aria-expanded="true"] {
  color: var(--text);
  background: #ffffff0f;
  border-color: #c1435b61;
}

.familiar-toggle[aria-pressed="true"] {
  box-shadow: inset 0 -2px 0 var(--red-bright);
}

.familiar-picker {
  z-index: 70;
  background: #0a0709f0;
  border: 1px solid #e5d5bf29;
  border-radius: 7px;
  gap: 7px;
  min-width: 230px;
  padding: 9px;
  display: grid;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  box-shadow: 0 16px 42px #00000059;
}

.familiar-picker-option {
  min-height: 48px;
  color: var(--bone);
  text-align: left;
  cursor: pointer;
  background: #ffffff06;
  border: 1px solid #e5d5bf1a;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 2px 10px;
  padding: 7px;
  display: grid;
}

.familiar-picker-option[aria-checked="true"] {
  background: #c1435b1a;
  border-color: #c1435b70;
}

.familiar-picker-preview {
  grid-row: span 2;
  place-items: center;
  width: 34px;
  height: 34px;
  display: grid;
}

.familiar-picker-preview span {
  background: linear-gradient(145deg, #c1435b6b, #0b070af5);
  border: 1px solid #e2d1bb57;
  border-radius: 48% 52% 44% 46%;
  width: 26px;
  height: 21px;
}

.familiar-picker-option strong {
  font-size: .8rem;
}

.familiar-picker-option small {
  color: var(--muted);
  font-size: .7rem;
}

.page-familiar {
  z-index: 50;
  pointer-events: none;
  place-items: center;
  width: 96px;
  height: 86px;
  transition: left 1.1s cubic-bezier(.2, .85, .22, 1), top 1.1s cubic-bezier(.2, .85, .22, 1), transform .24s;
  display: grid;
  position: fixed;
  transform: translate(-50%, -50%);
}

.familiar-creature, .familiar-dismiss, .familiar-inspector {
  pointer-events: auto;
}

.familiar-creature {
  width: 62px;
  height: 52px;
  color: inherit;
  cursor: pointer;
  touch-action: none;
  background: none;
  border: 0;
  position: relative;
}

.familiar-creature:focus-visible, .familiar-dismiss:focus-visible, .familiar-toggle:focus-visible {
  outline: 2px solid var(--red-bright);
  outline-offset: 3px;
}

.familiar-shadow {
  filter: blur(3px);
  background: #00000057;
  border-radius: 999px;
  height: 9px;
  position: absolute;
  bottom: 2px;
  left: 9px;
  right: 9px;
}

.familiar-body {
  background: radial-gradient(circle at 64% 38%, #e2d1bb33, #0000 .42rem), linear-gradient(145deg, #c1435b6b, #0b070af5 54%, #e2d1bb1f);
  border: 1px solid #e2d1bb6b;
  border-radius: 48% 52% 44% 46%;
  width: 46px;
  height: 36px;
  position: absolute;
  bottom: 8px;
  left: 8px;
  box-shadow: 0 8px 22px #00000057, inset 0 0 18px #ffffff0d;
}

.familiar-ear {
  background: #0e090cf5;
  border: 1px solid #e2d1bb57;
  width: 16px;
  height: 17px;
  position: absolute;
  top: -9px;
  transform: rotate(45deg);
}

.familiar-ear-left {
  border-radius: 60% 10% 48%;
  left: 6px;
}

.familiar-ear-right {
  border-radius: 10% 60% 10% 48%;
  right: 7px;
}

.familiar-tail {
  transform-origin: 0 100%;
  border-top: 2px solid #c1435bb8;
  border-bottom: 0;
  border-left: 0;
  border-right: 2px solid #c1435bb8;
  border-radius: 0 80% 0 0;
  width: 27px;
  height: 20px;
  animation: 1.9s ease-in-out infinite familiar-tail;
  position: absolute;
  bottom: 19px;
  right: 3px;
}

.familiar-face {
  justify-content: space-between;
  display: flex;
  position: absolute;
  inset: 11px 10px auto;
}

.familiar-eye {
  background: var(--bone);
  border-radius: 999px;
  width: 5px;
  height: 8px;
  animation: 5.6s infinite familiar-blink;
  box-shadow: 0 0 8px #e2d1bb85;
}

.familiar-spark {
  border: 1px solid var(--bone);
  opacity: 0;
  width: 5px;
  height: 5px;
  position: absolute;
  transform: rotate(45deg);
}

.familiar-spark-one {
  top: 5px;
  right: -8px;
}

.familiar-spark-two {
  top: 21px;
  left: -8px;
}

.familiar-wing, .familiar-crown {
  pointer-events: none;
  opacity: 0;
  position: absolute;
}

.familiar-pet-saffron .familiar-body, .familiar-picker-option.familiar-pet-saffron .familiar-picker-preview span {
  background: radial-gradient(circle at 62% 38%, #fff5c26b, #0000 .45rem), linear-gradient(145deg, #dd9e3ddb, #421f08fa 58%, #ffe7a647);
  border-radius: 48% 52% 58% 42%;
}

.familiar-pet-saffron .familiar-wing {
  opacity: 1;
  background: radial-gradient(circle at 50% 30%, #ffdd9347, #69320e14);
  border: 1px solid #ffdb8b4d;
  width: 25px;
  height: 34px;
  top: 7px;
}

.familiar-pet-saffron .familiar-wing-left {
  border-radius: 70% 28% 70% 30%;
  left: 4px;
  transform: rotate(-18deg);
}

.familiar-pet-saffron .familiar-wing-right {
  border-radius: 28% 70% 30%;
  right: 4px;
  transform: rotate(18deg);
}

.familiar-pet-saffron .familiar-ear, .familiar-pet-saffron .familiar-tail {
  opacity: 0;
}

.familiar-pet-fig .familiar-body, .familiar-picker-option.familiar-pet-fig .familiar-picker-preview span {
  background: radial-gradient(circle at 62% 36%, #d9f4ae57, #0000 .5rem), linear-gradient(145deg, #47794ee0, #0d1f16fa 58%, #cbda9f2e);
  border-radius: 54% 46% 58% 42%;
  width: 43px;
  height: 42px;
}

.familiar-pet-fig .familiar-ear {
  background: #305d39f5;
  border-radius: 80% 10%;
  width: 13px;
  height: 21px;
  top: -5px;
}

.familiar-pet-fig .familiar-tail {
  border-color: #a9ca78b3;
  width: 21px;
  height: 24px;
  bottom: 28px;
  right: 0;
  transform: rotate(-32deg);
}

.familiar-pet-lumen .familiar-body, .familiar-picker-option.familiar-pet-lumen .familiar-picker-preview span {
  background: radial-gradient(circle at 42% 34%, #ffffffb8, #0000 .48rem), linear-gradient(145deg, #dae0ddc7, #3d4653f5 58%, #b3dadd38);
  border-radius: 999px;
  box-shadow: 0 8px 22px #00000057, 0 0 20px #cee4e438, inset 0 0 18px #ffffff14;
}

.familiar-pet-lumen .familiar-ear, .familiar-pet-lumen .familiar-tail {
  opacity: 0;
}

.familiar-pet-lumen .familiar-crown {
  opacity: 1;
  border: 1px solid #d9e7e573;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  top: -7px;
  left: 18px;
  box-shadow: 0 0 18px #d1e5e338;
}

.familiar-whisper {
  min-width: 150px;
  max-width: 190px;
  color: var(--muted);
  text-align: center;
  opacity: 0;
  pointer-events: none;
  background: #0a0709d1;
  border: 1px solid #e5d5bf24;
  padding: 6px 8px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .68rem;
  line-height: 1.25;
  transition: opacity .2s, transform .2s;
  position: absolute;
  left: 50%;
}

.page-familiar-speak-above .familiar-whisper {
  bottom: calc(100% + 8px);
  transform: translate(-50%, 4px);
}

.page-familiar-speak-below .familiar-whisper {
  top: calc(100% + 8px);
  transform: translate(-50%, -4px);
}

.page-familiar:hover .familiar-whisper, .page-familiar-speaking .familiar-whisper, .page-familiar-romp .familiar-whisper, .page-familiar-pleased .familiar-whisper, .page-familiar-startled .familiar-whisper {
  opacity: 1;
}

.page-familiar-speak-above:hover .familiar-whisper, .page-familiar-speak-above.page-familiar-speaking .familiar-whisper, .page-familiar-speak-above.page-familiar-romp .familiar-whisper, .page-familiar-speak-above.page-familiar-pleased .familiar-whisper, .page-familiar-speak-above.page-familiar-startled .familiar-whisper, .page-familiar-speak-below:hover .familiar-whisper, .page-familiar-speak-below.page-familiar-speaking .familiar-whisper, .page-familiar-speak-below.page-familiar-romp .familiar-whisper, .page-familiar-speak-below.page-familiar-pleased .familiar-whisper, .page-familiar-speak-below.page-familiar-startled .familiar-whisper {
  transform: translate(-50%);
}

.familiar-dismiss {
  width: 20px;
  height: 20px;
  color: var(--muted);
  opacity: 0;
  cursor: pointer;
  background: #0c080ac2;
  border: 1px solid #e5d5bf24;
  border-radius: 50%;
  place-items: center;
  transition: opacity .2s;
  display: grid;
  position: absolute;
  top: 0;
  right: 2px;
}

.page-familiar:hover .familiar-dismiss {
  opacity: 1;
}

.page-familiar-romp {
  animation: .9s familiar-hop;
}

.page-familiar-pleased .familiar-body {
  animation: .34s ease-in-out 4 familiar-purr;
}

.page-familiar-pleased .familiar-spark {
  animation: 1.1s ease-out familiar-spark;
}

.page-familiar-soothed .familiar-body {
  animation: .72s ease-in-out 3 familiar-purr;
}

.page-familiar-curious .familiar-body {
  box-shadow: 0 8px 22px #00000057, 0 0 16px #e2d1bb29, inset 0 0 18px #ffffff0d;
}

.page-familiar-wary .familiar-body {
  background: radial-gradient(circle at 64% 38%, #e2d1bb2e, #0000 .42rem), linear-gradient(145deg, #c1435b9e, #0b070afa 56%, #e2d1bb17);
}

.page-familiar-sleepy .familiar-eye {
  animation: none;
  transform: scaleY(.45);
}

.page-familiar-startled {
  animation: .38s familiar-startle;
}

.page-familiar-held, .page-familiar-thrown {
  transition: transform .16s;
}

.page-familiar-held .familiar-creature {
  cursor: grabbing;
}

.page-familiar-held .familiar-body {
  animation: .22s ease-in-out infinite familiar-struggle;
}

.page-familiar-thrown .familiar-body {
  animation: .5s linear infinite familiar-tumble;
}

.familiar-inspector {
  width: 230px;
  color: var(--bone);
  background: #0a0709eb;
  border: 1px solid #e5d5bf2e;
  border-radius: 7px;
  padding: 12px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 16px 40px #00000057;
}

.page-familiar-inspector-right .familiar-inspector {
  left: calc(100% + 12px);
}

.page-familiar-inspector-left .familiar-inspector {
  right: calc(100% + 12px);
}

.familiar-inspector-heading {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  display: flex;
}

.familiar-inspector-heading strong {
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: .82rem;
}

.familiar-inspector-heading button {
  width: 22px;
  height: 22px;
  color: var(--muted);
  cursor: pointer;
  background: #ffffff0a;
  border: 1px solid #e5d5bf29;
  border-radius: 50%;
  place-items: center;
  display: grid;
}

.familiar-stat-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.familiar-stat-grid span, .familiar-queue-grid span {
  background: #ffffff08;
  border: 1px solid #e5d5bf1a;
  min-width: 0;
  padding: 7px;
}

.familiar-stat-grid small {
  color: var(--muted);
  font-size: .68rem;
  display: block;
}

.familiar-stat-grid strong {
  margin-top: 2px;
  font-size: .9rem;
  display: block;
}

.familiar-queue-grid {
  color: var(--muted);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 8px;
  font-size: .72rem;
  display: grid;
}

.familiar-inspector p {
  color: var(--muted);
  margin: 9px 0 0;
  font-size: .74rem;
}

@keyframes familiar-tail {
  0%, 100% {
    transform: rotate(-8deg);
  }

  50% {
    transform: rotate(16deg);
  }
}

@keyframes familiar-blink {
  0%, 94%, 100% {
    transform: scaleY(1);
  }

  96% {
    transform: scaleY(.12);
  }
}

@keyframes familiar-hop {
  0%, 100% {
    transform: translate(-50%, -50%);
  }

  35% {
    transform: translate(-50%, -74%)rotate(-5deg);
  }

  70% {
    transform: translate(-50%, -48%)rotate(4deg);
  }
}

@keyframes familiar-purr {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-2px);
  }
}

@keyframes familiar-struggle {
  0%, 100% {
    transform: translateX(-1px)rotate(-3deg);
  }

  50% {
    transform: translateX(2px)rotate(4deg);
  }
}

@keyframes familiar-tumble {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes familiar-startle {
  0%, 100% {
    transform: translate(-50%, -50%);
  }

  30% {
    transform: translate(-50%, -50%)rotate(-12deg)scale(1.05);
  }

  60% {
    transform: translate(-50%, -50%)rotate(9deg)scale(.96);
  }
}

@keyframes familiar-spark {
  0% {
    opacity: 0;
    transform: rotate(45deg)scale(.2);
  }

  35% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: rotate(45deg)translateY(-16px)scale(1);
  }
}

.nav-links {
  border: 1px solid var(--line);
  background: #ffffff09;
  gap: 6px;
  padding: 5px;
}

.nav-links a {
  min-height: 36px;
  color: var(--muted);
  gap: 7px;
  padding: 0 12px;
  font-size: .9rem;
}

.nav-links a:hover {
  color: var(--text);
  background: #ffffff0e;
}

.page-grid {
  grid-template-columns: minmax(440px, 1.48fr) minmax(250px, .72fr);
  gap: 16px;
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
}

.page-grid > *, .method-grid > *, .feature-detail-grid > *, .feature-card > *, .oracle-card, .side-panel, .archive-item {
  min-width: 0;
}

.command-panel, .oracle-card, .side-panel, .method-card, .archive-item, .empty-state {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 6px;
  box-shadow: 0 24px 70px #00000052;
}

.command-panel, .side-panel, .method-card, .empty-state {
  padding: 22px;
}

.command-panel {
  background: repeating-linear-gradient(90deg, #ffffff08 0 1px, transparent 1px 18px),
    var(--panel);
  grid-column: 1 / -1;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 14px 18px;
  display: flex;
}

.today-object .command-panel, .today-object .oracle-card, .today-object .side-panel {
  box-shadow: 0 18px 54px #00000040;
}

.command-actions {
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  min-width: min(100%, 640px);
  display: flex;
}

.today-status {
  min-width: 260px;
  max-width: 360px;
  color: var(--bone);
  background: #ffffff09;
  border: 1px solid #e2d1bb24;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  display: grid;
}

.today-status svg {
  color: var(--red-bright);
}

.today-status-warn {
  background: #8e1f3524;
  border-color: #f2a8b557;
}

.today-status span {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .68rem;
  display: block;
}

.today-status p {
  color: var(--bone);
  margin: 2px 0 0;
  font-size: .84rem;
  line-height: 1.35;
}

.eyebrow, .date-pill, .lens-row span, .tag-row span, .reflection-box span {
  color: var(--muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .76rem;
}

.command-panel h1, .entry-header h2, .page-heading h1, .empty-state h2 {
  letter-spacing: 0;
  margin: 0;
  line-height: 1.16;
}

.page-heading p, .empty-state p, .archive-item p, .lens-row p, .muted-copy {
  color: var(--muted);
  line-height: 1.7;
}

.command-panel h1 {
  color: var(--bone);
  font-size: 1.25rem;
}

.date-line {
  color: var(--muted);
  letter-spacing: .04em;
  gap: 7px;
  margin-top: 8px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .78rem;
}

.date-line svg {
  color: var(--red-bright);
}

.first-run-date, .archive-detail-date {
  margin-top: 0;
}

.primary-action {
  background: linear-gradient(135deg, var(--red), #32111c);
  width: auto;
  min-width: 190px;
  min-height: 48px;
  color: var(--text);
  cursor: pointer;
  border: 1px solid #e2d1bb57;
  border-radius: 4px;
  justify-content: center;
  gap: 10px;
}

.primary-action:hover {
  filter: brightness(1.08);
  border-color: #e2d1bba3;
}

.primary-action:disabled, .primary-action[aria-disabled="true"] {
  cursor: wait;
  opacity: .66;
  filter: saturate(.7);
}

.secondary-action, .icon-button {
  border: 1px solid var(--line);
  color: var(--bone);
  cursor: pointer;
  background: #ffffff0b;
  border-radius: 4px;
}

.secondary-action {
  min-height: 44px;
  padding: 0 16px;
}

.icon-button {
  flex: none;
  place-items: center;
  width: 38px;
  height: 38px;
  display: inline-grid;
}

.secondary-action:hover, .icon-button:hover {
  background: #ffffff13;
  border-color: #e2d1bb6b;
}

.spin-icon {
  animation: .9s linear infinite spin;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes slow-spin {
  to {
    transform: rotate(360deg);
  }
}

.oracle-card {
  min-height: 620px;
  padding: 18px 18px 20px;
  overflow: hidden;
}

.entry-detail-card {
  max-width: 820px;
  min-height: auto;
}

.entry-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 4px 4px 14px;
  display: flex;
}

.entry-header h2 {
  font-size: 1.42rem;
}

.date-pill {
  border: 1px solid var(--line);
  background: #ffffff0a;
  flex: none;
  gap: 7px;
  padding: 8px 10px;
}

.meta-strip {
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  display: flex;
}

.meta-strip span {
  max-width: 100%;
  color: var(--muted);
  overflow-wrap: anywhere;
  text-transform: uppercase;
  letter-spacing: .08em;
  background: #ffffff09;
  border: 1px solid #e2d1bb24;
  padding: 5px 7px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .7rem;
  line-height: 1.2;
}

.image-altar {
  background: linear-gradient(135deg, #42161ff0, #1b121cf5), #100b0e;
  border: 1px solid #e2d1bb24;
  border-radius: 4px;
  place-items: center;
  width: 100%;
  min-height: 210px;
  margin-bottom: 18px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.image-altar-ready {
  aspect-ratio: 16 / 9;
  background: #100b0e;
  min-height: 0;
}

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

.current-sky-card {
  background: radial-gradient(circle at 20% 12%, #c1435b29, #0000 30%), linear-gradient(135deg, #ffffff0b, #ffffff05);
  border: 1px solid #e2d1bb29;
  border-radius: 4px;
  gap: 14px;
  margin: 0 0 18px;
  padding: 16px;
  display: grid;
}

.current-sky-heading, .current-sky-layout {
  gap: 16px;
  display: flex;
}

.current-sky-heading {
  border-bottom: 1px solid #e2d1bb1a;
  justify-content: space-between;
  align-items: end;
  padding-bottom: 12px;
}

.current-sky-heading h3 {
  color: var(--bone);
  margin: 3px 0 0;
  font-size: 1.04rem;
  line-height: 1.2;
}

.current-sky-heading > span, .moon-phase-card span, .sky-transit-note span {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .7rem;
}

.current-sky-layout {
  align-items: stretch;
}

.current-sky-wheel {
  flex: 0 0 min(340px, 46%);
  margin: 0;
}

.current-sky-wheel svg {
  width: 100%;
  height: auto;
  display: block;
}

.current-sky-wheel figcaption {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: 8px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .68rem;
  line-height: 1.4;
}

.sky-ring {
  fill: none;
  stroke: #e2d1bb38;
  stroke-width: 1px;
}

.sky-ring-middle {
  stroke: #c1435b47;
}

.sky-ring-inner {
  stroke: #e2d1bb1f;
  stroke-dasharray: 3 8;
}

.sky-zodiac-line, .sky-body-thread {
  stroke: #e2d1bb2e;
  stroke-width: 1px;
}

.sky-body-thread {
  stroke: #c1435b57;
}

.sky-sign {
  fill: #e2d1bb94;
  letter-spacing: .14em;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: 9px;
  font-weight: 700;
}

.sky-body-orb {
  fill: #0d090bb8;
  stroke: #e2d1bb4d;
  stroke-width: 1px;
  transition: fill .14s, stroke .14s, transform .14s;
}

.sky-body-dot {
  fill: var(--red-bright);
  stroke: #0d090be0;
  stroke-width: 2px;
}

.sky-body-button {
  width: 100%;
  height: 100%;
  color: var(--bone);
  cursor: pointer;
  letter-spacing: .06em;
  background: #0d090bc7;
  border: 1px solid #e2d1bb33;
  place-items: center;
  padding: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .58rem;
  font-weight: 800;
  line-height: 1;
  display: grid;
}

.sky-body-button:hover, .sky-body-button:focus, .sky-body.is-selected .sky-body-button {
  background: #c1435b3d;
  border-color: #c1435bc7;
  outline: none;
}

.sky-body.is-selected .sky-body-orb {
  fill: #c1435b2e;
  stroke: #c1435bd9;
}

.sky-body:has(.sky-body-button:hover) .sky-body-orb {
  fill: #c1435b2e;
  stroke: #c1435bd9;
}

.sky-body:has(.sky-body-button:focus) .sky-body-orb {
  fill: #c1435b2e;
  stroke: #c1435bd9;
}

.sky-body.is-selected .sky-body-thread {
  stroke: #e2d1bb9e;
}

.sky-body.is-selected .sky-body-button {
  fill: #fff4e5;
}

.sky-body-sun .sky-body-dot {
  fill: #f0b85e;
}

.selected-sky-body {
  background: linear-gradient(90deg, #c1435b21, #0000 55%), #ffffff08;
  border: 1px solid #c1435b5c;
  gap: 7px;
  padding: 12px;
  display: grid;
}

.selected-sky-body span {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .7rem;
}

.selected-sky-body strong {
  color: var(--bone);
  font-size: 1.04rem;
  line-height: 1.1;
}

.selected-sky-body em {
  color: var(--red-bright);
  letter-spacing: .14em;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .72rem;
  font-style: normal;
}

.selected-sky-body p {
  color: var(--muted);
  margin: 0;
  line-height: 1.48;
}

.current-sky-details {
  flex: 1;
  align-content: start;
  gap: 12px;
  min-width: 0;
  display: grid;
}

.moon-phase-card, .sky-transit-note {
  background: #ffffff08;
  border: 1px solid #e2d1bb1f;
  gap: 6px;
  padding: 12px;
  display: grid;
}

.moon-phase-card strong {
  color: var(--bone);
  font-size: 1.02rem;
  line-height: 1.1;
}

.moon-phase-card p, .sky-transit-note p {
  color: var(--muted);
  margin: 0;
  line-height: 1.48;
}

.sky-placement-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.sky-placement-grid button {
  min-width: 0;
  color: inherit;
  cursor: pointer;
  text-align: left;
  background: #ffffff07;
  border: 1px solid #e2d1bb1a;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 8px;
  padding: 9px;
  transition: border-color .14s, background .14s;
  display: grid;
}

.sky-placement-grid button:hover, .sky-placement-grid button:focus, .sky-placement-grid button.is-selected {
  background: #c1435b1c;
  border-color: #c1435b8f;
  outline: none;
}

.sky-placement-grid span {
  color: var(--red-bright);
  letter-spacing: .08em;
  grid-row: span 2;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
}

.sky-placement-grid strong {
  min-width: 0;
  color: var(--bone);
  font-size: .86rem;
  line-height: 1.1;
}

.sky-placement-grid p {
  color: var(--muted);
  margin: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .72rem;
  line-height: 1.2;
}

.image-state {
  z-index: 1;
  max-width: min(520px, 100% - 36px);
  color: var(--bone);
  background: #0a07099e;
  border: 1px solid #e2d1bb29;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  display: inline-flex;
  position: relative;
}

.image-state p {
  overflow-wrap: anywhere;
  margin: 0;
}

.image-state span {
  color: var(--muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 3px;
  font-size: .68rem;
  display: block;
}

.image-altar p {
  z-index: 1;
  color: var(--bone);
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: .82rem;
}

.image-altar-pending .talisman-frame {
  animation: 14s linear infinite slow-spin;
}

.image-altar-error {
  min-height: 150px;
}

.talisman-art {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.talisman-art:before {
  content: "";
  background: repeating-linear-gradient(90deg, #e2d1bb0b 0 1px, #0000 1px 24px), repeating-linear-gradient(0deg, #e2d1bb08 0 1px, #0000 1px 12px);
  position: absolute;
  inset: 0;
  -webkit-mask-image: radial-gradient(circle, #000 0 62%, #0000 83%);
  mask-image: radial-gradient(circle, #000 0 62%, #0000 83%);
}

.talisman-frame, .talisman-moon, .talisman-blade, .talisman-thread {
  display: block;
  position: absolute;
}

.talisman-frame {
  aspect-ratio: 1;
  border: 1px solid #e2d1bb47;
  width: min(52vw, 310px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)rotate(42deg);
}

.talisman-frame:before, .talisman-frame:after {
  content: "";
  border: 1px solid #c1435b4d;
  position: absolute;
}

.talisman-frame:before {
  inset: 17%;
  transform: rotate(17deg);
}

.talisman-frame:after {
  border-color: #b9bbc738;
  inset: 34%;
  transform: rotate(-31deg);
}

.talisman-moon {
  aspect-ratio: 1;
  border: 1px solid #e2d1bb3d;
  border-radius: 50%;
  width: 68px;
  top: 24%;
  left: 22%;
  box-shadow: inset 14px 0 #e2d1bb1f;
}

.talisman-blade {
  background: #e2d1bb57;
  width: 92px;
  height: 1px;
  bottom: 21%;
  right: 23%;
  transform: rotate(-28deg);
}

.talisman-blade:after {
  content: "";
  border-top: 5px solid #0000;
  border-bottom: 5px solid #0000;
  border-left: 10px solid #e2d1bb57;
  position: absolute;
  top: -5px;
  right: -7px;
}

.talisman-thread {
  background: linear-gradient(90deg, #0000, #c1435bb8, #0000);
  height: 1px;
  top: 50%;
  left: 14%;
  right: 12%;
  transform: rotate(12deg);
}

.reading-text {
  padding: 0 4px;
}

.reading-text p {
  color: #eadbca;
  margin: 0 0 16px;
  font-size: 1.02rem;
  line-height: 1.74;
}

.reading-section {
  margin: 0 0 16px;
}

.learning-section {
  margin-top: 18px;
}

.reading-section > span {
  color: var(--muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 8px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .72rem;
  display: inline-block;
}

.learning-card {
  background: linear-gradient(90deg, #c1435b14, #0000 38%), #ffffff08;
  border: 1px solid #e2d1bb2e;
  border-radius: 4px;
  padding: 15px 16px 3px;
}

.learning-card p {
  color: var(--muted);
  margin: 0 0 12px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .94rem;
  line-height: 1.65;
}

.learning-card p + p {
  border-top: 1px solid #e2d1bb1a;
  padding-top: 12px;
}

.resonance-section {
  background: linear-gradient(90deg, #c1435b1c, #ffffff06);
  border-left: 2px solid #c1435bb3;
  max-width: 70ch;
  margin-top: 18px;
  padding: 14px 16px;
}

.resonance-section p {
  color: #f1e2d1;
  margin: 0;
  font-size: .98rem;
  line-height: 1.68;
}

.daily-reading-section {
  margin-top: 22px;
  margin-bottom: 10px;
}

.daily-reading-paragraph {
  max-width: 72ch;
}

.source-ref {
  color: var(--bone);
  cursor: help;
  vertical-align: super;
  margin-left: 4px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .72em;
  display: inline-flex;
  position: relative;
}

.source-tooltip {
  z-index: 5;
  width: min(340px, 84vw);
  color: var(--muted);
  opacity: 0;
  pointer-events: none;
  text-transform: none;
  background: #0d090bfa;
  border: 1px solid #e2d1bb3d;
  padding: 10px 12px;
  font-size: .78rem;
  line-height: 1.45;
  transition: opacity .15s, transform .15s;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translate(-50%, 4px);
  box-shadow: 0 18px 44px #0000006b;
}

.source-tooltip strong {
  color: var(--bone);
  margin-bottom: 4px;
  display: block;
}

.source-ref:hover .source-tooltip, .source-ref:focus .source-tooltip {
  opacity: 1;
  transform: translate(-50%);
}

.modal-backdrop {
  z-index: 20;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #050305b8;
  place-items: center;
  padding: 18px;
  display: grid;
  position: fixed;
  inset: 0;
}

.context-modal {
  background: linear-gradient(180deg, #28191ffa, #120c0ffa),
    var(--panel-strong);
  border: 1px solid #e2d1bb3d;
  border-radius: 6px;
  width: min(620px, 100%);
  padding: 18px;
  box-shadow: 0 28px 80px #00000094;
}

.steering-modal {
  width: min(1040px, 100vw - 28px);
  max-height: calc(100vh - 28px);
  overflow: auto;
}

.modal-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  display: flex;
}

.modal-header h2 {
  color: var(--bone);
  margin: 0;
  font-size: 1.12rem;
  line-height: 1.2;
}

.modal-copy {
  color: var(--muted);
  margin: 12px 0 14px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .92rem;
  line-height: 1.55;
}

.context-form {
  gap: 14px;
  display: grid;
}

.context-form textarea {
  resize: vertical;
  width: 100%;
  min-height: 108px;
  color: var(--text);
  background: #ffffff0e;
  border: 1px solid #e2d1bb2e;
  border-radius: 4px;
  padding: 12px;
  line-height: 1.55;
}

.steering-grid {
  grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr);
  gap: 14px;
  display: grid;
}

.selected-topic-panel, .topic-map-panel {
  background: #ffffff09;
  border: 1px solid #e2d1bb29;
  border-radius: 4px;
  min-width: 0;
}

.selected-topic-panel {
  padding: 14px;
}

.selected-topic-panel h3, .topic-map-header h3 {
  color: var(--bone);
  margin: 4px 0 8px;
  font-size: 1rem;
  line-height: 1.25;
}

.selected-topic-panel p {
  color: var(--muted);
  margin: 0 0 14px;
  line-height: 1.55;
}

.topic-meter-row {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .76rem;
  display: flex;
}

.topic-map-panel {
  padding: 12px;
}

.topic-map-header {
  grid-template-columns: minmax(0, 1fr) minmax(180px, .4fr);
  align-items: end;
  gap: 12px;
  margin-bottom: 10px;
  display: grid;
}

.topic-map-header input {
  min-height: 38px;
}

.topic-choice-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-height: min(34vh, 330px);
  padding-right: 4px;
  display: grid;
  overflow-y: auto;
}

.topic-choice {
  min-width: 0;
  min-height: 72px;
  color: var(--text);
  cursor: pointer;
  text-align: left;
  background: #ffffff08;
  border: 1px solid #e2d1bb21;
  border-radius: 4px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px;
  display: flex;
}

.topic-choice:hover, .topic-choice.is-selected {
  background: #c1435b21;
  border-color: #c1435bb3;
}

.topic-choice-main {
  gap: 5px;
  min-width: 0;
  display: grid;
}

.topic-choice-main strong {
  overflow-wrap: anywhere;
  color: var(--bone);
  font-size: .94rem;
  line-height: 1.2;
}

.topic-choice-main em {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .68rem;
  font-style: normal;
}

.topic-choice-side {
  color: var(--bone);
  justify-items: end;
  gap: 6px;
  display: grid;
}

.coverage-meter {
  grid-template-columns: repeat(3, 18px);
  gap: 3px;
  display: inline-grid;
}

.coverage-meter span {
  background: #e2d1bb29;
  border-radius: 999px;
  height: 5px;
}

.coverage-meter .is-filled {
  background: var(--red-bright);
}

.context-label {
  gap: 7px;
  display: grid;
}

.context-label > span {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .76rem;
}

.context-form textarea:focus {
  outline-offset: 2px;
  outline: 1px solid #c1435bcc;
}

.aesthetic-brief-editor {
  background: #ffffff07;
  border: 1px solid #e2d1bb21;
  border-radius: 4px;
}

.aesthetic-brief-editor summary {
  color: var(--bone);
  cursor: pointer;
  letter-spacing: .1em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .76rem;
  display: flex;
}

.aesthetic-brief-editor summary strong {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 500;
}

.aesthetic-brief-editor p {
  color: var(--muted);
  margin: 0;
  padding: 0 12px 10px;
  font-size: .86rem;
  line-height: 1.5;
}

.aesthetic-brief-editor textarea {
  border-inline: 0;
  border-bottom: 0;
  border-radius: 0 0 4px 4px;
  min-height: 138px;
}

.form-error {
  color: #f2a8b5;
  margin: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .86rem;
  line-height: 1.4;
}

.modal-actions {
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.generation-ritual {
  background: radial-gradient(circle at 28% 26%, #c1435b3d, #0000 33%), radial-gradient(circle at 78% 78%, #e2d1bb1f, #0000 30%), linear-gradient(135deg, #22141bfa, #0c080afa);
  border: 1px solid #e2d1bb38;
  border-radius: 6px;
  grid-template-columns: minmax(260px, .62fr) minmax(280px, 1fr);
  grid-template-areas: "visual copy"
                       "visual stage"
                       "steps steps";
  gap: 22px;
  width: min(980px, 100vw - 28px);
  max-height: calc(100vh - 28px);
  padding: 24px;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 32px 96px #000000a8;
}

.generation-ritual:before {
  content: "";
  pointer-events: none;
  background-image: linear-gradient(#e2d1bb0e 1px, #0000 1px), linear-gradient(90deg, #e2d1bb0a 1px, #0000 1px);
  background-size: 28px 28px;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(90deg, #000, #0000 82%);
  mask-image: linear-gradient(90deg, #000, #0000 82%);
}

.ritual-visual {
  background-color: #ffffff06;
  background-image: radial-gradient(circle, #e2d1bb1a 1px, #0000 1px), none;
  background-position: 0 0, 0 0;
  background-repeat: repeat, repeat;
  background-size: 22px 22px;
  background-attachment: scroll, scroll;
  background-origin: padding-box, padding-box;
  background-clip: border-box, border-box;
  border: 1px solid #e2d1bb24;
  border-radius: 4px;
  grid-area: visual;
  align-self: stretch;
  min-height: 430px;
  position: relative;
  overflow: hidden;
}

.ritual-ring, .ritual-ray, .ritual-core, .ritual-node {
  position: absolute;
}

.ritual-ring {
  border: 1px solid #e2d1bb42;
  border-radius: 50%;
  inset: 50%;
  transform: translate(-50%, -50%);
}

.ritual-ring-outer {
  width: 330px;
  height: 330px;
  animation: 18s linear infinite ritual-spin;
}

.ritual-ring-middle {
  border-color: #c1435b7a;
  width: 246px;
  height: 246px;
  animation: 12s linear infinite reverse ritual-spin;
}

.ritual-ring-inner {
  border-style: dashed;
  width: 148px;
  height: 148px;
  animation: 9s linear infinite ritual-spin;
}

.ritual-ring-outer:before, .ritual-ring-middle:before, .ritual-ring-inner:before {
  content: "";
  background: var(--red-bright);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  position: absolute;
  top: -4px;
  left: 50%;
  box-shadow: 0 0 24px #c1435be6;
}

.ritual-ray {
  transform-origin: center;
  background: linear-gradient(#0000, #e2d1bb3d, #0000);
  width: 1px;
  height: 440px;
  top: 50%;
  left: 50%;
}

.ritual-ray-one {
  transform: translate(-50%, -50%)rotate(22deg);
}

.ritual-ray-two {
  transform: translate(-50%, -50%)rotate(84deg);
}

.ritual-ray-three {
  transform: translate(-50%, -50%)rotate(143deg);
}

.ritual-core {
  width: 78px;
  height: 78px;
  color: var(--bone);
  background: #0d090bd1;
  border: 1px solid #e2d1bb59;
  border-radius: 50%;
  place-items: center;
  display: grid;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 16px #c1435b0d, 0 0 42px #c1435b59;
}

.ritual-node {
  color: var(--bone);
  letter-spacing: .1em;
  text-transform: uppercase;
  background: #0d090bc7;
  border: 1px solid #e2d1bb2e;
  padding: 5px 8px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .68rem;
}

.ritual-node strong {
  color: var(--red-bright);
  margin-right: 4px;
  font-size: .9rem;
  line-height: 1;
}

.ritual-node-1 {
  top: 21%;
  left: 22%;
}

.ritual-node-2 {
  top: 30%;
  right: 18%;
}

.ritual-node-3 {
  bottom: 24%;
  left: 18%;
}

.ritual-node-4 {
  bottom: 18%;
  right: 20%;
}

.ritual-copy, .ritual-stage-card, .ritual-stage-list {
  z-index: 1;
  position: relative;
}

.ritual-copy {
  grid-area: copy;
  align-self: end;
  padding-top: 14px;
}

.ritual-copy h2 {
  color: var(--bone);
  margin: 5px 0 10px;
  font-size: 1.35rem;
  line-height: 1.16;
}

.ritual-copy p {
  max-width: 58ch;
  color: var(--muted);
  margin: 0;
  line-height: 1.62;
}

.ritual-sky-receipt {
  background: #ffffff09;
  border: 1px solid #e2d1bb24;
  gap: 4px;
  margin-top: 14px;
  padding: 9px 11px;
  display: inline-grid;
}

.ritual-sky-receipt span {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .66rem;
}

.ritual-sky-receipt strong {
  color: var(--bone);
  font-size: .92rem;
  line-height: 1.15;
}

.ritual-stage-card {
  background: #ffffff0a;
  border: 1px solid #e2d1bb29;
  border-radius: 4px;
  grid-area: stage;
  grid-template-columns: auto minmax(0, 1fr);
  align-self: start;
  gap: 13px;
  padding: 15px;
  display: grid;
}

.ritual-stage-icon {
  width: 42px;
  height: 42px;
  color: var(--bone);
  background: #c1435b24;
  border: 1px solid #c1435b7a;
  border-radius: 50%;
  place-items: center;
  animation: 1.6s ease-in-out infinite ritual-pulse;
  display: grid;
}

.ritual-stage-card span, .ritual-stage span {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .68rem;
}

.ritual-stage-card h3 {
  color: var(--bone);
  margin: 4px 0 5px;
  font-size: 1.02rem;
  line-height: 1.2;
}

.ritual-stage-card p {
  color: var(--muted);
  margin: 0;
  line-height: 1.5;
}

.ritual-stage-list {
  grid-area: steps;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.ritual-stage {
  color: #e2d1bb57;
  background: #ffffff07;
  border: 1px solid #e2d1bb1c;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 9px;
  display: grid;
}

.ritual-stage span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.ritual-stage.is-active {
  color: var(--bone);
  background: #c1435b1c;
  border-color: #c1435b73;
}

@keyframes ritual-spin {
  from {
    transform: translate(-50%, -50%)rotate(0);
  }

  to {
    transform: translate(-50%, -50%)rotate(360deg);
  }
}

@keyframes ritual-pulse {
  0%, 100% {
    box-shadow: 0 0 #c1435b47;
  }

  50% {
    box-shadow: 0 0 0 12px #c1435b00;
  }
}

.source-list {
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.source-list li {
  border: 1px solid var(--line);
  background: #ffffff09;
  border-radius: 4px;
  gap: 4px;
  padding: 10px;
  display: grid;
}

.source-list span {
  color: var(--bone);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .76rem;
}

.source-list p {
  color: var(--muted);
  margin: 0;
}

.reading-text .continuity-note, .continuity-note {
  color: var(--muted);
  background: #ffffff0a;
  border: 1px solid #e2d1bb2e;
  margin: 0 0 14px;
  padding: 10px 12px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .82rem;
  line-height: 1.45;
}

.archive-continuity {
  margin: 8px 0;
}

.reflection-box {
  border-left: 2px solid var(--red-bright);
  background: #ffffff0a;
  border-radius: 0 4px 4px 0;
  margin: 20px 6px;
  padding: 16px;
}

.reflection-box p {
  color: var(--bone);
  margin-bottom: 0;
  line-height: 1.6;
}

.accordion-stack {
  gap: 10px;
  display: grid;
}

.packet-list {
  gap: 12px;
  display: grid;
}

.packet-list strong {
  color: var(--bone);
}

.packet-list p {
  margin: 6px 0 10px;
}

.detail-accordion {
  border: 1px solid var(--line);
  background: #ffffff07;
  border-radius: 4px;
  overflow: hidden;
}

.detail-accordion summary {
  cursor: pointer;
  color: var(--bone);
  letter-spacing: .01em;
  padding: 11px 13px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .84rem;
  list-style-position: inside;
}

.detail-accordion[open] {
  background: #ffffff0a;
}

.detail-accordion[open] summary {
  border-bottom: 1px solid #e2d1bb1a;
}

.detail-body {
  color: var(--muted);
  min-width: 0;
  padding: 12px 13px 13px;
  line-height: 1.65;
  overflow: hidden;
}

.detail-body pre {
  color: #d7c5b2;
  background: linear-gradient(#ffffff0a, #ffffff06), #0a07093d;
  border: 1px solid #e2d1bb1f;
  border-radius: 4px;
  max-height: min(70vh, 680px);
  padding: 12px;
  overflow: hidden auto;
}

.detail-body p {
  overflow-wrap: anywhere;
  max-width: 100%;
}

.receipt-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.receipt-item {
  background: #ffffff09;
  border: 1px solid #e2d1bb1f;
  border-radius: 4px;
  gap: 5px;
  min-width: 0;
  padding: 10px;
  display: grid;
}

.receipt-item span, .audit-readable span, .nested-raw summary {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .72rem;
}

.receipt-item strong {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--bone);
  font-size: .9rem;
  font-weight: 500;
  line-height: 1.45;
}

.audit-readable {
  gap: 12px;
  display: grid;
}

.audit-readable section {
  background: #ffffff09;
  border: 1px solid #e2d1bb1f;
  border-radius: 4px;
  gap: 7px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.audit-readable h4 {
  color: var(--bone);
  margin: 0;
  font-size: 1rem;
  line-height: 1.25;
}

.audit-readable p, .audit-readable li {
  color: var(--muted);
  margin: 0;
  line-height: 1.58;
}

.audit-readable ul {
  gap: 7px;
  margin: 0;
  padding-left: 18px;
  display: grid;
}

.nested-raw {
  border-top: 1px solid #e2d1bb1f;
  margin-top: 12px;
  padding-top: 10px;
}

.nested-raw summary {
  cursor: pointer;
  margin-bottom: 8px;
}

.side-panel {
  background: var(--panel-strong);
  min-height: 620px;
}

.chart-progress {
  background: linear-gradient(135deg, #c1435b1a, #0000 42%), #ffffff07;
  border: 1px solid #e2d1bb29;
  border-radius: 4px;
  gap: 13px;
  margin: 0 0 18px;
  padding: 16px;
  display: grid;
}

.chart-progress-compact {
  padding: 13px;
}

.progress-heading {
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  display: flex;
}

.progress-heading h2 {
  color: var(--bone);
  margin: 4px 0 0;
  font-size: 1.05rem;
  line-height: 1.2;
}

.progress-heading strong {
  color: var(--bone);
  font-size: 1.22rem;
  line-height: 1;
}

.progress-bar {
  background: #ffffff09;
  border: 1px solid #e2d1bb24;
  border-radius: 999px;
  height: 8px;
  overflow: hidden;
}

.progress-bar span {
  border-radius: inherit;
  background: linear-gradient(90deg, var(--red), var(--red-bright), #e2d1bbb8);
  height: 100%;
  display: block;
}

.progress-stats, .progress-type-grid, .archive-journey {
  gap: 8px;
  display: grid;
}

.progress-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.progress-stats div, .progress-type-grid div, .archive-journey div {
  background: #ffffff08;
  border: 1px solid #e2d1bb1f;
  min-width: 0;
  padding: 10px;
}

.progress-stats div {
  gap: 4px;
  display: grid;
}

.progress-stats svg {
  color: var(--red-bright);
}

.progress-stats strong, .progress-type-grid strong {
  color: var(--bone);
  font-size: 1rem;
  line-height: 1;
}

.progress-stats span, .progress-type-grid span, .progress-next, .archive-journey span {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .68rem;
}

.progress-type-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.chart-progress-compact .progress-type-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.progress-type-grid div {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.progress-next {
  text-transform: none;
  letter-spacing: .03em;
  align-items: center;
  gap: 7px;
  margin: 0;
  line-height: 1.45;
  display: flex;
}

.progress-next a {
  color: var(--bone);
  border-bottom: 1px solid #c1435bb8;
}

.archive-journey {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 18px;
}

.archive-journey div {
  padding: 13px;
}

.archive-journey p {
  color: var(--muted);
  margin: 7px 0 0;
  line-height: 1.55;
}

.side-panel h2, .method-card h2, .archive-item h2 {
  color: var(--bone);
  margin-top: 0;
  font-size: 1.15rem;
  line-height: 1.2;
}

.recent-thread-list, .lens-list, .placement-grid, .archive-list, .aspect-list, .settings-grid {
  gap: 10px;
  display: grid;
}

.recent-thread-list {
  border-top: 1px solid var(--line);
  margin-top: 20px;
  padding-top: 18px;
}

.recent-thread {
  border-bottom: 1px solid #e5d5bf1a;
  gap: 3px;
  padding: 10px 0;
  display: grid;
}

.recent-thread span {
  color: var(--faint);
  letter-spacing: .08em;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .75rem;
}

.recent-thread strong {
  color: var(--bone);
  font-size: .95rem;
  line-height: 1.25;
}

.placement-row, .lens-row, .aspect-row {
  border: 1px solid var(--line);
  background: #ffffff09;
  border-radius: 4px;
}

.content-page {
  max-width: 1180px;
  margin: 0 auto;
}

.page-heading {
  max-width: 760px;
  margin: 42px 0 26px;
}

.page-heading h1 {
  font-size: 1.45rem;
  line-height: 1.14;
}

.method-grid {
  grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr);
  gap: 18px;
  margin-bottom: 18px;
  display: grid;
}

.method-proof-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
  display: grid;
}

.method-proof-tile {
  border: 1px solid var(--line);
  background: linear-gradient(145deg, #ffffff0a, #c1435b0b), #191216c7;
  border-radius: 6px;
  min-width: 0;
  padding: 16px;
}

.method-proof-tile span, .pipeline-step span, .evidence-block span, .method-mini-list strong, .source-rule-summary span {
  color: var(--faint);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .72rem;
}

.method-proof-tile strong {
  color: var(--bone);
  margin-top: 8px;
  font-size: 1.05rem;
  line-height: 1.2;
  display: block;
}

.method-proof-tile p, .pipeline-step p, .evidence-block p, .evidence-block li, .method-mini-list p, .method-link-row {
  color: var(--muted);
  margin: 8px 0 0;
  line-height: 1.55;
}

.method-pipeline {
  margin-bottom: 18px;
}

.pipeline-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.pipeline-step {
  background: #ffffff07;
  border: 1px solid #e5d5bf24;
  border-radius: 5px;
  min-width: 0;
  padding: 13px;
}

.pipeline-step strong, .evidence-block strong {
  color: var(--bone);
  margin-top: 6px;
  line-height: 1.25;
  display: block;
}

.compact-settings {
  margin-bottom: 16px;
}

.method-mini-list {
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.method-evidence, .method-sources, .method-upcoming {
  margin-bottom: 18px;
}

.evidence-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.evidence-block {
  background: #ffffff07;
  border: 1px solid #e5d5bf24;
  border-radius: 5px;
  min-width: 0;
  padding: 14px;
}

.evidence-block ul {
  gap: 8px;
  margin: 10px 0 0;
  padding-left: 18px;
  display: grid;
}

.source-rule-summary {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
  display: flex;
}

.source-rule-summary span {
  border: 1px solid var(--line);
  background: #ffffff0a;
  padding: 6px 8px;
}

.method-link-row a {
  color: var(--bone);
  border-bottom: 1px solid var(--red-bright);
}

.admin-page {
  padding-bottom: 48px;
}

.admin-notice {
  max-width: 760px;
  color: var(--bone);
  background: #c1435b14;
  border: 1px solid #c1435b52;
  padding: 11px 13px;
}

.admin-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
  display: grid;
}

.admin-layout {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
  display: grid;
}

.admin-split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.admin-metric-list, .admin-event-row, .admin-tool-stack form {
  background: #ffffff07;
  border: 1px solid #e5d5bf24;
  border-radius: 5px;
  min-width: 0;
  padding: 13px;
}

.admin-metric-list h3 {
  color: var(--bone);
  margin: 0 0 10px;
  font-size: .98rem;
}

.admin-metric-list div {
  border-top: 1px solid #e5d5bf17;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 0;
  display: flex;
}

.admin-metric-list span, .admin-event-row span {
  min-width: 0;
  color: var(--muted);
  overflow-wrap: anywhere;
}

.admin-metric-list strong {
  color: var(--bone);
}

.admin-event-list, .admin-tool-stack, .cost-event-list {
  gap: 10px;
  display: grid;
}

.admin-event-row, .cost-event-row {
  grid-template-columns: minmax(150px, .42fr) minmax(120px, .28fr) minmax(180px, .55fr) minmax(180px, .75fr);
  align-items: start;
  gap: 12px;
  display: grid;
}

.cost-event-row {
  border-top: 1px solid #e5d5bf17;
  grid-template-columns: minmax(145px, .42fr) minmax(130px, .34fr) minmax(180px, .72fr) minmax(90px, .2fr) minmax(90px, .2fr) auto;
  padding: 11px 0;
}

.admin-event-row strong, .cost-event-row strong, .cost-event-row b {
  color: var(--bone);
}

.admin-event-row p, .cost-event-row p, .admin-tool-stack p, .danger-zone p {
  color: var(--muted);
  margin: 0;
  line-height: 1.55;
}

.admin-event-row code, .admin-tool-stack code {
  color: var(--silver);
  overflow-wrap: anywhere;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .78rem;
}

.cost-summary-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
  display: grid;
}

.cost-summary-strip div {
  background: #ffffff07;
  border: 1px solid #e5d5bf24;
  border-radius: 5px;
  min-width: 0;
  padding: 13px;
}

.analytics-review-card {
  margin-bottom: 18px;
}

.analytics-kpi-strip, .analytics-funnel {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
  display: grid;
}

.analytics-kpi-strip div, .analytics-funnel div, .analytics-panel {
  background: #ffffff07;
  border: 1px solid #e5d5bf24;
  border-radius: 5px;
  min-width: 0;
  padding: 13px;
}

.analytics-kpi-strip span, .analytics-funnel span, .analytics-page-row span, .analytics-journey span, .analytics-journey small {
  color: var(--muted);
}

.analytics-kpi-strip strong {
  color: var(--bone);
  margin-top: 6px;
  font-size: 1.2rem;
  font-weight: 650;
  display: block;
}

.analytics-funnel div {
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 2px 10px;
  display: grid;
  position: relative;
}

.analytics-funnel span {
  border: 1px solid #e5d5bf2e;
  border-radius: 999px;
  place-items: center;
  width: 24px;
  height: 24px;
  font-size: .74rem;
  display: grid;
}

.analytics-funnel strong {
  color: var(--bone);
  font-size: 1.22rem;
}

.analytics-funnel p {
  color: var(--muted);
  grid-column: 2;
  margin: 0;
}

.analytics-review-grid {
  margin-top: 14px;
}

.analytics-panel h3 {
  color: var(--bone);
  margin: 0 0 10px;
  font-size: .98rem;
}

.analytics-page-row {
  border-top: 1px solid #e5d5bf17;
  grid-template-columns: minmax(150px, 1fr) auto auto auto;
  align-items: baseline;
  gap: 10px;
  padding: 9px 0;
  display: grid;
}

.analytics-page-row strong, .analytics-journey strong {
  min-width: 0;
  color: var(--bone);
  overflow-wrap: anywhere;
}

.analytics-journey {
  border-top: 1px solid #e5d5bf17;
  gap: 6px;
  padding: 10px 0;
  display: grid;
}

.analytics-journey div {
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  display: flex;
}

.analytics-journey p {
  color: var(--silver);
  overflow-wrap: anywhere;
  margin: 0;
}

.cost-summary-strip span, .cost-event-row span, .cost-metric-list small {
  color: var(--muted);
  display: block;
}

.cost-summary-strip strong {
  color: var(--bone);
  margin-top: 6px;
  font-size: 1.22rem;
  font-weight: 650;
  display: block;
}

.cost-tracking-grid {
  margin: 14px 0;
}

.cost-metric-list div {
  align-items: center;
}

.cost-metric-list span {
  gap: 3px;
  display: grid;
}

.cost-metric-list small {
  font-size: .72rem;
}

.admin-tool-stack form, .danger-zone form {
  gap: 10px;
  display: grid;
}

.admin-button {
  width: fit-content;
  min-height: 38px;
  color: var(--bone);
  cursor: pointer;
  background: #ffffff0e;
  border: 1px solid #e2d1bb38;
  padding: 0 13px;
}

.admin-button:hover {
  background: #c1435b1f;
  border-color: #c1435b80;
}

.admin-button.danger-lite {
  color: #f0c8bf;
}

.admin-button.danger {
  color: #ffd9d1;
  background: #c1435b29;
  border-color: #c1435b94;
}

.danger-zone {
  border-color: #c1435b52;
}

.placement-row {
  grid-template-columns: 1fr 1fr auto;
  align-items: baseline;
  gap: 12px;
  padding: 11px 12px;
  display: grid;
}

.compact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
}

.aspect-row {
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 12px;
  display: flex;
}

.aspect-row span {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .8rem;
}

.stacked-row {
  align-items: start;
  display: grid;
}

.stacked-row p {
  color: var(--muted);
  margin: 0;
  line-height: 1.55;
}

.settings-grid {
  grid-template-columns: minmax(120px, .28fr) minmax(0, 1fr);
}

.settings-grid span {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .78rem;
}

.settings-grid strong {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--bone);
  font-size: .95rem;
  line-height: 1.35;
}

.placement-row span, .placement-row em {
  color: var(--muted);
  font-style: normal;
}

.lens-row {
  padding: 14px;
}

.lens-row p {
  margin: 6px 0 10px;
}

.archive-item {
  padding: 20px;
}

.archive-filters {
  border: 1px solid var(--line);
  background: var(--panel);
  grid-template-columns: minmax(240px, 1fr) minmax(150px, .45fr) minmax(135px, .35fr) minmax(160px, .45fr) auto auto;
  align-items: end;
  gap: 10px;
  margin-bottom: 18px;
  padding: 14px;
  display: grid;
}

.archive-filters label {
  gap: 6px;
  display: grid;
}

.archive-filters span, .archive-summary span {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .72rem;
}

.archive-filters button, .archive-filters a {
  border: 1px solid var(--line);
  min-height: 40px;
  color: var(--bone);
  background: #ffffff0d;
  justify-content: center;
  align-items: center;
  padding: 0 14px;
  display: inline-flex;
}

.archive-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
  display: grid;
}

.archive-summary div {
  border: 1px solid var(--line);
  background: #ffffff09;
  gap: 4px;
  padding: 14px;
  display: grid;
}

.archive-summary strong {
  color: var(--bone);
  font-size: 1.35rem;
}

.archive-thread-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
  display: grid;
}

.thread-card {
  border: 1px solid var(--line);
  background: #ffffff09;
  border-radius: 4px;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.thread-card:hover, .thread-card.is-active {
  background: #c1435b1f;
  border-color: #c1435bb3;
}

.thread-card span, .archive-type-strip span, .archive-entry-meta span, .thread-banner span, .entry-nav span {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .7rem;
}

.thread-card strong {
  color: var(--bone);
  font-size: .98rem;
  line-height: 1.2;
}

.thread-card p {
  color: var(--muted);
  margin: 0;
  font-size: .88rem;
  line-height: 1.45;
}

.archive-type-strip {
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
  display: flex;
}

.archive-type-strip a {
  border: 1px solid var(--line);
  min-height: 34px;
  color: var(--bone);
  text-transform: capitalize;
  background: #ffffff09;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .82rem;
  display: inline-flex;
}

.archive-type-strip a:hover, .archive-type-strip a.is-active {
  background: #ffffff12;
  border-color: #e2d1bb61;
}

.thread-banner {
  border: 1px solid #c1435b70;
  border-left: 2px solid var(--red-bright);
  background: #c1435b1a;
  gap: 5px;
  margin-bottom: 18px;
  padding: 12px 14px;
  display: grid;
}

.thread-banner strong {
  color: var(--bone);
  font-size: 1.02rem;
}

.thread-banner p {
  color: var(--muted);
  margin: 0;
  line-height: 1.5;
}

.archive-entry-meta {
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
  display: flex;
}

.archive-entry-meta span {
  background: #ffffff09;
  border: 1px solid #e2d1bb1f;
  padding: 5px 7px;
}

.entry-nav {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
  display: grid;
}

.entry-nav a {
  border: 1px solid var(--line);
  background: #ffffff09;
  gap: 4px;
  min-height: 58px;
  padding: 10px 12px;
  display: grid;
}

.entry-nav a:last-child {
  text-align: right;
}

.entry-nav a:hover {
  background: #fff1;
  border-color: #e2d1bb61;
}

.entry-nav strong {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--bone);
  font-size: .94rem;
  line-height: 1.25;
}

.feature-table {
  gap: 12px;
  display: grid;
}

.feature-card {
  border: 1px solid var(--line);
  background: var(--panel);
  grid-template-columns: minmax(0, 1fr) minmax(220px, .35fr);
  gap: 16px;
  padding: 16px;
  display: grid;
}

.feature-card h2 {
  color: var(--bone);
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.2;
}

.feature-card p {
  color: var(--muted);
  line-height: 1.6;
}

.feature-card pre {
  border-top: 1px solid var(--line);
  grid-column: 1 / -1;
  padding-top: 12px;
}

.feature-meta-grid {
  grid-template-columns: auto minmax(0, 1fr);
  align-content: start;
  gap: 8px 12px;
  display: grid;
}

.feature-meta-grid span {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .72rem;
}

.feature-meta-grid strong {
  overflow-wrap: anywhere;
  min-width: 0;
  color: var(--bone);
  font-size: .92rem;
  line-height: 1.35;
}

.chart-wheel {
  margin: 0 0 18px;
}

.chart-wheel-note {
  background: linear-gradient(90deg, #c1435b1a, #0000 60%), #ffffff07;
  border: 1px solid #e2d1bb1f;
  gap: 4px;
  margin: 0 0 10px;
  padding: 11px 12px;
  display: grid;
}

.chart-wheel-note span, .chart-wheel-legend span {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .68rem;
}

.chart-wheel-note strong {
  color: var(--bone);
  font-size: .98rem;
  line-height: 1.15;
}

.chart-wheel-note p, .chart-wheel-callout {
  color: var(--muted);
  margin: 0;
  font-size: .84rem;
  line-height: 1.45;
}

.chart-wheel svg {
  border: 1px solid var(--line);
  background: radial-gradient(circle, #c1435b1a, #0000 42%), #ffffff06;
  border-radius: 4px;
  width: 100%;
  height: auto;
  display: block;
}

.chart-wheel figcaption {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: 8px;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .72rem;
  line-height: 1.45;
}

.chart-wheel-legend {
  background: #ffffff07;
  border: 1px solid #e2d1bb1a;
  grid-template-columns: 1fr;
  gap: 7px;
  margin-top: 10px;
  padding: 10px;
  display: grid;
}

.chart-wheel-legend span {
  letter-spacing: .07em;
  text-transform: none;
  align-items: center;
  gap: 8px;
  display: flex;
}

.legend-dot {
  background: #c1435b6b;
  border: 1px solid #e2d1bb85;
  border-radius: 50%;
  width: 9px;
  height: 9px;
}

.legend-line {
  background: var(--silver);
  width: 22px;
  height: 1px;
}

.legend-red {
  background: var(--red-bright);
}

.chart-wheel-callout {
  background: #c1435b14;
  border-left: 2px solid #c1435bb3;
  margin-top: 9px;
  padding: 8px 10px;
}

.wheel-ring, .wheel-line {
  fill: none;
  stroke: #e2d1bb42;
  stroke-width: 1px;
}

.wheel-ring-soft {
  stroke: #e2d1bb1f;
}

.house-line {
  stroke: #c1435b52;
}

.wheel-sign, .wheel-house, .body-glyph {
  fill: var(--bone);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-weight: 700;
}

.wheel-sign {
  fill: #e2d1bba3;
  letter-spacing: .12em;
  font-size: 8px;
}

.wheel-house {
  fill: var(--muted);
  font-size: 10px;
}

.body-dot {
  fill: #0d090beb;
  stroke: #c1435bb3;
  stroke-width: 1.2px;
}

.body-glyph {
  fill: var(--bone);
  letter-spacing: .04em;
  font-size: 7px;
}

.aspect-line {
  stroke-width: 1px;
  opacity: .38;
}

.aspect-conjunction {
  stroke: var(--bone);
}

.aspect-opposition, .aspect-square {
  stroke: var(--red-bright);
}

.aspect-trine, .aspect-sextile {
  stroke: var(--silver);
}

.chart-method-card {
  overflow: hidden;
}

.tag-row {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  display: flex;
}

.tag-row span {
  border: 1px solid var(--line);
  background: #ffffff0a;
  padding: 6px 8px;
}

.tag-row a {
  border: 1px solid var(--line);
  color: var(--bone);
  background: #ffffff0a;
  padding: 6px 8px;
}

.feature-detail-grid {
  grid-template-columns: minmax(0, 1fr) minmax(260px, .45fr);
  gap: 18px;
  margin-bottom: 18px;
  display: grid;
}

.empty-state {
  place-content: center;
  min-height: 360px;
  display: grid;
}

.empty-state a {
  color: var(--bone);
  border-bottom: 1px solid var(--red-bright);
}

.first-run-state {
  background: linear-gradient(135deg, #8e1f352e, #ffffff06),
    var(--panel);
  place-content: start stretch;
  gap: 14px;
  min-height: 500px;
  padding: clamp(22px, 4vw, 42px);
}

.first-run-state h2 {
  max-width: 620px;
  color: var(--bone);
  font-size: 1.38rem;
  line-height: 1.16;
}

.first-run-state > p {
  max-width: 620px;
  margin: 0;
}

.first-run-next {
  background: linear-gradient(90deg, #c1435b14, #0000 42%), #ffffff09;
  border: 1px solid #e2d1bb29;
  gap: 6px;
  max-width: 620px;
  padding: 14px 15px;
  display: grid;
}

.first-run-next span {
  color: var(--muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  font-size: .72rem;
}

.first-run-next strong {
  color: var(--bone);
  font-size: 1.05rem;
}

.first-run-next p {
  margin: 0;
}

@media (max-width: 980px) {
  .page-grid, .method-grid, .method-proof-grid, .admin-grid, .admin-layout, .admin-split, .analytics-kpi-strip, .analytics-funnel, .cost-summary-strip, .pipeline-steps, .evidence-grid, .admin-event-row, .cost-event-row, .analytics-page-row {
    grid-template-columns: 1fr;
  }

  .analytics-journey div {
    display: grid;
  }

  .generation-ritual {
    grid-template-columns: 1fr;
    grid-template-areas: "visual"
                         "copy"
                         "stage"
                         "steps";
    overflow: auto;
  }

  .ritual-visual {
    min-height: 310px;
  }

  .hero-panel, .oracle-card, .side-panel {
    min-height: auto;
  }
}

@media (max-width: 680px) {
  .app-shell {
    padding: 14px;
  }

  .topbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .topbar-actions, .nav-links {
    width: 100%;
  }

  .topbar-actions {
    justify-content: flex-start;
  }

  .theme-mode-switcher {
    flex: none;
  }

  .nav-links {
    justify-content: space-between;
  }

  .entry-header {
    flex-direction: column;
  }

  .command-actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .today-status {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .command-panel h1, .page-heading h1 {
    font-size: 1.35rem;
    line-height: 1.16;
  }

  .command-panel {
    flex-direction: column;
    align-items: stretch;
  }

  .primary-action {
    width: 100%;
  }

  .image-altar {
    min-height: 165px;
  }

  .talisman-moon {
    width: 48px;
  }

  .talisman-frame {
    width: min(72vw, 230px);
  }

  .placement-row, .compact-grid, .archive-filters, .archive-summary, .archive-thread-grid, .archive-journey, .current-sky-layout, .progress-stats, .progress-type-grid, .receipt-grid, .feature-card, .feature-detail-grid, .steering-grid, .topic-map-header, .topic-choice-list, .ritual-stage-list {
    grid-template-columns: 1fr;
  }

  .current-sky-heading, .current-sky-layout {
    flex-direction: column;
    align-items: stretch;
  }

  .current-sky-wheel {
    flex-basis: auto;
  }

  .generation-ritual {
    padding: 16px;
  }

  .ritual-ring-outer {
    width: 250px;
    height: 250px;
  }

  .ritual-ring-middle {
    width: 190px;
    height: 190px;
  }
}

/*# sourceMappingURL=src_app_globals_0p2ml0n.css.map*/