@font-face {
  font-family: 'Mona Sans';
  src:
    url('/fonts/Mona-Sans.woff2') format('woff2 supports variations'),
    url('/fonts/Mona-Sans.woff2') format('woff2-variations');
  font-weight: 200 900;
  font-stretch: 75% 125%;
}

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.4;
  font-family: 'Mona Sans', sans-serif;
  background: #F7DFB1;
  margin: 0;
  background-image: 
    url('/noise-light.png'),
    radial-gradient(at left top, #ED99BC 0%, #F7DFB0 59.5%, #AAC8F4 90%)
  ;
  background-attachment: fixed;
  color: #C2C8FF;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

.button {
  border-radius: 999px;
  font-family: "Tusker Grotesk 8700";
  text-decoration: none;
  font-size: 1rem;
  line-height: 1.8;
  display: block;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
  padding: 1rem 0;
  background: linear-gradient(330deg, #0D0C13 18.45%, #1E1F24 83.3%);
  box-shadow: 0px -1px 0px 0px rgba(249, 148, 126, 0.09) inset, 0px 4px 4px 0px rgba(0, 0, 0, 0.25), 0px 3px 0px 0px #000, -1px 0px 1px 0px rgba(214, 128, 185, 0.43) inset, 1px 0px 1px 0px rgba(70, 102, 151, 0.49) inset, 0px 1px 0px 0px rgba(106, 249, 171, 0.31) inset;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  transition: all .8s ease-out;
}
.button:hover {
  transform: scale(1.05);
  box-shadow: 0px 1px 0px 0px rgba(249, 148, 126, 0.09) inset, 0px 4px 12px 0px rgba(0, 0, 0, 0.45), 0px 3px 0px 0px #000, 1px 0px 1px 0px rgba(214, 128, 185, 0.43) inset, -1px 0px 1px 0px rgba(70, 102, 151, 0.49) inset, 0px -1px 0px 0px rgba(106, 249, 171, 0.31) inset;
}
.button span {
  display: inline-block;
  padding: .2em 0;
}

.dark-noise {
  background: url("/dark-noise.png");
}

.gradient-noise {
  background-image: 
    url('/noise-light.png'),
    radial-gradient(at left top, #ED99BC 0%, #F7DFB0 79.5%)
  ;
}

.gradient-text {
  background-image: 
    radial-gradient(at left center, #ED99BC 0%, #F7DFB0 59.5%, #AAC8F4 70%)
  ;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.gradient-text.with-noise {
  background-image: 
    url('/noise-light.png'),
    radial-gradient(at left top, #ED99BC 0%, #F7DFB0 79.5%, #AAC8F4 90%)
  ;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.gradient-text.limit.with-noise {
  background-image: 
    url('/noise-light.png'),
    radial-gradient(at left top, #ED99BC 0%, #F7DFB0 79.5%)
  ;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.pink-noise {
  background-color: #EEA4BA;
  background-image: url('/noise-light.png');
}

.yellow-noise {
  background-color: #F7DFB0;
  background-image: url('/noise-light.png');
}

.blue-noise {
  background-color: #ABB2E2;
  background-image: url('/noise-light.png');
}

.bevel {
  box-shadow: -3px -4px 0px 0px rgba(0, 0, 0, 0.33) inset;
}

/** PRISM THEME **/
/*
Name: Duotone Dark
Author: Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes)

Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-evening-dark.css)
Generated with Base16 Builder (https://github.com/base16-builder/base16-builder)
*/

code[class*="language-"],
pre[class*="language-"],
code {
	font-family: "JetBrains Mono", Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace;
	font-size: 16px;
	line-height: 1.375;
	direction: ltr;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;

  -webkit-font-smoothing: subpixel-antialiased;
  font-weight: 400;

	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;

	-webkit-hyphens: none;
	-moz-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
	background: #2a2734;
	color: rgba(255,255,255,.8);
}

p code {
  padding: 1px 2px;
  border-radius: 3px;
  border: 1px solid rgba(255,255,255,.1);
}

pre > code[class*="language-"] {
	font-size: 1em;
}

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
	text-shadow: none;
	background: #6a51e6;
}

pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
	text-shadow: none;
	background: #6a51e6;
}

/* Code blocks */
pre[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
	padding: .1em;
	border-radius: .3em;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
	color: #6c6783;
}

.token.punctuation {
	color: #6c6783;
}

.token.namespace {
	opacity: .7;
}

.token.tag,
.token.operator,
.token.number {
	color: #e09142;
}

.token.property,
.token.function {
	color: #9a86fd;
}

.token.tag-id,
.token.selector,
.token.atrule-id {
	color: #eeebff;
}

code.language-javascript,
.token.attr-name {
	color: #c4b9fe;
}

code.language-css,
code.language-scss,
.token.boolean,
.token.string,
.token.entity,
.token.url,
.language-css .token.string,
.language-scss .token.string,
.style .token.string,
.token.attr-value,
.token.keyword,
.token.control,
.token.directive,
.token.unit,
.token.statement,
.token.regex,
.token.atrule {
	color: #ffcc99;
}

.token.placeholder,
.token.variable {
	color: #ffcc99;
}

.token.deleted {
	text-decoration: line-through;
}

.token.inserted {
	border-bottom: 1px dotted #eeebff;
	text-decoration: none;
}

.token.italic {
	font-style: italic;
}

.token.important,
.token.bold {
	font-weight: bold;
}

.token.important {
	color: #c4b9fe;
}

.token.entity {
	cursor: help;
}

pre > code.highlight {
	outline: .4em solid #8a75f5;
	outline-offset: .4em;
}

/* overrides color-values for the Line Numbers plugin
 * http://prismjs.com/plugins/line-numbers/
 */
.line-numbers.line-numbers .line-numbers-rows {
	border-right-color: #2c2937;
}

.line-numbers .line-numbers-rows > span:before {
	color: #3c3949;
}

/* overrides color-values for the Line Highlight plugin
* http://prismjs.com/plugins/line-highlight/
*/
.line-highlight.line-highlight {
	background: rgba(224, 145, 66, 0.2);
	background: -webkit-linear-gradient(left, rgba(224, 145, 66, 0.2) 70%, rgba(224, 145, 66, 0));
	background: linear-gradient(to right, rgba(224, 145, 66, 0.2) 70%, rgba(224, 145, 66, 0));
}