:root {
  color-scheme: light dark;
}

@font-face {
  font-family: 'Octants';
  src: url('/static/octants.woff') format('woff2');
}

@page {
  margin: 10px;
}

html {
  scrollbar-gutter: stable;
}
body {
  font-family: 'Montserrat';
  font-size: 16px;
  line-height: 1.6;
  --blue-3: #3399ff;
}

h2 {
  margin-top: 0;
  font-size: 14pt;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  &:has(+ .subtitle) {
    margin-bottom: 0;
  }
}

p.subtitle {
  margin-top: 0;
}

a {
  --link-color: var(--blue-3);
  color: var(--link-color);
  &:hover {
    background: var(--link-color);
    color: white;
  }
}

pre {
  font-family: 'Octants';
}

p:last-child {
  margin-bottom: 0;
}

.outer-mini {
  width: min-content;
  white-space: nowrap;
  margin: 0 auto;
}
.outer {
  --page-width: 800px;
  max-width: var(--page-width);
  margin: 0 auto;
}

@media screen {
  .media-print {
    display: none !important;
  }
}
@media print {
  .media-screen {
    display: none !important;
  }
}

.Icon {
  width: 1.3rem;
  height: 1.3rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2px;
  stroke-linecap: round;
  stroke-linejoin: round;

  &.inline {
    vertical-align: top;
    width: 2ch;
    height: 2ch;
  }
}

.text-with-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  svg {
    margin: 0;
    height: 1lh;
    width: 1lh;
  }
}

.Markdown {
  table {
    border-collapse: collapse;
  }
  th {
    background: #f5f5f5;
  }
  th,
  td {
    border: 1px solid #eee;
    padding: 0.25rem 0.75rem;
  }
}

pre.braille-art {
  font-size: 0.7em;
  line-height: 150%;
}
pre.octant-art {
  line-height: 100%;
}
