:root {
  color-scheme: light;
  font-family: "Geist", ui-sans-serif, system-ui, sans-serif;
  background: var(--desk-canvas, #fff);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  background: var(--desk-canvas, #181818);
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  margin: 0;
}

body {
  display: grid;
  min-width: 320px;
  min-height: 100dvh;
  place-items: center;
  padding: clamp(20px, 5vw, 72px);
  background: var(--desk-canvas, #fff);
  color: #171717;
  transition:
    background-color 240ms cubic-bezier(0.23, 1, 0.32, 1),
    color 240ms cubic-bezier(0.23, 1, 0.32, 1);
}

:root[data-theme="dark"] body {
  background: var(--desk-canvas, #181818);
  color: #f5f5f5;
}

.desk-stage {
  width: min(80vw, 960px);
}

:root[data-desk-layout="all"] .desk-stage {
  width: min(92vw, 1180px);
}

:root[data-desk-layout="all"] body {
  align-items: start;
  padding-top: 96px;
  padding-bottom: 96px;
}

.desk-stage .gpu-index {
  margin: 0;
  scroll-margin-top: 96px;
}

.desk-stage .gpu-benchmark__chart {
  height: auto;
  aspect-ratio: 2 / 1;
}

@media (max-width: 640px) {
  body {
    align-items: start;
    padding: calc(96px + 64px) 12px 64px;
  }

  .desk-stage {
    width: 100%;
  }

  :root[data-desk-layout="all"] body {
    padding-top: calc(96px + 64px);
  }

  .desk-stage .gpu-index {
    scroll-margin-top: calc(96px + 64px);
  }

  .desk-stage .gpu-benchmark__chart {
    height: 244px;
    aspect-ratio: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  body,
  .desk-stage {
    transition: none;
  }
}
