@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;650;700&family=Geist+Mono:wght@400;500;600&display=swap');

:root {
  --black: #070809;
  --black-soft: #0d0f11;
  --am-bg: #0f001a;
  --am-panel: #19052a;
  --am-panel-2: #210a36;
  --am-line: #452261;
  --am-purple: #9000ff;
  --am-lilac: #d299ff;
  --am-mint: #7cf3ce;
  --paper: #f6f4f7;
  --paper-soft: #efecf1;
  --surface: #ffffff;
  --ink: #1d1b1f;
  --ink-soft: #69636d;
  --paper-line: #e2dde5;
  --radius: 18px;
  --orange: var(--am-purple);
  --orange-soft: rgba(144,0,255,.10);
  --panel: var(--surface);
  --panel-2: #f5f1f7;
  --panel-3: #ece7ef;
  --line: var(--paper-line);
  --line-bright: #cfc6d5;
  --text: var(--ink);
  --muted: #7d7682;
  --blue: #7555b4;
  --green: #3e8f77;
  --purple: var(--am-purple);
  --yellow: #a66e08;
  --red: #b84455;
}

body {
  background:
    radial-gradient(circle at 18% -10%, rgba(144,0,255,.17), transparent 30rem),
    var(--black);
  color: var(--ink);
  font-family: "Geist", Arial, Helvetica, sans-serif;
  letter-spacing: -.012em;
}

button, input, textarea { font-family: inherit; }

.topbar {
  position: relative;
  top: auto;
  margin: 0;
  border: 0;
  background: var(--black);
  backdrop-filter: none;
}

.topbar-inner {
  max-width: none;
  min-height: 62px;
  padding: 0 22px;
}

.brand {
  color: #f7f4f9;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.035em;
}

.brand span { color: var(--am-lilac); }
.status { color: #69616f; font-family: "Geist Mono", monospace; font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }

.button {
  min-height: 34px;
  padding: 0 12px;
  border-color: rgba(255,255,255,.10);
  border-radius: 8px;
  color: #b8b0bc;
  background: rgba(255,255,255,.055);
  font-size: 10px;
  font-weight: 550;
}

.button:hover { border-color: rgba(210,153,255,.55); color: #fff; transform: translateY(-1px); }
.button.primary { border-color: var(--am-purple); color: #fff; background: var(--am-purple); }
.button.primary:hover { background: #a52cff; }

.shell {
  max-width: none;
  width: calc(100% - 28px);
  margin: 0 14px 14px;
  padding: 0 42px 70px;
  overflow: hidden;
  border-radius: 19px;
  background: var(--paper);
}

.hero {
  position: relative;
  margin: 0 -42px;
  padding: 60px 48px 35px;
  overflow: hidden;
  color: #f8f4fb;
  background:
    radial-gradient(circle at 79% 40%, rgba(144,0,255,.25), transparent 23rem),
    linear-gradient(145deg, #12021d 0%, #19052a 63%, #210a36 100%);
}

.hero::before,
.hero::after {
  position: absolute;
  right: 80px;
  top: 57px;
  width: 270px;
  height: 270px;
  border: 1px solid rgba(210,153,255,.14);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.hero::after { right: 135px; top: 112px; width: 160px; height: 160px; border-color: rgba(124,243,206,.17); }

.hero-grid, .metrics { position: relative; z-index: 1; }
.hero-grid { grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr); gap: 48px; }

.eyebrow {
  border: 0;
  border-radius: 0;
  padding: 0;
  color: var(--am-lilac);
  background: transparent;
  font-family: "Geist Mono", monospace;
  font-size: 8px;
  font-weight: 550;
  letter-spacing: .12em;
}

h1 {
  max-width: 920px;
  margin: 17px 0 18px;
  color: #faf7fc;
  font-size: clamp(47px, 5.8vw, 82px);
  font-weight: 570;
  letter-spacing: -.078em;
  line-height: .96;
}

.lede { max-width: 830px; color: #b9aebf; font-size: 15px; line-height: 1.65; }

.hero-note {
  position: relative;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 235px;
  padding: 22px;
  border-color: rgba(210,153,255,.15);
  border-radius: 15px;
  color: #b9afbe;
  background: rgba(255,255,255,.045);
  font-size: 12px;
  line-height: 1.6;
}

.hero-note::before {
  position: absolute;
  top: 24px;
  left: 24px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  content: "AM";
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--am-purple);
  font: 600 10px "Geist Mono", monospace;
}

.hero-note strong { display: block; margin-bottom: 6px; color: #f2ebf6; font-size: 12px; }

.metrics { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 9px; margin-top: 37px; }
.metric { min-height: 89px; padding: 14px 15px; border-color: rgba(255,255,255,.075); border-radius: 11px; background: rgba(255,255,255,.045); }
.metric b { color: #f5eff8; font-size: 25px; font-weight: 560; letter-spacing: -.065em; }
.metric span { color: #776b7d; font-size: 9px; }

section { padding-top: 48px; }
h2 { color: #211e23; font-size: clamp(29px, 3.4vw, 43px); font-weight: 570; letter-spacing: -.062em; }
.sub { color: #7c7580; font-size: 12px; line-height: 1.6; }

.flow { gap: 7px; }
.flow-step {
  min-height: 118px;
  padding: 14px;
  border-color: var(--paper-line);
  border-radius: 11px;
  background: var(--surface);
}
.flow-step:nth-child(3n+1) { background: #f4eff9; }
.flow-step:nth-child(3n+2) { background: #eef8f5; }
.flow-step:nth-child(3n+3) { background: #f8f2eb; }
.flow-step:not(:last-child)::after { color: var(--am-purple); }
.flow-step b { color: #312d34; font-size: 12px; font-weight: 600; }
.flow-step span { color: #88818b; font-size: 9px; line-height: 1.45; }
.flow-step .num { color: var(--am-purple); font-family: "Geist Mono", monospace; }

.principle {
  margin-top: 12px;
  border: 1px solid #d9c7e8;
  border-left: 3px solid var(--am-purple);
  border-radius: 10px;
  color: #5f5168;
  background: #f2eaf8;
  font-size: 12px;
}

.workspace { grid-template-columns: 282px minmax(0,1fr); gap: 13px; }
.sidebar {
  top: 16px;
  border-color: rgba(255,255,255,.07);
  border-radius: 16px;
  color: #eee8f2;
  background: var(--am-bg);
}
.search-wrap { padding: 13px; border-color: rgba(255,255,255,.075); }
.search { height: 34px; border-color: rgba(255,255,255,.08); border-radius: 8px; color: #dfd7e3; background: rgba(255,255,255,.045); font-size: 10px; }
.search::placeholder { color: #62576a; }
.search:focus { border-color: rgba(210,153,255,.45); }
.filters { gap: 5px; border-color: rgba(255,255,255,.075); }
.filter { border-color: rgba(255,255,255,.075); color: #766c7d; font: 500 8px "Geist Mono", monospace; text-transform: uppercase; }
.filter:hover { color: #d9d1de; }
.filter.active { color: #fff; border-color: var(--am-purple); background: var(--am-purple); }
.domain-list { padding: 7px; }
.domain-button { min-height: 39px; border-radius: 8px; color: #9d93a4; }
.domain-button:hover { color: #eee8f2; background: rgba(255,255,255,.05); }
.domain-button.active { border-color: rgba(210,153,255,.2); color: #fff; background: rgba(144,0,255,.17); }
.domain-button.active::before { position: absolute; left: 2px; width: 2px; height: 20px; border-radius: 4px; content: ""; background: var(--am-lilac); }
.domain-button { position: relative; }
.domain-id { color: #7c6d85; font-size: 8px; }
.domain-button.active .domain-id { color: var(--am-lilac); }
.domain-title { font-size: 10px; font-weight: 500; }

.detail {
  min-height: 700px;
  border-color: var(--paper-line);
  border-radius: 16px;
  background: var(--surface);
}
.detail-head { padding: 30px 31px 26px; border-color: var(--paper-line); background: #fff; }
.detail-meta { gap: 6px; }
.chip { padding: 4px 7px; border-color: #ddd6e1; color: #8b838e; background: #faf9fa; font: 500 7px "Geist Mono", monospace; }
.chip.partial { color: #8f6314; border-color: #eddcb7; background: #fff8e9; }
.chip.open { color: #a13f51; border-color: #f0cbd0; background: #fff2f3; }
.chip.defined { color: #2f7b65; border-color: #bfe4d9; background: #ecfaf5; }
.detail h3 { margin-top: 17px; color: #211e23; font-size: clamp(34px, 4.1vw, 54px); font-weight: 570; letter-spacing: -.072em; line-height: .98; }
.thesis { max-width: 900px; color: #706a73; font-size: 13px; line-height: 1.65; }
.page-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 17px; color: var(--am-purple); font: 550 9px "Geist Mono", monospace; text-transform: uppercase; text-decoration: none; }
.page-link:hover { color: #a52cff; }
.detail-body { padding: 18px 20px 24px; }
.detail-grid { gap: 9px; }
.panel { border-color: var(--paper-line); border-radius: 11px; background: #faf9fa; }
.panel:nth-child(2) { background: #f2ebf8; }
.panel:nth-child(3) { background: #f7f4f8; }
.panel h4 { color: #7c6390; font: 550 8px "Geist Mono", monospace; letter-spacing: .09em; }
.panel li, .panel p { color: #5f5962; font-size: 11px; line-height: 1.5; }
.dependency { border-color: #ded6e2; color: #6e6474; background: #fff; font-size: 9px; }
.dependency:hover { border-color: var(--am-purple); color: var(--am-purple); }

.notes { border-color: #dcc9ea; color: #4a3e52; background: #f2eaf8; }
.notes label { font-size: 11px; }
.saved { color: #32816b; font: 500 8px "Geist Mono", monospace; text-transform: uppercase; }
textarea { min-height: 150px; border-color: #d7c9e0; color: #352d3a; background: rgba(255,255,255,.72); font-size: 11px; line-height: 1.55; }
textarea:focus { border-color: var(--am-purple); box-shadow: 0 0 0 3px rgba(144,0,255,.08); }

.definition-grid, .decision-grid { gap: 9px; }
.definition, .decision-card { border-color: var(--paper-line); border-radius: 12px; background: #fff; }
.definition:nth-child(2n), .decision-card:nth-child(2n) { background: #f5f0f9; }
.definition h3, .decision-card h3 { color: #312d34; font-size: 14px; font-weight: 600; }
.definition p, .decision-card p { color: #7c7580; font-size: 10px; line-height: 1.55; }
.decision-card .state { color: #287a62; font: 550 7px "Geist Mono", monospace; }
.decision-card.open .state { color: #945e0a; }

.footer { border-color: var(--paper-line); color: #99919b; font: 400 8px "Geist Mono", monospace; text-transform: uppercase; }

@media (max-width: 1050px) {
  .hero::before, .hero::after { opacity: .45; }
  .workspace { grid-template-columns: 1fr; }
  .sidebar { position: static; }
}

@media (max-width: 720px) {
  .topbar-inner { min-height: 56px; }
  .shell { width: 100%; margin: 0; padding: 0 15px 50px; border-radius: 0; }
  .hero { margin: 0 -15px; padding: 42px 24px 28px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-note { min-height: 180px; }
  .hero::before, .hero::after { display: none; }
  h1 { font-size: 48px; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .metric:last-child { grid-column: span 2; }
  .detail-head { padding: 24px 20px; }
  .detail-body { padding: 12px; }
}
