@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
  list-style: none;
  scroll-behavior: smooth;
  /* outline: 1px dotted red; */
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}

html,
body {
  height: 100%;
  width: 100%;
}

:root {
  --bg-primary: rgb(17, 17, 17);
  --bg-secondary: rgb(34, 34, 34);
  --bg-active: rgb(233, 233, 233);
  --bg-danger: rgb(200, 50, 50);
  --bg-success: rgb(50, 200, 50);
  --text-primary: rgb(255, 255, 255);
  --text-secondary: rgb(200, 200, 200);
  --text-tertiary: rgb(150, 150, 150);
  --text-active: rgb(24, 24, 24);
  --margin-sm: 0.5rem;
  --margin-md: 1rem;
  --margin-lg: 1.5rem;
  --margin-xl: 2rem;
  --margin-2xl: 3rem;
  --padding-sm: 0.5rem;
  --padding-md: 1rem;
  --padding-lg: 1.5rem;
  --padding-xl: 2rem;
  --padding-2xl: 3rem;
  --gutter-sm: 0.5rem;
  --gutter-md: 1rem;
  --gutter-lg: 1.5rem;
  --gutter-xl: 2rem;
  --gutter-2xl: 3rem;
  --font-size-sm: 0.875rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --border-radius-sm: 0.2rem;
  --border-radius-md: 0.25rem;
  --border-radius-lg: 0.3rem;
  --border-radius-xl: 0.4rem;
  --border-radius-2xl: 0.5rem;
}

body {
  display: flex;
  gap: var(--gutter-sm);
  padding: var(--padding-sm);
  padding-right: 0;
  color: var(--text-primary);
  background-color: var(--bg-primary);
}

main {
  flex: 1.5;
  display: flex;
  flex-direction: column;
  gap: var(--gutter-sm);
  padding: var(--padding-sm);
  border: 1px solid var(--bg-secondary);
  border-radius: var(--border-radius-md);
}

.image-container {
  flex: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bg-secondary);
  border-radius: var(--border-radius-sm);
  background-color: var(--text-active);
}

.placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--gutter-sm);
  font-size: var(--font-size-xl);
  color: var(--text-tertiary);
}

.placeholder i {
  font-size: calc(var(--font-size-2xl)*6);
}

canvas {
  display: none;
  max-height: 85dvh;
  max-width: 70dvw;
  background-color: transparent;
}

.tool-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--gutter-md);
}

.btn {
  padding: var(--padding-sm) var(--padding-2xl);
  font-size: var(--font-size-md);
  font-weight: 500;
  text-transform: capitalize;
  border: none;
  border-radius: var(--border-radius-sm);
  outline: none;
  color: var(--text-active);
  background-color: var(--bg-active);
  cursor: pointer;
}

#reset-btn {
  color: var(--text-primary);
  background-color: var(--bg-danger);
}

#download-btn {
  color: var(--text-primary);
  background-color: var(--bg-success);
}

aside {
  flex: 0.5;
  display: flex;
  flex-direction: column;
  gap: var(--gutter-2xl);
  padding: var(--padding-sm);
  border: 1px solid var(--bg-secondary);
  border-radius: var(--border-radius-md);
  overflow-y: auto;
}

aside::-webkit-scrollbar {
  width: 8px;
}

aside::-webkit-scrollbar-track {
  border: 1px solid var(--bg-secondary);
  border-radius: var(--border-radius-sm);
  background-color: var(--bg-primary);
}

aside::-webkit-scrollbar-thumb {
  border: 1px solid var(--text-tertiary);
  border-radius: var(--border-radius-sm);
  background-color: var(--bg-secondary);
}

aside::-webkit-scrollbar-thumb:hover {
  border: 1px solid var(--text-secondary);
}

.ctnr {
  display: flex;
  flex-direction: column;
  gap: var(--gutter-md);
}

h2 {
  font-size: var(--font-size-xl);
  text-transform: capitalize;
  line-height: 1;
  font-weight: 600;
  color: var(--text-primary);
}

.filters {
  display: flex;
  flex-direction: column;
  gap: var(--gutter-sm);
}

.filters p {
  font-size: var(--font-size-md);
  text-transform: capitalize;
  font-weight: 500;
}

.filters input {
  width: 100%;
  outline: none;
  appearance: none;
  background-color: var(--bg-primary);
}

.filters input::-webkit-slider-runnable-track {
  height: 10px;
  border-radius: var(--border-radius-lg);
  background-color: var(--bg-secondary);
}

.filters input::-webkit-slider-thumb {
  appearance: none;
  width: 20px;
  aspect-ratio: 1 / 1;
  margin-top: -4.5px;
  border-radius: 50%;
  background-color: var(--bg-danger);
  cursor: pointer;
}

.presets {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--gutter-sm);
}

.preset-btn {
  font-size: var(--font-size-sm);
  padding: var(--padding-sm) var(--padding-md);
}

@media (max-width: 700px) {
  body {
    flex-direction: column;
  }
  .btn {
    font-size: var(--font-size-sm);
    padding: var(--padding-sm) var(--padding-sm);
  }
}