@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap");

html,
body {
  margin: 0;
  padding: 0;
  border: 0;
}

html {
  font: 20px/1.65 var(--serif) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  font-smoothing: antialiased;
  color: #333333;
}

#wrap {
  display: grid;
  grid-template-columns: auto min(720px, calc(100% - 40px)) auto;
  gap: 20px 20px;
  width: 100%;
  color: #333333;
  margin-bottom: 40px;
}

p,
table,
figure,
figcaption,
h1,
h2,
h3,
h4,
h5,
h6,
.katex-display {
  max-width: 720px !important;
  font-family: "Source Serif 4", serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

form {
  margin-top: 10px;
  margin-bottom: 10px;
}

.observablehq a {
  color: #2e8ec4;
  text-decoration: none;
}

.observablehq a:hover {
  text-decoration: underline;
}

table {
  width: 100%;
  border-collapse: collapse !important;
}

table td {
  border: 1px solid #aaaaaa !important;
  font-size: 16px;
  line-height: 20px;
  padding: 8px !important;
}

h1,
h2,
h3 {
  font-family: "Source Sans 3", sans-serif;
  font-optical-sizing: auto;
  font-weight: bolder;
  font-style: normal;
}

code {
  font: 16px/1.65 monospace !important;
}

p {
  font-family: "Source Serif 4", serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  font: normal 20px/1.65 "Source Serif 4", serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  font-smoothing: antialiased;
  color: #333333;
}

b,
strong {
  font-family: "Source Serif 4", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font: bolder 20px/1.65 "Source Serif 4", serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  font-smoothing: antialiased;
  color: #333333;
}

hr {
  border: 0;
  border-top: 1px solid #cccccc;
  margin-top: 40px;
  margin-bottom: 40px;
}

#notebook {
  width: 100%;
  max-width: 720px;
  background-color: white;
}

#spaceblock {
  position: fixed;
  background-color: white;
  z-index: 4000;
  bottom: 0;
  width: 100%;
  max-width: 950px;
  border-top: 1px solid #cccccc;
  left: max(calc(50% - 475px), 0px);
  height: 40px;
  line-height: 37px;
  text-align: right;
  font-size: 12px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  font-family: "Source Sans 3";
}

#spaceblock b {
  font-family: "Source Sans 3" !important;
  font-size: 12px !important;
}

@media screen and (max-width: 980px) {
  #spaceblock {
    width: calc(100% - 40px);
    left: 20px;
  }
}

.olho {
  position: relative;
  z-index: 3800;
  display: inline-block;
  /*max-width: 100vw !important; */
  /*width: calc(100vw - 50px) !important;*/
  /*margin-left: min(calc(-50vw + (360px + 20px)), 0px);*/

  max-width: 90vw !important;
  width: calc(95vw - 50px) !important;
  margin-left: min(calc(-45vw + (360px + 20px)), 5vw);
  max-height: calc(100dvh - 200px) !important;
}

@media screen and (max-width: 500px) {
  .livecode {
    aspect-ratio: 9 / 16 !important;
  }
}

.observablehq--inspect {
  font: var(--mono_fonts);
  font-size: 16px !important;
  overflow-x: auto;
  display: inline-block;
  white-space: pre;
  border: 1px solid #dddddd;
  padding: 15px;
  margin-top: 10px;
  margin-bottom: 10px;
  width: calc(100% - 32px);
}
