/* The site's text pages (/sobre, /contato, /privacidade, /developers): the look of /ia, in one file. */
* { margin: 0; padding: 0; box-sizing: border-box; }

html { scrollbar-width: thin; scrollbar-color: #161616 transparent; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #161616; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #2a2a2a; }

html, body { background: #000; }
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #d4d4d4;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: #f5f5f5; text-decoration: underline; text-decoration-color: #3a3a3a; text-underline-offset: .22em; overflow-wrap: anywhere; }
a:hover, a:focus-visible { text-decoration-color: #f5f5f5; outline: none; }
code { font-family: ui-monospace, "SF Mono", Consolas, monospace; font-size: .9em; overflow-wrap: anywhere; }
pre {
  margin-top: .8rem; padding: .9rem 1.1rem;
  border: 1px solid #1f1f1f; border-radius: 10px; background: #0a0a0a;
  overflow-x: auto; font-size: .85rem; line-height: 1.55; color: #e5e5e5;
}
pre code { font-size: inherit; overflow-wrap: normal; }

.label {
  font-family: ui-monospace, "SF Mono", Consolas, monospace;
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #5c5c5c;
}

.top { max-width: 40rem; margin: 0 auto; padding: 1.1rem 16px 0; display: flex; justify-content: space-between; gap: 1rem; font-size: .8rem; }
.top a { color: #8a8a8a; text-decoration: none; }
.top a:hover, .top a:focus-visible { color: #fff; }

.page { max-width: 40rem; margin: 0 auto; padding: 3.5rem 16px 4rem; }
.page h1 {
  margin-top: 1rem;
  font-weight: 300;
  font-size: clamp(2rem, 6vw, 2.8rem);
  line-height: 1.15;
  letter-spacing: -.02em;
  color: #fafafa;
}
.page .lead { margin-top: 1.1rem; color: #8a8a8a; }
section { margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid #141414; }
h2 { margin-top: .5rem; font-weight: 400; font-size: 1.4rem; line-height: 1.3; color: #fafafa; }
h3 { margin-top: 1.8rem; font-weight: 500; font-size: .95rem; color: #e5e5e5; }
p, ol, ul, table { margin-top: .8rem; }
ol, ul { padding-left: 1.3rem; }
li + li { margin-top: .4rem; }
li::marker { color: #4a4a4a; }
.muted { color: #5c5c5c; font-size: .85rem; }

table { width: 100%; border-collapse: collapse; font-size: .88rem; }
th, td { text-align: left; vertical-align: top; padding: .5rem .6rem .5rem 0; border-bottom: 1px solid #141414; }
th { font-weight: 500; color: #e5e5e5; }

footer { max-width: 40rem; margin: 0 auto; padding: 1.5rem 16px 3rem; border-top: 1px solid #141414; font-size: .8rem; color: #444; }
footer nav { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
footer a { color: #8a8a8a; }
