/* Повторы. Повторяющиеся стили, чтобы не засорять код */ :root { --color-menu: rgb(22, 22, 22); --color-window: rgb(128, 128, 128); --color-border: 2px solid rgb(0, 77, 0); } .menu, #mpmenu { display: flex; justify-content: space-between; align-items: center; -moz-user-select: -moz-none; -o-user-select: none; -khtml-user-select: none; -webkit-user-select: none; user-select: none; height: 20px; } #window, #mpwindow { color: var(--color-window); top: 60%; left: 50%; position: absolute; border: var(--color-border); overflow: auto; box-shadow: 20px 20px 0 0 rgba(0, 0, 0, 0.7); transform: translate(-50%, -70%); } /* ------------- */ /* Главный оконный имитатор */ #window { /* другие стили в повторах */ background-color: black; width: 660px; } #terminal { color: gray; padding: 5px; z-index: 3; height: 550px; } .command { transition: opacity 0.3s ease; padding: 5px; } .command[data-step] { display: none; } .command[data-step="initial"] { display: block; } .menu { /* другие стили в повторах */ background-color: var(--color-menu); padding: 0 10px; } #top-menu { color:gray; height: 20px; } #top-menu #title { color: gray; position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; } .controls { margin-left: auto; display: flex; gap: 15px; padding: 5px; } .controls a { color: inherit; text-decoration: none; cursor: pointer; } #bottom-menu { background-color: rgb(10, 10, 10); color:white; white-space: pre; height: 20px; bottom: 0; } /* ----------------------- */ /* имитатор видеоплеера */ #mpwindow { /* другие стили в повторах */ background-color: rgb(0, 183, 255); z-index: 5; width: 640px; height: 500px; } #mpmenu { /* другие стили в повторах */ background-color: rgb(22, 22, 22); color:gray; z-index: 5; } #mpmenu #mptitle { color: gray; position: absolute; left: 50%; transform: translateX(-50%); white-space: nowrap; } #mpvideo { position: relative; width: 100%; padding-top: 75%; overflow: hidden; } #mpvideo video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; } /* ----------------------- */ /* Иной мусор */ .signature { position: fixed; bottom: 10px; right: 10px; color: rgb(85, 85, 85); font-size: 12px; width: 250px; background-color: black; border: 1px solid green; } .alert { position: fixed; top: 15%; left: 50%; transform: translate(-50%, -50%); z-index: 999; background-color: rgba(0, 0, 0, 0.8); color: white; padding: 20px 40px; border-radius: 10px; font-size: 24px; text-align: center; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); } .cursor { animation: blink 1s infinite; opacity: 1; } @keyframes blink { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } } .password-field { letter-spacing: 3px; margin-right: 2px; } .error-message { color: #ff5555; display: none; }