@import 'fonts';

$theme_dark: (
  "background-color": null,
);
$theme_main: (
  "text-size": 3em,
  "text-color": black,
  "text-shadow": #36ad 0px 0px 3px,
  "card-background": #d6f,
  "card-shadow": #11121212 0px 0px 2px 1px,
  "card-padding": 1rem,
  "card-margin": 0.5in,
  "image-width": 600px,
  "image-height": 100vh,
  "background-color": #dedbef,
  "i-ran-out-of-placeholders-for-units": (1vw 100% 60pt),
);

$current_theme: $theme_main;

@mixin themed() {
  $current_theme: $theme_main !global;
  @content;

  @media (prefers-color-scheme: dark) {
  	$current_theme: $theme_dark !global;
  	@content;
  }
  
  .#{"dark"} & {
    $current_theme: $theme_dark !global;
    @content;
  }
}

@function theme($variable) {
  @if map-has_key($current_theme, $variable) {
    @return map-get($current_theme, $variable);
  } @else {
    @error "Unknown theme variable: #{$variable}";
  }
}

body {
  @include themed {
    background-color: theme('background-color');
    background-image: url("https://github.com/sharkdp/bat/raw/master/doc/logo-header.svg");
  }
  
  header[data-selectable="false"] {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: /* CSS comment */ none;
    cursor: default !important; // SCSS comment
  }
  
  > div {
    border: #04f 1px solid;
    
    &::after {
      content: 'Pseudo';
      color: #2F5F7F;
      box-sizing: border-box;
    }
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg)}
  100% {transform: rotate(0rad);}
}

@font-face {
  font-family: 'Example Font';
  src: url(example.ttf) format('ttf');
  src: local('Comic Sans MS');
}
