:root {
  --r-background-color: rgb(var(--background-dark));
  --r-code-font: "JetBrains Mono", "JetBrains Mono Fallback", SF Mono, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --r-heading-font: var(--r-main-font);
  --r-heading-text-transform: normal;
  --r-heading-letter-spacing: -0.04em;
  --r-main-font-size: 24px;
  --r-main-font: "Inter", "Inter Fallback", -apple-system, BlinkMacSystemFont, Segoe UI, system-ui, sans-serif;

  --border-radius: 5px;
  --code-inline-color: #fde68a;
  --main-letter-spacing: -0.04em;
  --code-letter-spacing: -0.02em;

  /* modelcontextprotocol.io */
  --primary: 9 9 11;
  --primary-light: 250 250 250;
  --primary-dark: 9 9 11;
  --background-light: 255 255 255;
  --background-dark: 14 14 16;
  --gray-50: 243 243 243;
  --gray-100: 238 238 238;
  --gray-200: 222 222 222;
  --gray-300: 206 206 206;
  --gray-400: 158 158 158;
  --gray-500: 112 112 112;
  --gray-600: 80 80 80;
  --gray-700: 62 62 62;
  --gray-800: 37 37 37;
  --gray-900: 23 23 23;
  --gray-950: 10 10 10;
}

/* Tema */
.reveal .slides {
  text-align: left;
  letter-spacing: var(--main-letter-spacing);
}

/* Primeiro slide */
#first-slide > h1 {
  --r-heading-color: var(--icon-color);
  --r-heading-font-weight: 700;
  --r-heading-line-height: 1;
}
#first-slide > h2 {
  --r-heading-margin: 30px 0 0 0;
  --r-heading2-size: 1em;
  --r-heading-line-height: 1;
  opacity: 0.5;
}
#first-slide > .d-flex {
  --image-size: 40px;
  --column-gap: 10px;
  column-gap: var(--column-gap);
  margin: 0 0 10px calc((var(--image-size) + var(--column-gap)) * -1);
}
#first-slide > .d-flex > p {
  margin: 0;
  color: var(--code-inline-color);
  font-weight: 600;
}
#first-slide > .d-flex > img {
  margin: 0;
  width: var(--image-size);
  height: var(--image-size);
  filter: invert(1);
}

/* Código */
.reveal pre {
  width: 100%;
  font-size: 0.6em;
  line-height: 1.4;
}
code.hljs {
  background-color: rgb(var(--gray-900));
  border: 1px rgb(var(--gray-800)) solid;
  border-radius: var(--border-radius);
  letter-spacing: var(--code-letter-spacing);
}
code:not(.hljs) {
  font-family: var(--r-code-font);
  color: var(--code-inline-color);
}
.hljs-ln-line.hljs-ln-numbers {
  white-space: nowrap;
  opacity: 0.3;
}
.hljs.language-shell > span.hljs-meta.prompt_:first-child {
  user-select: none;
}
.hljs-meta .hljs-string, .hljs-regexp, .hljs-string {
  color: #ce9178;
}
pre.code-wrapper > kbd {
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
  border: 1px rgb(var(--gray-800)) solid;
  border-bottom: none;
  background-color: rgb(var(--gray-900));
  padding: 3px 6px 0 6px;
  letter-spacing: -0.04em;
  font-size: 0.8em;
  color: rgb(var(--gray-400));
}
pre.code-wrapper > kbd + .hljs {
  border-top-left-radius: 0;
  margin-top: -3px;
}

/* Tipografia */
h1:not(.title, :last-child) {
  --r-heading-margin: 0;
  --r-heading1-size: 1em;
  opacity: 0.5;
}
.reveal i:not(.ti), .reveal em {
  font-style: italic;
}
.text-muted {
  color: rgb(var(--gray-400));
}

/* Listas */
.reveal li > ol {
  list-style-type: lower-latin;
}

/* Ícones */
.ti {
  font-size: 0.9em;
}
.ti.d-block {
  display: block;
}
h1 > .ti,
h2 > .ti {
  display: inline-block;
  margin-left: -1.15em;
  color: var(--code-inline-color);
}

/* Referências */
div.references,
a.reference {
  font-size: 0.85em;
  opacity: 0.8;
  will-change: opacity;
}
div.references,
a.reference {
  display: block;
  margin-top: 1em;
}
.references > a {
  display: inline-block;
}
.references > a:before,
a.reference:before {
  opacity: 0.5;
  content: "[ ";
}
.references > a:after,
a.reference:after {
  opacity: 0.5;
  content: " ]";
}
.references > a:is(:hover, :focus),
a.reference:is(:hover, :focus) {
  opacity: 1;
}

/* Scaffolding */
.d-flex {
  display: flex;
  column-gap: 20px;
}
.mb-0 {
  margin-bottom: 0 !important;
}

/* Imagens */
img {
  border-radius: var(--border-radius);
}
.ti-brand-mcp {
  width: 3rem;
  height: 3rem;
  margin-top: 0;
  margin-bottom: 0;
  vertical-align: baseline;
  line-height: 1;
  background: url(./mcp-yellow.png) center center / cover no-repeat;
}

/* Alertas */
.alert {
  padding: 1rem 1.25rem;
  background-color: rgba(14, 165, 233, 0.1);
  border-radius: var(--border-radius);
  border: 1px rgba(14, 165, 233, 0.3) solid;
  color: rgb(186, 230, 253);
  font-size: 0.8em;
}
.alert.d-flex {
  align-items: baseline;
  column-gap: 1rem;
}
.alert.d-flex > p {
  margin: 0;
}

/* Sobre mim */
#about-me {
  display: flex;
  grid-template-columns: auto 1fr;
  column-gap: 3rem;
}
#about-me > ul {
  list-style-type: circle;
}
#profile-pic > img {
  margin: 0;
  border-radius: var(--border-radius);
}
#profile-pic > figcaption {
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
.about-me-links {
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  row-gap: 2rem;
  justify-content: start;
}
.about-me-links > a {
  display: flex;
  flex: 33.333% 0 0;
  align-items: center;
  font-size: 0.7em;
  column-gap: 0.4em;
}
.about-me-links > a > .ti {
  font-size: 3rem;
}
.about-me-links > a > svg {
  width: 40px;
}
.about-me-links > a > span {
  color: var(--r-main-color);
}
.about-me-links > a > span > b {
  display: block;
  color: var(--r-link-color);
}
.about-me-links > a:is(:hover, :focus) > .ti,
.about-me-links > a:is(:hover, :focus) > span,
.about-me-links > a:is(:hover, :focus) > span > b {
  color: var(--r-link-color-hover);
}

/* Slides e Workshops */
.qrcode-featured-text {
  font-size: 1.15em;
  line-height: 1.3;
  letter-spacing: -1px;
}
