@font-face {
  font-family: "ProximaNova";
  src: url("../../fonts/ProximaNova-Semibold.eot?#iefix") format("embedded-opentype"),
    url("../../fonts/ProximaNova-Semibold.otf") format("opentype"),
    url("../../fonts/ProximaNova-Semibold.woff") format("woff"),
    url("../../fonts/ProximaNova-Semibold.ttf") format("truetype"),
    url("../../fonts/ProximaNova-Semibold.svg#ProximaNova-Semibold") format("svg");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: "ProximaNova";
  src: url("../../fonts/ProximaNova-Regular.eot?#iefix") format("embedded-opentype"),
    url("../../fonts/ProximaNova-Regular.otf") format("opentype"),
    url("../../fonts/ProximaNova-Regular.woff") format("woff"),
    url("../../fonts/ProximaNova-Regular.ttf") format("truetype"),
    url("../../fonts/ProximaNova-Regular.svg#ProximaNova-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
}


*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

body {
  margin: 0;
  font-family: "ProximaNova", sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
  background: #030540 url("../../images/bg2.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  color: #d5dfea;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: none;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

a {
  color: #17a2b8;
  text-decoration: none;
  background-color: transparent;
  outline: none;
}

a:hover {
  color: #6CDAEE;
  text-decoration: none;
  outline: none;
}

a:not([href]):not([class]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #96afc0;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role="button"] {
  cursor: pointer;
}

select {
  word-wrap: normal;
  background-color: #1e1f28;
  color: #d5dfea;
  border: 1px solid rgba(90, 185, 234, 0.2);
}

select option {
  background-color: #1e1f28;
  color: #d5dfea;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type="radio"],
input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  margin-bottom: 0.5rem;
  font-weight: 600;
  line-height: 1.2;
  color: #5ab9ea;
}

h1,
.h1 {
  font-size: 2.5rem;
}

h2,
.h2 {
  font-size: 2rem;
}

h3,
.h3 {
  font-size: 1.75rem;
}

h4,
.h4 {
  font-size: 1.5rem;
}

h5,
.h5 {
  font-size: 1.25rem;
}

h6,
.h6 {
  font-size: 1rem;
}
/* === ДОПОЛНИТЕЛЬНЫЕ ТЕГОВЫЕ ПРАВИЛА ИЗ BOOTSTRAP.CSS === */

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(90, 185, 234, 0.15);
}

::selection {
  background: #5ab9ea;
  color: #030540;
}
::-moz-selection {
  background: #5ab9ea;
  color: #030540;
}

::placeholder {
  color: #7395ae;
  opacity: 1;
}

small,
.small {
  font-size: 80%;
  font-weight: 400;
}

mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}

a.close.disabled {
  pointer-events: none;
}

textarea.form-control {
  height: auto;
}

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }
  a:not(.btn) {
    text-decoration: none;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #adb5bd;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  @page {
    size: a3;
  }
  body {
    min-width: 992px !important;
  }
}

/* === input[type="submit"] без класса (DLE: "Выполнить" в PM и др.) === */
input[type="submit"]:not([class]),
button[type="submit"]:not([class]) {
  display: inline-block;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 8px;
  border: 1px solid rgba(85, 178, 253, 0.28);
  background: rgba(85, 178, 253, 0.10);
  color: #55b2fd;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}
input[type="submit"]:not([class]):hover,
button[type="submit"]:not([class]):hover {
  background: rgba(85, 178, 253, 0.22);
  border-color: rgba(85, 178, 253, 0.65);
  color: #fff;
  box-shadow: 0 0 16px rgba(85, 178, 253, 0.35), 0 4px 12px rgba(85, 178, 253, 0.20);
  transform: translateY(-2px);
}
input[type="submit"]:not([class]):active,
button[type="submit"]:not([class]):active {
  background: rgba(85, 178, 253, 0.30);
  border-color: rgba(85, 178, 253, 0.80);
  color: #fff;
  box-shadow: 0 0 8px rgba(85, 178, 253, 0.20);
  transform: translateY(0);
}

/* === Глобальный .btn для PHP-генерируемых кнопок (DLE: Принимаю/Не принимаю и др.) === */
.btn {
  border: 1px solid rgba(85, 178, 253, 0.28);
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  border-radius: 8px;
  outline: none;
  background: rgba(85, 178, 253, 0.10);
  color: #55b2fd;
  padding: 7px 22px;
  font-size: 1rem;
  line-height: 1.5;
  text-decoration: none;
  box-sizing: border-box;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}
.btn:hover {
  background: rgba(85, 178, 253, 0.22);
  border-color: rgba(85, 178, 253, 0.65);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 0 16px rgba(85, 178, 253, 0.35), 0 4px 12px rgba(85, 178, 253, 0.20);
  transform: translateY(-2px);
}
.btn:active {
  background: rgba(85, 178, 253, 0.30);
  border-color: rgba(85, 178, 253, 0.80);
  color: #fff;
  box-shadow: 0 0 8px rgba(85, 178, 253, 0.20);
  transform: translateY(0);
}
.btn-success {
  background: rgba(154, 211, 31, 0.10);
  border-color: rgba(154, 211, 31, 0.28);
  color: #9AD31F;
}
.btn-success:hover {
  background: rgba(154, 211, 31, 0.22);
  border-color: rgba(154, 211, 31, 0.65);
  color: #fff;
  box-shadow: 0 0 16px rgba(154, 211, 31, 0.35), 0 4px 12px rgba(154, 211, 31, 0.20);
  transform: translateY(-2px);
}
.btn-success:active {
  background: rgba(154, 211, 31, 0.30);
  border-color: rgba(154, 211, 31, 0.80);
  color: #fff;
  box-shadow: 0 0 8px rgba(154, 211, 31, 0.20);
  transform: translateY(0);
}
.btn-danger {
  background: rgba(254, 102, 111, 0.10);
  border-color: rgba(254, 102, 111, 0.28);
  color: #fe666f;
}
.btn-danger:hover {
  background: rgba(254, 102, 111, 0.22);
  border-color: rgba(254, 102, 111, 0.65);
  color: #fff;
  box-shadow: 0 0 16px rgba(254, 102, 111, 0.35), 0 4px 12px rgba(254, 102, 111, 0.20);
  transform: translateY(-2px);
}
.btn-danger:active {
  background: rgba(254, 102, 111, 0.30);
  border-color: rgba(254, 102, 111, 0.80);
  color: #fff;
  box-shadow: 0 0 8px rgba(254, 102, 111, 0.20);
  transform: translateY(0);
}
.btn-secondary, .btn-default {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(90, 185, 234, 0.14);
  color: #d5dfea;
}
.btn-secondary:hover, .btn-default:hover {
  background: rgba(90, 185, 234, 0.12);
  border-color: rgba(90, 185, 234, 0.45);
  color: #fff;
  box-shadow: 0 0 12px rgba(90, 185, 234, 0.20);
  transform: translateY(-1px);
}
.btn-secondary:active, .btn-default:active {
  background: rgba(90, 185, 234, 0.20);
  border-color: rgba(90, 185, 234, 0.65);
  color: #fff;
  box-shadow: 0 0 6px rgba(90, 185, 234, 0.15);
  transform: translateY(0);
}

/* ID-правила для баланса (balance-updater.js) */
#real-balance-value {
  margin-right: 6px;
}
#vote-balance-value {
  margin-right: 6px;
}
#game-balance-value {
  margin-right: 6px;
}

/* body: d-flex + flex-column + h-100 из bootstrap.css */
.main__body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
}

/* .main-nav из main.css */
.main__nav {
  padding: 15px 0;
  transition: padding 0.4s, background-color 0.8s, box-shadow 0.35s;
  -webkit-transition: padding 0.4s, background-color 0.8s, box-shadow 0.35s;
}

/* .container из bootstrap.css — общая база для nav-container и content-wrap */
.main__nav-container,
.main__content-wrap {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .main__nav-container,
  .main__content-wrap {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .main__nav-container,
  .main__content-wrap {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .main__nav-container,
  .main__content-wrap {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .main__nav-container,
  .main__content-wrap {
    max-width: 1328px;
  }
}

/* .row из main.css (с justify-content:center) */
.main__nav-row,
.main__content-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
  justify-content: center;
}

/* main-logo + d-flex + justify-content-between + align-items-center */
.main__logo-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
}

/* .logo:hover из main.css */
.main__logo-link:hover {
  opacity: 0.7;
}

/* .logo-img из main.css */
.main__logo-img {
  padding: 20px 0px 0px 0px;
  height: 250px;
  transition: height 0.4s;
  -webkit-transition: height 0.4s;
  font-size: 28px;
  font-weight: 700;
}

.main__logo-img:hover {
  transition: all 0.3s 0.05s ease;
  -moz-transition: all 0.3s 0.05s ease;
  -o-transition: all 0.3s 0.05s ease;
  -webkit-transition: all 0.3s 0.05s ease;
}

/* .sticky .logo-img из main.css — JS добавляет .sticky при скролле */
.sticky .main__logo-img {
  height: 25px;
}

/* my-4 + flex-shrink-0 из bootstrap.css (дополнение для content-wrap) */
.main__content-wrap {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

/* col-12 + col-lg-9 + order-1/order-lg-1 из bootstrap.css */
.main__content-main {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  -ms-flex-order: 1;
  order: 1;
}

@media (min-width: 992px) {
  .main__content-main {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }
}

/* col-12 + col-lg-3 + order-2/order-lg-2 из bootstrap.css */
.main__content-sidebar {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  -ms-flex-order: 2;
  order: 2;
}

@media (min-width: 992px) {
  .main__content-sidebar {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }
}

/* Адаптивное отображение сайдбара */
@media (max-width: 991.98px) {
  .main__content-sidebar {
    margin-top: 20px;
  }
}

@media (max-width: 767.98px) {
  .main__content-sidebar {
    margin-top: 15px;
  }
}

/* === dark-layout — скрытие/показ логотипа === */
.alt-logo-img,
.dark-layout .main__logo-img {
  display: none;
}

.alt-logo-img:hover {
  transition: all 0.3s 0.05s ease;
  -moz-transition: all 0.3s 0.05s ease;
  -o-transition: all 0.3s 0.05s ease;
  -webkit-transition: all 0.3s 0.05s ease;
}

.dark-layout .alt-logo-img {
  display: block;
}

.dark-layout .sticky .alt-logo-img {
  display: none;
}

.dark-layout .sticky .main__logo-img {
  display: block;
}

/* === ORPHANED CSS из reference main.css === */
.justify-content-between {
  -ms-flex-pack: justify !important;
  justify-content: space-between !important;
}

.d-flex {
  display: -ms-flexbox !important;
  display: flex !important;
}

.align-items-center {
  -ms-flex-align: center !important;
  align-items: center !important;
}

.main-container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin: auto;
}

.main-container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .main-container { max-width: 540px; }
}

@media (min-width: 768px) {
  .main-container { max-width: 720px; }
}

@media (min-width: 992px) {
  .main-container { max-width: 960px; }
}

@media (min-width: 1200px) {
  .main-container { max-width: 1140px; }
}

@media (max-width: 767.98px) {
  .right-block,
  .right-blocks {
    margin-bottom: 15px;
  }
}

/* === КНОПКИ .bbcodes (глобально) === */
.bbcodes {
  border: 1px solid rgba(85, 178, 253, 0.28);
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  height: 36px;
  border-radius: 8px;
  line-height: 22px;
  outline: none;
  background: rgba(85, 178, 253, 0.10);
  color: #55b2fd;
  padding: 7px 22px;
  text-decoration: none !important;
  box-sizing: border-box;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}
.bbcodes:hover {
  background: rgba(85, 178, 253, 0.22);
  border-color: rgba(85, 178, 253, 0.65);
  color: #fff;
  box-shadow: 0 0 16px rgba(85, 178, 253, 0.35), 0 4px 12px rgba(85, 178, 253, 0.20);
  transform: translateY(-1px);
}
.bbcodes:active {
  background: rgba(85, 178, 253, 0.30);
  border-color: rgba(85, 178, 253, 0.80);
  color: #fff;
  transform: translateY(0);
}

/* === КНОПКИ jQuery UI DIALOG (профиль, прочие диалоги) === */
.ui-dialog-buttonpane .ui-button {
  float: none;
  border: 1px solid rgba(85, 178, 253, 0.28) !important;
  border-radius: 8px;
  background-color: rgba(85, 178, 253, 0.10) !important;
  color: #55b2fd !important;
  padding: 4px 12px;
  height: 30px;
  font-size: 0.85rem;
  line-height: 20px;
  box-shadow: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}
.ui-dialog-buttonpane .ui-button:hover {
  background-color: rgba(85, 178, 253, 0.22) !important;
  border-color: rgba(85, 178, 253, 0.65) !important;
  color: #fff !important;
  box-shadow: 0 0 16px rgba(85, 178, 253, 0.35), 0 4px 12px rgba(85, 178, 253, 0.20);
  transform: translateY(-1px);
}
.ui-dialog-buttonpane .ui-button:active {
  background-color: rgba(85, 178, 253, 0.30) !important;
  border-color: rgba(85, 178, 253, 0.80) !important;
  color: #fff !important;
  transform: translateY(0);
}
