:root {
  color-scheme: dark;
  --stage-bg: #1e1714;
  --rail-bg: #343331;
  --focus: #ffc400;
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-width: 320px;
  min-height: 100%;
  margin: 0;
  background: var(--stage-bg);
}

body {
  overflow: hidden;
  font-family: Arial, "Pretendard", sans-serif;
}

.site-stage {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: stretch;
  background: var(--stage-bg);
}

.home-reference {
  width: 100vw;
  height: 100vh;
  display: block;
  object-fit: cover;
  object-position: center center;
  user-select: none;
  -webkit-user-drag: none;
}

.hit-zones {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hit-zone {
  position: absolute;
  display: block;
  pointer-events: auto;
  border-radius: 10px;
  outline: 0;
}

.hit-zone:focus-visible {
  box-shadow: 0 0 0 2px var(--stage-bg), 0 0 0 5px var(--focus);
}

.hit-zone-home {
  left: 0;
  top: 28.2%;
  width: 34px;
  height: 34px;
}

.hit-zone-profile {
  left: 0;
  top: 32.8%;
  width: 34px;
  height: 34px;
}

.hit-zone-thread {
  left: 0;
  top: 49%;
  width: 34px;
  height: 34px;
}

.hit-zone-keyword {
  left: 0;
  top: 56.8%;
  width: 34px;
  height: 34px;
}

.hit-zone-log {
  left: 0;
  top: 64.8%;
  width: 34px;
  height: 34px;
}

@media (max-aspect-ratio: 4 / 3) {
  body {
    overflow: auto;
  }

  .site-stage {
    position: relative;
    min-height: 100vh;
    display: block;
    background:
      linear-gradient(90deg, var(--rail-bg) 0 42px, transparent 42px),
      var(--stage-bg);
  }

  .home-reference {
    width: 100%;
    height: auto;
    min-height: 0;
    object-fit: contain;
  }
}
