@import url(https://api.fontshare.com/v2/css?f[]=satoshi@1,2&display=swap);

:root {
  --primary: #89b4fa;
  --text: #cdd6f4;
  --surface-2: #585b70;
  --surface-1: #45475a;
  --surface-0: #313244;
  --base: #1e1e2e;
  --mantle: #181825;
  --crust: #11111b;

  --app-radius: 25%;
}

.material-symbols-rounded {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 200,
  'opsz' 24
}

body,
html {
  background-color: var(--crust);

  width: 100vw;
  height: 100vh;

  display: flex;
  flex-direction: column;
  margin: 0;

  overflow: hidden;
}

*::-webkit-scrollbar {
  display: none;
}

* {
  box-sizing: border-box;
  -ms-overflow-style: none;
  scrollbar-width: none;

  font-family: "Satoshi", sans-serif;
  font-weight: 600;

  color: var(--text);
}

toolbar {
  width: 100%;
  display: flex;
  gap: 10px;
  background: var(--mantle);
  margin: 0;
  padding: 10px;
  border-radius: 20px 20px 0 0;
  border: 1px solid var(--surface-0);
  box-shadow: 1px 3px 10px rgba(0, 0, 0, 0.2), 0 0px 10px rgba(0, 0, 0, 0.2);
  user-select: none;
  position: relvative;
  z-index: 1001;

  & > div {
    &.outlined {
      padding: 10px;
      background: var(--base);
      border-radius: 10px;
      border: 1px solid var(--surface-0);
      box-shadow: 1px 3px 10px rgba(0, 0, 0, 0.1), 0 0px 10px rgba(0, 0, 0, 0.1);
      align-items: center;
      justify-content: center;
    }

    &[data-toolbar-id="start"] {
      cursor: pointer;
      & * {
        transition: color .1s ease-in-out;
        &:hover {
          color: var(--primary);
        }
      }
    }

    &[data-toolbar-id="controls"] {
      * {
        font-size: 24px;
      }
      gap: 5px;
    }

    &[data-toolbar-id="plugins"] {
      width: 24px;
      cursor: pointer;
      padding: 10px 0;
    }

    display: flex;
    align-self: center;

    app {
      display: flex;
      align-items: center;
      cursor: pointer;

      img {
        aspect-ratio: 1 / 1;
        height: 35px;
        border-radius: var(--app-radius);
      }
    }
  }
}

window-area {
  position: relative;
  width: calc(100% - 20px);
  height: 100%;
  overflow: hidden;
  margin: 10px;

  window {
    resize: both;
    max-width: 100%;
    max-height: 100%;
    min-height: 35px;
    min-width: calc(35px * 6);
    background: var(--base);
    display: flex;
    flex-direction: column;
    border-radius: 5px;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2), 0 0px 10px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    border: 1px solid;
    border-color: color-mix(in srgb, var(--text) 20%, transparent);
    background: var(--crust);
    transition: 0.2s opacity, 0.2s transform;

    window-header {
      height: 35px;
      padding: 7.5px;
      display: flex;
      align-items: center;
      gap: 7.5px;
      user-select: none;

      img {
        aspect-ratio: 1 / 1;
        height: 1.2em;
        border-radius: var(--app-radius);
      }
    }

    window-content {
      height: 100%;
      border-radius: 10px 10px 0 0;
      background: var(--mantle);
      overflow: scroll;

      h1 {
        margin-top: 0;
      }
    }
  }
}

.gradient-blur {
  mask: linear-gradient(to bottom, transparent, black 5%), linear-gradient(to top, transparent, black 35%);
  mask-size: 100% 50%;
  mask-repeat: no-repeat;
  mask-position: top, bottom;
}