@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-cyrillic.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: block;
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: block;
  unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20AC, U+2122;
}

:root {
  color-scheme: dark;
  background: #0f0f0f;
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-x: clip;
  background: #0f0f0f;
}

body {
  min-height: 100vh;
  font-family: "Inter", Arial, sans-serif;
  letter-spacing: 0;
}

.stage {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  background: #0f0f0f;
}

.canvas {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  transform-origin: 0 0;
  background: #0f0f0f;
}

.widget {
  position: absolute;
  margin: 0;
  padding: 0;
}

.widget-picture {
  overflow: hidden;
}

.widget-picture img {
  position: absolute;
  display: block;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  user-select: none;
  pointer-events: none;
  -webkit-user-drag: none;
}

.widget-text {
  overflow: hidden;
  color: #6a6c71;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

.widget-text p {
  margin: 0;
  padding: 0;
  border: 0;
  letter-spacing: 0;
  white-space: normal;
}

.widget-text span {
  letter-spacing: 0;
}

.widget-shape {
  display: block;
}

.widget-video {
  overflow: hidden;
  background: #000;
  isolation: isolate;
  cursor: default;
}

.widget-video.is-interactive {
  cursor: pointer;
}

.widget-video video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
  object-position: 50% 50%;
  background: #000;
}

.video-control {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  width: var(--control-size, 56px);
  height: var(--control-size, 56px);
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  outline: 0;
  color: #fff;
  background: transparent;
  transform: translate(-50%, -50%);
  cursor: pointer;
}

.video-control svg {
  display: block;
  width: 100%;
  height: 100%;
}

.video-control:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.widget-video.is-playing .video-control {
  display: none;
}

noscript {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  color: #6a6c71;
  background: #0f0f0f;
  font: 400 18px/25px "Inter", Arial, sans-serif;
  text-align: center;
}
