@import url('./fonts.css');
@import url('./reset.css');
@import url('./prism.css');
@import url('./codemirror.css');

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

html,
body {
  font-size: 15px;
  --black: #000;
  --woodsmoke: #141619;
  --shark: #212227;
  --shark-dark: #26262a;
  --cod-gray: #181818;
  --alto: #d5d5d5;
  --gallery: #eee;
  --white: #fff;
  --azure-radiance: #1181f9;
  --mariner: #2963c1;
  --tuna: #35353a;
  --cadet-blue: #b1b9c1;
  --silver-tree: #61c093;
  --aquamarine: #61efff;

  /* Theming */

  --bg: var(--shark);
  --fg: var(--alto);
  --sharp-fg: var(--white);
  --separator: var(--shark-dark);
  --hard-separator: #333;
  --soft-separator: var(--alto);

  --hover-bg: #1181f926;
  --header-border: var(--woodsmoke);
  --gallery-bg: var(--gallery);
  --gallery-fg: var(--shark);
  --code-bg: #f8f8f8;
  --code-fg: #000;
  --highlight-color: var(--azure-radiance);
  --highlight-bg: var(--mariner);
  --folder-bg: var(--tuna);
  --folder-border: var(--shark-dark);
  --folder-icon-color: var(--cadet-blue);
  --package-selected-fg: #ffffff;
  --browser-unit-fg: #ffffff;
  --browser-unit-icon-color: var(--silver-tree);
  --subdued-link: var(--cadet-blue);
  --toolbar-button: #333;
  --toolbar-button-active: var(--cod-gray);

  --input-inactive-bg: var(--folder-bg);
  --input-inactive-fg: #999;
  --input-active-fg: var(--alto);
  --input-focus-border: var(--alto);
  --auto-complete-active-bg: var(--cod-gray);
  --secondary-text: #999;
}

.dark {
  --bg: var(--woodsmoke);
  --fg: var(--alto);
  --code-bg: #333;
  --code-fg: var(--fg);
  --canvas-bg: var(--cod-gray);
  background: var(--bg);
  color: var(--fg);
}

.light {
  --bg: var(--gallery-bg);
  --fg: var(--gallery-fg);
  --sharp-fg: var(--black);
  --canvas-bg: var(--white);
  background: var(--bg);
  color: var(--fg);
}

.contrast {
  --fg: var(--sharp-fg);
  color: var(--fg);
}

body {
  background: var(--bg);
  color: var(--fg);
  font-weight: normal;
  font-style: normal;
  font-family: Lato, helvetica, arial, sans-serif;
  font-stretch: normal;
  letter-spacing: normal;
  line-height: 1.33;
  min-height: 100%;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.document {
  background: transparent;
  font-size: 18px;
  max-width: 800px;
  margin: 40px auto;
}

/* Headings */
.h1, .md h1 {font-size: 2rem; font-weight: 400;}
.h1 {font-size: 3rem;}
.h2, .md h2 {font-size: 1.6rem; font-weight: 400;}
.h3, .md h3 {font-size: 1.3rem; font-weight: 400;}
.h4, .md h4 {font-size: 1.2rem; font-weight: 400;}

.text-s {font-size: 0.93rem;}

strong {font-weight: 700;}

code {
  background: var(--code-bg);
  color: var(--code-fg);
  font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;
  padding: 3px 4px;
  border-radius: 4px;
  font-size: 0.9rem;
  font-weight: 500;
}

pre[class*=language-] {
  background: var(--code-bg);
  border: 2px solid #dadee5;
  padding: 12px;
  border-radius: 4px;
}

a,
a:link,
a:visited,
.link,
a code {
  color: var(--azure-radiance);
  cursor: pointer;
  text-decoration: none;
}

a:hover,
a:link:hover,
a:visited:hover,
a.inverted,
a.inverted:link,
a.inverted:visited,
.link:hover {
  text-decoration: underline;
}

.boldable {

}

.boldable::after {
  display: block;
  content: attr(title);
  font-weight: bold;
  height: 1px;
  color: transparent;
  overflow: hidden;
  visibility: hidden;
}

.button {
  background: none;
  border: none;
  cursor: pointer;
  display: block;
  font-family: inherit;
  line-height: 1;
}

.hoverable:hover {
  background: var(--hover-bg);
  cursor: pointer;
}

input {
  font-family: inherit;
  font-size: 1.067rem;

}

.input {
  padding: 6px 10px;
  transition: box-shadow 200ms ease-out 0s, opacity 200ms ease-out 0s;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 0px 1px inset;
  border-radius: 4px;
  border: none;
  outline: none;
}

.input:focus {
  box-shadow: var(--azure-radiance) 0px 0px 0px 1px inset;
}

.error {
  color: #fd1e37;
}

.mod,
.md p,
.md pre, .dark .md pre {margin: 10px 0 20px;}

.mod:first-child,
.md:first-child p:first-child {margin: 20px 0;}

.md h1,
.md h2,
.md h3,
.md h4,
.md h5,
.md h6 {margin: 30px 0 10px;}

.md ol,
.md ul {
  margin: 10px 0 20px 20px;
}

.md ol {list-style-type: number;}
.md ul {list-style-type: disc;}
.md li {margin: 10px 0;}

.vs-s .mod {margin: 10px 0}

.canvas-wrapper + .canvas-wrapper {
  margin-top: 40px;
}

.canvas-menu-button .button {
  border-radius: 4px;
}

.canvas-button-group .canvas-menu-button .button {
  border-radius: 0;
}

.canvas-button-group .canvas-menu-button:first-child .button {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}

.canvas-button-group .canvas-menu-button:last-child .button {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.draggable {
  cursor: grab;
}

.dragging {
  cursor: grabbing;
}

.auto-completer {
  color: var(--input-inactive-fg);
}

.auto-completer input {
  color: var(--input-inactive-fg);
  border: 1px solid var(--input-inactive-bg);
}

.auto-completer:has(input:focus),
.auto-completer.active {
  color: var(--input-active-fg);
}

.auto-completer input:focus,
.auto-completer.active input {
  color: var(--input-active-fg);
  outline: none;
  border: 1px solid var(--input-focus-border);
}

.auto-completer .suggestions {
  color: var(--input-active-fg);
}

.auto-completer .suggestions strong {
  color: var(--fg);
}

.clickable {
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  line-height: 1;
  font-family: inherit;
  font-size: inherit;
  padding: 0;
  display: inline-block;
}

.hud {
  background: rgba(255, 220, 110, 0.85);
  background: rgba(255, 250, 160, 1);
}

/* Logo */

@keyframes wiggle-medium {
  0% { transform: rotate(0deg); }
  80% { transform: rotate(0deg); }
  85% { transform: rotate(15deg); }
  95% { transform: rotate(-15deg); }
  100% { transform: rotate(0deg); }
}

.circle {
  border-radius: 50%;
  display: inline-block;
  line-height: 1;
}

.blue-gradient {
  background: linear-gradient(135deg, var(--mariner) 0%, var(--aquamarine) 100%);
}
