/* ------------------------------------------------------------------
   bulma-lite.css — the subset of Bulma used by the Nerfies project-page
   template (hero, section, container, columns, title, button, table…),
   re-implemented so the page has no external CSS dependency.
   Class names match Bulma, so snippets from other Nerfies pages drop in.
   ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { background: #fff; font-size: 16px; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; scroll-behavior: smooth; }
body { margin: 0; color: #4a4a4a; font-size: 1em; font-weight: 400; line-height: 1.5;
  font-family: "Noto Sans", BlinkMacSystemFont, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
a { color: #3273dc; cursor: pointer; text-decoration: none; }
a:hover { color: #363636; }
img { height: auto; max-width: 100%; }
video { max-width: 100%; display: block; }
strong, b { color: #363636; font-weight: 700; }
sup { font-size: 0.7em; line-height: 0; }
pre { background: #f5f5f5; color: #4a4a4a; font-size: 0.875em; overflow-x: auto; padding: 1.25rem 1.5rem; white-space: pre; word-wrap: normal; border-radius: 4px; }
code, pre { font-family: monospace, monospace; }

/* layout */
.container { flex-grow: 1; margin: 0 auto; position: relative; width: auto; }
.container.is-max-desktop { max-width: 960px; }
.container.is-max-widescreen { max-width: 1152px; }
.hero { display: flex; flex-direction: column; justify-content: space-between; }
.hero-body { flex-grow: 1; flex-shrink: 0; padding: 3rem 1.5rem; }
.hero.is-small .hero-body { padding: 1.5rem; }
.hero.is-light { background: #f5f5f5; color: rgba(0, 0, 0, 0.7); }
.section { padding: 3rem 1.5rem; }
@media (min-width: 1024px) { .section { padding: 3rem 3rem; } }
.footer { background: #fafafa; padding: 3rem 1.5rem 6rem; }

.columns { display: flex; margin-left: -0.75rem; margin-right: -0.75rem; margin-top: -0.75rem; }
.columns:last-child { margin-bottom: -0.75rem; }
.columns:not(:last-child) { margin-bottom: calc(1.5rem - 0.75rem); }
.columns.is-centered { justify-content: center; }
.columns.is-vcentered { align-items: center; }
.columns.is-multiline { flex-wrap: wrap; }
.column { display: block; flex: 1 1 0; padding: 0.75rem; min-width: 0; }
.column.is-narrow { flex: none; width: unset; }
.column.is-full { flex: none; width: 100%; }
.column.is-four-fifths { flex: none; width: 80%; }
.column.is-three-quarters { flex: none; width: 75%; }
.column.is-two-thirds { flex: none; width: 66.6666%; }
.column.is-half { flex: none; width: 50%; }
.column.is-one-third { flex: none; width: 33.3333%; }
.column.is-one-quarter { flex: none; width: 25%; }
.column.is-one-fifth { flex: none; width: 20%; }
.column.is-8 { flex: none; width: 66.6666%; }
.column.is-10 { flex: none; width: 83.3333%; }
@media (max-width: 768px) {
  .columns:not(.is-mobile) { display: block; }
  .columns:not(.is-mobile) > .column { width: auto !important; }
}

/* typography */
.title, .subtitle { word-break: break-word; margin: 0; }
.title { color: #363636; font-size: 2rem; font-weight: 600; line-height: 1.125; text-wrap: balance; }
.title:not(:last-child), .subtitle:not(:last-child) { margin-bottom: 1.5rem; }
.title + .subtitle { margin-top: -1.25rem; }
.title.is-1 { font-size: 3rem; } .title.is-2 { font-size: 2.5rem; } .title.is-3 { font-size: 2rem; }
.title.is-4 { font-size: 1.5rem; } .title.is-5 { font-size: 1.25rem; } .title.is-6 { font-size: 1rem; }
.subtitle { color: #4a4a4a; font-size: 1.25rem; font-weight: 400; line-height: 1.25; }
.subtitle.is-5 { font-size: 1.25rem; } .subtitle.is-6 { font-size: 1rem; }
.is-size-4 { font-size: 1.5rem; } .is-size-5 { font-size: 1.25rem; } .is-size-6 { font-size: 1rem; } .is-size-7 { font-size: 0.75rem; }
.has-text-centered { text-align: center; } .has-text-justified { text-align: justify; } .has-text-left { text-align: left; }
.has-text-grey { color: #7a7a7a; } .has-text-weight-bold { font-weight: 700; } .has-text-weight-semibold { font-weight: 600; }
.is-italic { font-style: italic; }
.content p:not(:last-child), .content ol:not(:last-child), .content ul:not(:last-child), .content table:not(:last-child), .content pre:not(:last-child) { margin-bottom: 1em; }
.content p { margin-top: 0; }
.content ul { list-style: disc outside; margin-left: 2em; margin-top: 1em; padding: 0; }
.content ol { list-style-position: outside; margin-left: 2em; margin-top: 1em; padding: 0; }
.content li + li { margin-top: 0.25em; }
.content h3, .content h4 { color: #363636; font-weight: 600; line-height: 1.125; }
.content h3 { font-size: 1.5em; margin: 1.3333em 0 0.6666em; }
.content h4 { font-size: 1.25em; margin: 1.6em 0 0.8em; }
.content h3:first-child, .content h4:first-child { margin-top: 0; }
.content figure { margin: 0 0 1em; text-align: center; }
.content figure img { display: inline-block; }
.content figure figcaption { font-style: italic; }
@media (max-width: 480px) { .title.is-1 { font-size: 2.15rem; } .title.is-3 { font-size: 1.6rem; } .is-size-5 { font-size: 1.05rem; } }

/* button */
.button { display: inline-flex; align-items: center; justify-content: center; height: 2.5em; padding: calc(0.5em - 1px) 1em;
  border: 1px solid #dbdbdb; border-radius: 4px; background: #fff; color: #363636; font-size: 1rem; line-height: 1.5;
  cursor: pointer; white-space: nowrap; text-align: center; vertical-align: top; user-select: none; }
.button.is-rounded { border-radius: 9999px; padding-left: calc(1em + 0.25em); padding-right: calc(1em + 0.25em); }
.button.is-dark { background: #363636; border-color: transparent; color: #fff; }
.button.is-dark:hover { background: #2f2f2f; color: #fff; }
.button.is-normal { font-size: 1rem; }
.button .icon:first-child:not(:last-child) { margin-left: calc(-0.5em - 1px); margin-right: 0.25em; }
.icon { display: inline-flex; align-items: center; justify-content: center; height: 1.5rem; width: 1.5rem; }
.icon svg { width: 1em; height: 1em; fill: currentColor; }

/* table */
.table-container { overflow: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }
.table { background: #fff; color: #363636; border-collapse: collapse; border-spacing: 0; }
.table td, .table th { border: solid #dbdbdb; border-width: 0 0 1px; padding: 0.5em 0.75em; vertical-align: top; }
.table th { color: #363636; font-weight: 700; }
.table thead th { border-width: 0 0 2px; }
.table tbody tr:last-child td { border-bottom-width: 0; }
.table.is-fullwidth { width: 100%; }
.table.is-narrow td, .table.is-narrow th { padding: 0.3em 0.6em; }
.table.is-striped tbody tr:nth-child(even) { background: #fafafa; }
.table.is-hoverable tbody tr:hover { background: #f5f5f5; }
.column.is-three-fifths { flex: none; width: 60%; }
.column.is-two-fifths { flex: none; width: 40%; }
