@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@200;300;400;600&family=Pixelify+Sans&family=VT323&display=swap');

:root {
  font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;
  font-weight: 400;
  --bg: #000000;
  --titlebar-bg: #4a4a4a;
  --text: #ffffff;
  --button-red: #ff5f57;
  --button-yellow: #ffbd2e;
  --button-green: #28ca42;
}

@keyframes typing {
  from {
    width: 0
  }

  to {
    width: 100%
  }
}

html,
body {
  color: var(--text);
  background: url('/images/bg.png') center/cover no-repeat fixed;
  height: 100vh;
  font-size: 13px;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

body {
  padding: 40px;
  box-sizing: border-box;
}

main {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 80px);
  max-width: 1600px;
  margin: 0 auto;
  border-radius: 12px;
  overflow-y: auto;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
  background-color: var(--titlebar-bg);
  scrollbar-width: none;
  -ms-overflow-style: none;
}

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

p {
  line-height: 20px;
  margin: 0;
  white-space: pre-wrap;
}

div {
  line-height: 20px;
}

@font-face {
  font-family: ascii;
  src: url("./font/IBMPlexMono-Thin.ttf")
}

pre {
  margin: 0;
  padding: 0;
  line-height: 20px;
  color: var(--text);
  font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;
}

input {
  font-family: 'SF Mono', 'Monaco', 'Menlo', monospace;
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  font-size: 13px;
  line-height: 20px;
  color: var(--text);
  background-color: transparent;
  caret-color: var(--text);
  width: calc(100% - 200px);
  display: inline;
  vertical-align: baseline;
}

a {
  color: #ffffff;
  text-decoration: underline;
}

a:hover {
  background-color: #ffffff;
  color: #000000;
}

#bars {
  background-color: var(--titlebar-bg);
  height: 36px;
  display: flex;
  align-items: center;
  padding: 0 16px;
  flex-shrink: 0;
}

.window-controls {
  display: flex;
  gap: 8px;
}

.window-control {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
}

.close { background-color: var(--button-red); }
.minimize { background-color: var(--button-yellow); }
.maximize { background-color: var(--button-green); }

#terminal-content {
  flex: 1;
  background-color: var(--bg);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

#terminal-content::-webkit-scrollbar {
  display: none;
}

#terminal {
  padding: 20px;
}

#input-line {
  padding: 0 20px 20px 20px;
}

#input-hidden {
  display: inline-block;
  width: 100%;
  margin: 0;
  line-height: 20px;
}

#input-hidden span {
  display: inline;
}

#password-input {
  line-height: 20px;
  margin: 0;
}

.command {
  color: #ffffff;
}

.output {
  font-weight: 400 !important;
}

.keys {
  color: #ffffff;
  font-weight: 400;
}

@media (max-width: 600px) {
  body {
    font-size: 10px;
    padding: 2px;
    font-weight: 300;
  }

  input {
    font-size: 10px;
  }

  p {
    line-height: 14px;
  }

  pre {
    line-height: 12px !important;
    font-size: 9px;
  }

  main {
    border-width: 1px;
  }

  div {
    line-height: 14px;
  }

  #terminal {
    padding: 10px;
  }

  #input-line {
    padding: 0 10px 10px 10px;
  }
}