/*
 * Jordan McGilvray.net
 * Base Styles
 *
 * Global colors, resets, and fundamental element behavior.
 */

/* Solarized palette */
:root {
  --solarized-base03: #002b36;
  --solarized-base02: #073642;
  --solarized-base01: #586e75;
  --solarized-base00: #657b83;
  --solarized-base0:  #839496;
  --solarized-base1:  #93a1a1;
  --solarized-base2:  #eee8d5;
  --solarized-base3:  #fdf6e3;

  --solarized-yellow:  #b58900;
  --solarized-orange:  #cb4b16;
  --solarized-red:     #dc322f;
  --solarized-magenta: #d33682;
  --solarized-violet:  #6c71c4;
  --solarized-blue:    #268bd2;
  --solarized-cyan:    #2aa198;
  --solarized-green:   #859900;

  /* Site colors */
  --color-background: var(--solarized-base03);
  --color-surface: var(--solarized-base02);

  /* Slightly brighter than canonical Solarized for readability */
  --color-text: #a7b3b3;
  --color-muted: var(--solarized-base0);

  --color-link: var(--solarized-blue);
  --color-link-hover: var(--solarized-cyan);

  --color-strong: var(--solarized-yellow);
  --color-border: var(--solarized-base01);

  color-scheme: dark;
}

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

/* Document */
html {
  min-height: 100%;
  background-color: var(--color-background);
}

body {
  min-height: 100%;
  margin: 0;
  background-color: var(--color-background);
  color: var(--color-text);
}

/* Basic media */
img,
svg {
  max-width: 100%;
  height: auto;
}

img {
  border: 0;
}

/* Links */
a {
  color: var(--color-link);
  text-decoration: none;
}

a:hover,
a:focus {
  color: var(--color-link-hover);
}

/* Emphasis */
strong,
b {
  color: var(--color-strong);
}

/* Horizontal rules */
hr {
  height: 0;
  margin: 1.5rem 0;
  border: 0;
  border-top: 1px solid var(--color-border);
}

/* Tables */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Forms inherit site colors by default */
button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
}

/* Text selection */
::selection {
  background-color: var(--solarized-base01);
  color: var(--solarized-base2);
}
