@charset "UTF-8";
/*!
Theme Name: 13sov.ru
Theme URI: https://13sov.ru/
Author: 13sov.ru
Description: Тема сайта интеллектуально-развлекательной игры 13sov.ru (на основе Underscores).
Version: 1.36.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: smq
*/
/* ===== Токены ===== */
:root {
  --c-green: #a6c529;
  --c-green-deep: #3e5200;
  --c-olive: #516a05;
  --c-indigo: #aa5d81;
  --c-indigo-deep: #8f4569;
  --c-plum: #6b0a3d;
  --c-plum-deep: #4a0629;
  --c-lilac: #dac2f6;
  --c-yellow: #ffc000;
  --c-ink: #3a0620;
  --radius-xl: 36px;
  --radius-lg: 28px;
  --radius-md: 20px;
  --radius-sm: 14px;
  --shadow-lg: 0 24px 60px rgba(70, 20, 45, 0.28);
  --shadow-md: 0 12px 28px rgba(70, 20, 45, 0.22);
  --header-h: 76px;
  --bs-blue: #4f71be;
  --bs-cyan: #0dcaf0;
  --bs-danger: #dac2f6;
  --bs-dark: #212529;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-green: var(--c-green);
  --bs-indigo: var(--c-indigo);
  --bs-info: #0dcaf0;
  --bs-light: #f8f9fa;
  --bs-orange: #fd7e14;
  --bs-pink: #d63384;
  --bs-primary: #0d2702;
  --bs-purple: var(--c-lilac);
  --bs-red: #dc3545;
  --bs-secondary: var(--c-olive);
  --bs-success: #a37aab;
  --bs-teal: #20c997;
  --bs-warning: var(--c-plum);
  --bs-white: #fff;
  --bs-yellow: var(--c-yellow);
}
@media (max-width: 1199.98px) {
  :root {
    --header-h: 64px;
  }
}

@font-face {
  font-family: "Tooot";
  src: url(./src/fonts/TotShriftBold.woff2?v=1.36.0) format("woff2"), url(./src/fonts/TotShriftBold.otf?v=1.36.0) format("opentype");
  font-display: swap;
  ascent-override: 91%;
  descent-override: 9%;
  line-gap-override: 0%;
  unicode-range: U+0020-0022, U+0027-0029, U+002B-003B, U+003D, U+003F, U+0041-005D, U+0061-007D, U+00A9, U+00AE, U+0401, U+0410-044F, U+0451, U+2122;
}
@font-face {
  font-family: "900";
  src: url(./src/fonts/900-font.woff2?v=1.36.0) format("woff2"), url(./src/fonts/900-font.otf?v=1.36.0) format("opentype");
  font-display: swap;
}
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 400;
  src: url(./src/fonts/material-symbols-outlined.woff2?v=1.36.0) format("woff2");
  font-display: block;
}
.material-symbols-outlined {
  display: inline-block;
  font-family: "Material Symbols Outlined";
  font-size: 24px;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

/* ===== Значки-совушки (functions.php, smq_owl_icons_filter) ===== */
.oi {
  width: 1.35em;
  height: 1.35em;
  flex-shrink: 0;
  margin: -0.175em;
  background: var(--oi) center/contain no-repeat;
}

.oi--arrow_back {
  --oi: url(./src/img/icons/arrow_back.webp?v=1.36.0);
}

.oi--arrow_forward {
  --oi: url(./src/img/icons/arrow_forward.webp?v=1.36.0);
}

.oi--arrow_outward {
  --oi: url(./src/img/icons/arrow_outward.webp?v=1.36.0);
}

.oi--block {
  --oi: url(./src/img/icons/block.webp?v=1.36.0);
}

.oi--calendar_month {
  --oi: url(./src/img/icons/calendar_month.webp?v=1.36.0);
}

.oi--call {
  --oi: url(./src/img/icons/call.webp?v=1.36.0);
}

.oi--chevron_left {
  --oi: url(./src/img/icons/chevron_left.webp?v=1.36.0);
}

.oi--chevron_right {
  --oi: url(./src/img/icons/chevron_right.webp?v=1.36.0);
}

.oi--close {
  --oi: url(./src/img/icons/close.webp?v=1.36.0);
}

.oi--communication {
  --oi: url(./src/img/icons/communication.webp?v=1.36.0);
}

.oi--delete {
  --oi: url(./src/img/icons/delete.webp?v=1.36.0);
}

.oi--discuss {
  --oi: url(./src/img/icons/discuss.webp?v=1.36.0);
}

.oi--diversity_2 {
  --oi: url(./src/img/icons/diversity_2.webp?v=1.36.0);
}

.oi--diversity_3 {
  --oi: url(./src/img/icons/diversity_3.webp?v=1.36.0);
}

.oi--download {
  --oi: url(./src/img/icons/download.webp?v=1.36.0);
}

.oi--eat {
  --oi: url(./src/img/icons/eat.webp?v=1.36.0);
}

.oi--emoji_events {
  --oi: url(./src/img/icons/emoji_events.webp?v=1.36.0);
}

.oi--event {
  --oi: url(./src/img/icons/event.webp?v=1.36.0);
}

.oi--event_available {
  --oi: url(./src/img/icons/event_available.webp?v=1.36.0);
}

.oi--fastfood {
  --oi: url(./src/img/icons/fastfood.webp?v=1.36.0);
}

.oi--grade {
  --oi: url(./src/img/icons/grade.webp?v=1.36.0);
}

.oi--keyboard_double_arrow_down {
  --oi: url(./src/img/icons/keyboard_double_arrow_down.webp?v=1.36.0);
}

.oi--live_help {
  --oi: url(./src/img/icons/live_help.webp?v=1.36.0);
}

.oi--location_on {
  --oi: url(./src/img/icons/location_on.webp?v=1.36.0);
}

.oi--lock {
  --oi: url(./src/img/icons/lock.webp?v=1.36.0);
}

.oi--logic {
  --oi: url(./src/img/icons/logic.webp?v=1.36.0);
}

.oi--looks_6 {
  --oi: url(./src/img/icons/looks_6.webp?v=1.36.0);
}

.oi--mail {
  --oi: url(./src/img/icons/mail.webp?v=1.36.0);
}

.oi--map {
  --oi: url(./src/img/icons/map.webp?v=1.36.0);
}

.oi--menu {
  --oi: url(./src/img/icons/menu.webp?v=1.36.0);
}

.oi--person {
  --oi: url(./src/img/icons/person.webp?v=1.36.0);
}

.oi--photo_camera {
  --oi: url(./src/img/icons/photo_camera.webp?v=1.36.0);
}

.oi--psychology_alt {
  --oi: url(./src/img/icons/psychology_alt.webp?v=1.36.0);
}

.oi--quiz {
  --oi: url(./src/img/icons/quiz.webp?v=1.36.0);
}

.oi--schedule {
  --oi: url(./src/img/icons/schedule.webp?v=1.36.0);
}

.oi--search {
  --oi: url(./src/img/icons/search.webp?v=1.36.0);
}

.oi--sectors {
  --oi: url(./src/img/icons/sectors.webp?v=1.36.0);
}

.oi--send {
  --oi: url(./src/img/icons/send.webp?v=1.36.0);
}

.oi--star {
  --oi: url(./src/img/icons/star.webp?v=1.36.0);
}

.oi--timer {
  --oi: url(./src/img/icons/timer.webp?v=1.36.0);
}

.oi--zoom_in {
  --oi: url(./src/img/icons/zoom_in.webp?v=1.36.0);
}

/* ===== База ===== */
@media (max-width: 575.98px) {
  .container,
  .container-fluid {
    --bs-gutter-x: 2.5rem;
  }
}

html {
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  max-width: 100vw;
  overflow-x: hidden;
  background-color: var(--c-green);
  color: #fff;
  font-family: "900", system-ui, sans-serif;
}

.site {
  min-height: 100vh;
}

a {
  color: #fff;
  text-decoration: none;
}

::-moz-selection {
  background-color: var(--c-yellow);
  color: var(--c-plum);
}

::selection {
  background-color: var(--c-yellow);
  color: var(--c-plum);
}

:focus-visible {
  outline: 3px solid var(--c-yellow);
  outline-offset: 3px;
}

.modal-backdrop {
  --bs-backdrop-zindex: 1019 !important;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  border: 0;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  top: 0.5rem;
  left: 0.5rem;
  z-index: 100000;
  width: auto;
  height: auto;
  padding: 0.75rem 1.25rem;
  clip: auto !important;
  clip-path: none;
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
}

.card-row,
.modal-body,
.registcard .back {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.45) transparent;
}
.card-row::-webkit-scrollbar,
.modal-body::-webkit-scrollbar,
.registcard .back::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.card-row::-webkit-scrollbar-thumb,
.modal-body::-webkit-scrollbar-thumb,
.registcard .back::-webkit-scrollbar-thumb {
  border-radius: 6px;
  background-color: rgba(255, 255, 255, 0.45);
}

/* ===== Шапка и меню ===== */
.site-header {
  z-index: 1030;
}
.admin-bar .site-header {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar .site-header {
    top: 46px;
  }
}

@media (max-width: 600px) {
  html #wpadminbar {
    position: fixed;
  }
}
.admin-bar .offcanvas {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar .offcanvas {
    top: 46px;
  }
}

.menu-main {
  transition: background-color 0.3s, box-shadow 0.3s, backdrop-filter 0.3s;
}

.menu-bg {
  background-color: rgba(74, 6, 41, 0.88);
  box-shadow: 0 8px 24px rgba(40, 5, 25, 0.25);
  backdrop-filter: blur(10px);
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: var(--header-h);
}

.site-logo {
  display: inline-flex;
  align-items: center;
  transition: transform 0.2s, opacity 0.2s;
}
.site-logo:hover {
  transform: scale(1.05);
}

.logoimg {
  display: block;
  width: auto;
  max-height: 36px;
  filter: drop-shadow(0 2px 6px rgba(40, 5, 25, 0.35));
}
@media (max-width: 1199.98px) {
  .logoimg {
    max-height: 32px;
  }
}

.dmenu .menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dmenu .menu a {
  display: block;
  padding: 0.5rem 0.9rem;
  border-radius: 999px;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.95rem;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 rgba(58, 6, 32, 0.6);
  transition: background-color 0.2s, color 0.2s;
}
.dmenu .menu a:hover, .dmenu .menu a:focus-visible {
  background-color: rgba(255, 255, 255, 0.16);
  color: #fff;
}
.dmenu .menu .current-menu-item > a,
.dmenu .menu .current_page_item > a {
  background-color: var(--c-yellow);
  color: var(--c-plum);
  text-shadow: none;
}

.menu-toggle {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 2px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  background: transparent;
  color: #fff;
}
.menu-toggle .material-symbols-outlined {
  font-size: 26px;
}

.offcanvas {
  --bs-offcanvas-bg: var(--c-plum);
  --bs-offcanvas-color: #fff;
}
.offcanvas .offcanvas-header {
  min-height: var(--header-h);
}

.mob-menu {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mob-menu a {
  display: block;
  padding: 0.9rem 1.25rem;
  border-radius: var(--radius-sm);
  background-color: rgba(255, 255, 255, 0.08);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.1rem;
  text-transform: uppercase;
}
.mob-menu .current-menu-item > a,
.mob-menu .current_page_item > a {
  background-color: var(--c-yellow);
  color: var(--c-plum);
}

/* ===== Общие компоненты ===== */
@media (max-width: 575.98px) {
  .eyebrow,
  .game-eyebrow {
    font-size: 0.72rem;
    letter-spacing: 0.03em;
  }
}
.eyebrow,
.game-eyebrow {
  display: inline-block;
  margin-bottom: 0.75rem;
  padding: 0.3rem 0.9rem;
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.sec-head {
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.sec-title,
.page-title {
  margin: 0;
  font-size: clamp(2.25rem, 6vw, 4.25rem);
  line-height: 0.95;
  text-transform: uppercase;
  text-shadow: 4px 4px 0 var(--c-plum);
}

.sec-lead,
.page-lead {
  max-width: 760px;
  text-wrap: pretty;
  margin: 1rem 0 0;
  font-size: 1.1rem;
  opacity: 0.92;
}
.sec-lead a,
.page-lead a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.sec-actions {
  margin-top: 2rem;
}

.btn-13 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.8rem 1.5rem;
  border: 2px solid #fff;
  border-radius: 999px;
  background-color: transparent;
  color: #fff;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: background-color 0.2s, color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.btn-13 .material-symbols-outlined {
  font-size: 1.3em;
}
.btn-13:hover, .btn-13:focus-visible {
  background-color: #fff;
  color: var(--c-plum);
  transform: translateY(-2px);
}
.btn-13--solid {
  border-color: var(--c-yellow);
  background-color: var(--c-yellow);
  color: var(--c-plum);
  box-shadow: 0 8px 20px rgba(58, 6, 32, 0.25);
}
.btn-13--solid:hover, .btn-13--solid:focus-visible {
  border-color: #fff;
  background-color: #fff;
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.18);
  font-size: 0.8rem;
}
.chip .material-symbols-outlined {
  font-size: 1.1em;
}
.chip--yellow {
  background-color: var(--c-yellow);
  color: var(--c-plum);
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 1.25rem;
  padding: 0.4rem 1rem 0.4rem 0.7rem;
  border-radius: 999px;
  background-color: rgba(0, 0, 0, 0.14);
  font-size: 0.9rem;
  text-transform: uppercase;
  transition: background-color 0.2s;
}
.back-link:hover, .back-link:focus-visible {
  color: #fff;
  background-color: rgba(0, 0, 0, 0.26);
}

.empty-state {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: 640px;
  padding: 1.5rem;
  border-radius: var(--radius-md);
  background-color: var(--panel-bg, rgba(255, 255, 255, 0.12));
}
.empty-state .material-symbols-outlined {
  font-size: 2.5rem;
  color: var(--c-yellow);
}
.empty-state p {
  margin: 0;
}
.empty-state a {
  text-decoration: underline;
}

/* ===== Секции главной: наложение при прокрутке ===== */
.main-part {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  min-height: 100vh;
  padding: calc(var(--header-h) + 2.5rem) 0 4rem;
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  box-shadow: 0 -18px 40px rgba(40, 10, 25, 0.22);
}

.sec {
  --panel-bg: rgba(255, 255, 255, 0.12);
}
.sec--green {
  --panel-bg: rgba(62, 82, 0, 0.55);
  background-color: var(--c-green);
}
.sec--indigo {
  background: linear-gradient(160deg, var(--c-indigo) 0%, var(--c-indigo-deep) 100%);
}
.sec--olive {
  background: linear-gradient(160deg, var(--c-olive) 0%, #3f5304 100%);
}
.sec--plum {
  --panel-bg: rgba(255, 255, 255, 0.08);
  background: linear-gradient(160deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
}

/* --- Первый экран --- */
.hero {
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
  background: radial-gradient(circle at 12% 18%, rgba(255, 192, 0, 0.28) 0, transparent 32%), radial-gradient(circle at 88% 82%, rgba(218, 194, 246, 0.45) 0, transparent 38%), radial-gradient(circle at 80% 10%, rgba(166, 197, 41, 0.3) 0, transparent 26%), linear-gradient(150deg, var(--c-indigo) 0%, var(--c-indigo-deep) 100%);
}

.hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero__logo {
  margin: 0.5rem 0 1rem;
}
.hero__logo img {
  display: block;
  width: auto;
  max-width: min(300px, 60vw);
  max-height: 26vh;
  filter: drop-shadow(0 8px 20px rgba(40, 5, 25, 0.35));
}

@media (max-width: 575.98px) {
  .hero .eyebrow {
    white-space: nowrap;
    letter-spacing: 0;
  }
}
@media (max-width: 359.98px) {
  .hero .eyebrow {
    font-size: 0.62rem;
  }
}

.hero__lead {
  max-width: 640px;
  margin: 0 auto 2rem;
  font-size: clamp(1rem, 2vw, 1.25rem);
  text-shadow: 1px 1px 0 rgba(58, 6, 32, 0.5);
}
.hero__lead span {
  display: block;
  text-wrap: balance;
}
.hero__lead span + span {
  margin-top: 0.35em;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.hero__down {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 1.75rem auto 0;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.15);
  animation: hero-bounce 2s ease-in-out infinite;
}
.hero__down .material-symbols-outlined {
  font-size: 28px;
}
.hero__down:has(.oi) {
  width: 64px;
  height: 64px;
  background-color: transparent;
}
.hero__down:has(.oi) .oi {
  width: 64px;
  height: 64px;
  margin: 0;
}

@keyframes hero-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
}
/* --- Об игре --- */
.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 991.98px) {
  .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: var(--radius-lg);
  background-color: var(--panel-bg);
  box-shadow: var(--shadow-md);
}

.stat__icon {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.5rem;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.2);
  font-size: 1.6rem;
}

.stat__value {
  margin-bottom: 0.12em;
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: clamp(2.5rem, 6vw, 4rem);
  line-height: 1;
  text-shadow: 3px 3px 0 var(--c-plum);
}

.stat__sep {
  display: inline-block;
  width: 0.4em;
  height: 0.12em;
  margin: 0 0.1em;
  border-radius: 0.06em;
  background-color: currentColor;
  box-shadow: 0.05em 0.05em 0 var(--c-plum);
  font-size: inherit;
  vertical-align: 0.32em;
  overflow: hidden;
  color: var(--c-yellow);
  text-indent: 1em;
  white-space: nowrap;
}

.stat__label {
  font-size: 1.1rem;
  text-transform: uppercase;
}

/* --- Лента карточек --- */
.card-row {
  display: flex;
  gap: 1rem;
  margin: 0 -0.25rem;
  padding: 0.25rem 0.25rem 1rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
}
.card-row > * {
  flex: none;
  scroll-snap-align: start;
}

/* --- Регистрация: карточка с переворотом --- */
.registcard {
  position: relative;
  width: 300px;
  height: 600px;
  perspective: 1000px;
}
.registcard .front,
.registcard .back {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius-lg);
  backface-visibility: hidden;
  transition: transform 0.9s cubic-bezier(0.3, 0.7, 0.2, 1);
}
.registcard .front {
  background-color: var(--c-plum);
  box-shadow: var(--shadow-md);
  cursor: pointer;
}
.registcard .back {
  padding: 1rem 0.9rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: linear-gradient(160deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
  box-shadow: var(--shadow-md);
  text-align: center;
  transform: rotateY(180deg);
}
.registcard .back > :first-child {
  margin-top: auto;
}
.registcard .back > :last-child {
  margin-bottom: auto;
}
.registcard:hover .front, .registcard:focus-within .front, .registcard.is-flipped .front {
  transform: rotateY(180deg);
}
.registcard:hover .back, .registcard:focus-within .back, .registcard.is-flipped .back {
  transform: rotateY(360deg);
}

.rc-poster {
  flex: none;
  height: 44%;
  background-color: #fff;
}
.rc-poster img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.rc-poster__placeholder {
  -o-object-fit: contain !important;
     object-fit: contain !important;
  padding: 1.5rem;
}

.rc-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 1.1rem 1.25rem 1.25rem;
}

.rc-title {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1;
  text-transform: uppercase;
}

.rc-place {
  display: flex;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.3;
  opacity: 0.9;
}
.rc-place .material-symbols-outlined {
  flex: none;
  font-size: 1.1rem;
}
.rc-place a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.rc-price {
  margin: 0;
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.5rem;
}
.rc-price small {
  color: #fff;
  font-family: "900", system-ui, sans-serif;
  font-size: 0.75rem;
  opacity: 0.8;
}

.rc-cta {
  width: 100%;
  margin-top: auto;
  padding: 0.7rem 1rem;
  pointer-events: none;
}

.rc-back-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  margin-bottom: 0.35rem;
}
.rc-back-head .map-link {
  margin-top: 0;
  padding: 0.2rem 0.7rem 0.2rem 0.5rem;
  font-size: 0.72rem;
}
.rc-back-head .rc-place {
  justify-content: center;
  text-align: left;
}

.rc-back-title {
  margin: 0;
  font-size: 1.05rem;
  text-transform: uppercase;
}

.map-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-top: 0.35rem;
  padding: 0.3rem 0.8rem 0.3rem 0.6rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.16);
  font-size: 0.8rem;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background-color 0.2s, color 0.2s;
}
.map-link .material-symbols-outlined {
  font-size: 1.05rem;
}
.map-link:hover, .map-link:focus-visible {
  background-color: var(--c-yellow);
  color: var(--c-plum);
}

.game-meta .map-link {
  display: inline-flex;
  width: auto;
  height: auto;
}
.game-meta .map-link .material-symbols-outlined:not(.oi) {
  display: inline;
  width: auto;
  height: auto;
  background: none;
  font-size: 1.05rem;
}

.rc-note {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.3;
  opacity: 0.85;
}

/* --- Где поиграть --- */
/* --- Карточка прошедшей игры --- */
.past-card {
  display: flex;
  flex-direction: column;
  width: 280px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background-color: var(--c-indigo);
  box-shadow: var(--shadow-md);
  transition: transform 0.25s, box-shadow 0.25s;
}
.past-card:hover, .past-card:focus-visible {
  color: #fff;
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}
.past-card:hover .past-card__poster img, .past-card:focus-visible .past-card__poster img {
  transform: scale(1.05);
}
.past-card:hover .past-card__more, .past-card:focus-visible .past-card__more {
  color: var(--c-yellow);
}
.past-grid .past-card {
  width: auto;
}

.past-card__poster {
  aspect-ratio: 4/3;
}
@media (max-width: 575.98px) {
  .past-grid .past-card__poster {
    aspect-ratio: 16/10;
  }
}
.past-card__poster {
  overflow: hidden;
  background-color: #fff;
}
.past-card__poster img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.past-card__placeholder {
  -o-object-fit: contain !important;
     object-fit: contain !important;
  padding: 1.5rem;
}

.past-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 1.1rem 1.25rem 1.25rem;
}

.past-card__title {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1;
  text-transform: uppercase;
}

.past-card__scores {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.past-card__scores li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.4rem 0.75rem;
  border-radius: 12px;
  background-color: rgba(255, 255, 255, 0.14);
}

.past-card__theme {
  font-size: 0.9rem;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.past-card__score {
  flex: none;
  white-space: nowrap;
}
.past-card__score .past-card__sep {
  margin: 0 0.08em;
  font-family: "900", system-ui, sans-serif;
  opacity: 0.85;
}
.past-card__score {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.3rem;
  text-shadow: 2px 2px 0 var(--c-plum);
}

.past-card__more {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-top: auto;
  padding-top: 0.25rem;
  font-size: 0.85rem;
  text-transform: uppercase;
  transition: color 0.2s;
}
.past-card__more .material-symbols-outlined {
  font-size: 1.1rem;
}

.past-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
}

/* --- Общий счёт «Знатоки против телезрителей» --- */
.scoreboard {
  max-width: 760px;
  margin-bottom: 2rem;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border-radius: var(--radius-lg);
  background-color: var(--panel-bg, rgba(255, 255, 255, 0.1));
  box-shadow: var(--shadow-md);
}
.page-main .scoreboard {
  background: linear-gradient(135deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
}

.scoreboard--wide {
  max-width: none;
}
@media (min-width: 992px) {
  .scoreboard--wide .scoreboard__main {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: 2.5rem;
    align-items: center;
  }
}
@media (min-width: 992px) {
  .scoreboard--wide .scoreboard__details {
    padding-left: 2.5rem;
    border-left: 1px solid rgba(255, 255, 255, 0.15);
  }
}
.scoreboard--wide .scoreboard__themes ul {
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}

.scoreboard__summary .scoreboard__bar {
  margin-bottom: 0;
}

@media (max-width: 991.98px) {
  .scoreboard__details {
    margin-top: 1.1rem;
  }
}
.scoreboard__details .scoreboard__form {
  margin-bottom: 0.9rem;
}

.scoreboard__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.25rem 1rem;
  margin-bottom: 0.75rem;
}

.scoreboard__title {
  font-size: 1.1rem;
  text-transform: uppercase;
}

.scoreboard__note {
  font-size: 0.85rem;
  opacity: 0.8;
}

.scoreboard__score {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: end;
  -moz-column-gap: clamp(0.75rem, 2.5vw, 1.25rem);
       column-gap: clamp(0.75rem, 2.5vw, 1.25rem);
}

.scoreboard__side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.15rem;
  text-align: right;
}
.scoreboard__side--viewers {
  align-items: flex-start;
  text-align: left;
}
.scoreboard__side--viewers .scoreboard__value {
  color: var(--c-lilac);
}

.scoreboard__label {
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.85;
}

.scoreboard__value {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: clamp(3rem, 9vw, 4.5rem);
  line-height: 1;
  text-shadow: 3px 3px 0 var(--c-plum-deep);
}

.scoreboard__sep {
  padding-bottom: 0.35em;
  font-family: "900", system-ui, sans-serif;
  font-size: clamp(2rem, 6vw, 3rem);
  line-height: 1;
  opacity: 0.6;
}

.scoreboard__bar {
  height: 10px;
  margin: 1rem 0 1.1rem;
  overflow: hidden;
  border-radius: 999px;
  background-color: var(--c-lilac);
}
.scoreboard__bar span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background-color: var(--c-yellow);
}

.scoreboard__form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-bottom: 1rem;
}

.scoreboard__form-label {
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.85;
}

.scoreboard__dots {
  display: flex;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.scoreboard__dot {
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-radius: 50%;
  cursor: help;
}
.scoreboard__dot--experts {
  background-color: var(--c-yellow);
}
.scoreboard__dot--viewers {
  background-color: var(--c-lilac);
}
.scoreboard__dot:last-child {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35);
}

.scoreboard__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.scoreboard__facts li {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.85rem 0.35rem 0.6rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.12);
  font-size: 0.85rem;
}
.scoreboard__facts .material-symbols-outlined {
  color: var(--c-yellow);
  font-size: 1.15rem;
}

.scoreboard__themes {
  margin-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.scoreboard__themes summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 0 0.25rem;
  cursor: pointer;
  font-size: 0.95rem;
  text-transform: uppercase;
  list-style: none;
}
.scoreboard__themes summary::-webkit-details-marker {
  display: none;
}
.scoreboard__themes summary::after {
  content: "";
  width: 0.55rem;
  height: 0.55rem;
  margin: 0 0.35rem 0.25rem auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s;
}
.scoreboard__themes[open] summary::after {
  margin-bottom: -0.15rem;
  transform: rotate(-135deg);
}
.scoreboard__themes ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 0.4rem 1.25rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}
.scoreboard__themes li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.2em 56px 3.4em;
  align-items: center;
  gap: 0.6rem;
  padding: 0.3rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.85rem;
}

.scoreboard__legend {
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  text-transform: none;
  opacity: 0.7;
}
@media (max-width: 575.98px) {
  .scoreboard__legend {
    flex-basis: 100%;
    order: 3;
  }
}

.scoreboard__theme-played {
  font-size: 0.8rem;
  text-align: center;
  opacity: 0.7;
  font-variant-numeric: tabular-nums;
}

.scoreboard__themes-count {
  display: inline-grid;
  place-items: center;
  min-width: 1.6rem;
  height: 1.6rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.8rem;
}

.scoreboard__theme-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: uppercase;
}

.scoreboard__theme-bar {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background-color: var(--c-lilac);
}
.scoreboard__theme-bar span {
  display: block;
  height: 100%;
  background-color: var(--c-yellow);
}

.scoreboard__theme-score {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

.scoreboard__theme-sep {
  margin: 0 0.08em;
  font-family: "900", system-ui, sans-serif;
  opacity: 0.8;
}

/* --- Совы вечера: «Зал славы» (template-hall-of-fame.php) --- */
.owls,
.owl-ranks {
  margin-bottom: 2rem;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
  box-shadow: var(--shadow-md);
}

.owls__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.25rem 1rem;
}

.owls__title {
  margin: 0;
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  text-transform: uppercase;
}

.owls__note {
  font-size: 0.85rem;
  opacity: 0.8;
}

.owls__lead {
  margin: 0.35rem 0 1.25rem;
  font-size: 0.95rem;
  opacity: 0.85;
}

.owls__list {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.owls__list.is-collapsed:not(.is-searching) > li:nth-child(n+11) {
  display: none;
}
.owls__list.is-collapsed:not(.is-searching) > li.owl-card--test {
  display: grid;
}

.owl-card--test {
  border: 2px dashed var(--c-yellow);
  opacity: 0.85;
}

.owls__search {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  max-width: 360px;
  margin: -0.25rem 0 1rem;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.1);
  transition: background-color 0.2s, box-shadow 0.2s;
}
.owls__search:focus-within {
  background-color: rgba(255, 255, 255, 0.16);
  box-shadow: 0 0 0 2px var(--c-yellow);
}
.owls__search .material-symbols-outlined {
  opacity: 0.7;
}
.owls__search input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 1rem;
  outline: none;
}
.owls__search input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.55);
}
.owls__search input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.owls__empty {
  margin: 0.5rem 0 0;
  opacity: 0.8;
}

.owls__more {
  display: flex;
  margin: 1rem auto 0;
}

.owl-modal__loading {
  margin: 2rem 0;
  text-align: center;
  opacity: 0.75;
}

.owl-card {
  --r1: #e3d9ce;
  --r2: #9b8b7b;
  --rt: #eadfd4;
  position: relative;
  display: grid;
  grid-template-areas: "place photo info ach count";
  grid-template-columns: 2rem auto minmax(0, 1fr) auto 4rem;
  align-items: center;
  gap: 0.5rem 1rem;
  padding: 0.75rem 1.1rem 0.75rem 0.9rem;
  border-radius: var(--radius-md);
  background-color: rgba(255, 255, 255, 0.08);
}
@media (max-width: 991.98px) {
  .owl-card {
    grid-template-areas: "place photo info count" "place photo ach ach";
    grid-template-columns: 2rem auto minmax(0, 1fr) auto;
    gap: 0.4rem 0.9rem;
  }
}
@media (max-width: 575.98px) {
  .owl-card {
    grid-template-areas: "photo info count" "ach ach ach";
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.5rem 0.7rem;
    padding: 0.65rem 0.7rem;
  }
}
.owl-card--top {
  background-color: rgba(255, 192, 0, 0.14);
}
.owl-card--crystal {
  background: radial-gradient(60% 140% at 0% 50%, rgba(190, 240, 255, 0.22), transparent 70%), rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 0 0 1.5px rgba(200, 245, 255, 0.45);
}

.owl-card__open {
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  cursor: pointer;
  transition: background-color 0.2s, box-shadow 0.2s;
}
.owl-card__open:hover {
  background-color: rgba(255, 255, 255, 0.06);
}
.owl-card__open:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 3px var(--c-yellow);
}

.owl-card__game {
  position: relative;
  z-index: 2;
}

@media (hover: hover) {
  .owl-card__ach {
    position: relative;
    z-index: 2;
  }
}
.owl-card__rank {
  grid-area: place;
  justify-self: center;
  z-index: 3;
  display: grid;
  place-items: center;
  min-width: 1.8rem;
  height: 1.8rem;
  padding: 0 0.4rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.18);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.9rem;
}
.owl-card--top .owl-card__rank {
  background-color: var(--c-yellow);
  color: var(--c-plum);
}
@media (max-width: 575.98px) {
  .owl-card__rank {
    position: absolute;
    top: 0.4rem;
    left: 0.4rem;
    min-width: 1.4rem;
    height: 1.4rem;
    padding: 0 0.3rem;
    background-color: var(--c-plum-deep);
    font-size: 0.75rem;
  }
}

.owl-card__photo-wrap {
  position: relative;
  grid-area: photo;
}

.owls__list .owl-card__ring {
  width: 72px;
  height: 72px;
  padding: 4px;
}
@media (max-width: 575.98px) {
  .owls__list .owl-card__ring {
    width: 56px;
    height: 56px;
    padding: 3px;
  }
}
.owls__list .owl-card__photo {
  border-width: 2px;
}
.owls__list .owl-card__badge {
  right: -5px;
  bottom: -3px;
  width: 30px;
  height: 30px;
  padding: 2px;
}
@media (max-width: 575.98px) {
  .owls__list .owl-card__badge {
    width: 24px;
    height: 24px;
  }
}

.owl-card__info {
  display: flex;
  grid-area: info;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 0;
}

.owl-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem 0.6rem;
}

.owl-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.1rem 0.7rem;
}
@media (max-width: 575.98px) {
  .owl-card__meta {
    display: none;
  }
}

.owl-card__ring {
  position: relative;
  display: block;
  width: 118px;
  height: 118px;
  padding: 5px;
  overflow: hidden;
  border-radius: 50%;
  background: conic-gradient(from 210deg, var(--r1), var(--r2), var(--r1), var(--r2), var(--r1));
}
@media (max-width: 575.98px) {
  .owl-card__ring {
    width: 94px;
    height: 94px;
  }
}
.owl-card--crystal .owl-card__ring::after {
  content: "";
  position: absolute;
  inset: -40%;
  background: linear-gradient(115deg, transparent 42%, rgba(255, 255, 255, 0.75) 50%, transparent 58%);
  pointer-events: none;
  animation: owl-shine 4.5s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .owl-card--crystal .owl-card__ring::after {
    display: none;
  }
}

@keyframes owl-shine {
  0%, 60% {
    transform: translateX(-60%);
  }
  100% {
    transform: translateX(60%);
  }
}
.owl-card__photo {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 3px solid var(--c-plum-deep);
  border-radius: 50%;
  background-color: var(--c-plum);
}
.owl-card__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.owl-card__photo--empty svg {
  width: 70%;
  height: 70%;
}
.owl-card__photo--empty svg.owl-pic {
  width: 100%;
  height: 100%;
}

.owl-card__badge {
  position: absolute;
  right: -6px;
  bottom: -4px;
  z-index: 2;
  width: 46px;
  height: 46px;
  padding: 4px;
  border-radius: 50%;
  background-color: var(--c-plum-deep);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);
}
.owl-card__badge svg {
  display: block;
  width: 100%;
  height: 100%;
}
.owl-card__badge:has(.owl-pic) {
  padding: 2px;
}
@media (max-width: 575.98px) {
  .owl-card__badge {
    width: 38px;
    height: 38px;
  }
}

.owl-card__photo,
.owl-card__badge,
.owl-card__rank,
.owl-card__count,
.ach {
  cursor: default;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.owl-card__name {
  font-size: 1.15rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.owl-card__title {
  color: var(--rt);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.owl-card__up {
  margin: 0;
  white-space: nowrap;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background-color: var(--c-green);
  color: var(--c-green-deep);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.owl-card__count {
  grid-area: count;
  justify-self: end;
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.6rem;
  line-height: 1.1;
  white-space: nowrap;
}
@media (max-width: 575.98px) {
  .owl-card__count {
    align-self: start;
    font-size: 1.3rem;
  }
}

.owl-card__progress {
  display: block;
  width: 100%;
  max-width: 280px;
}

.owl-card__bar {
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.14);
}
.owl-card__bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--r2), var(--r1));
}

.owl-card__next {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.7rem;
  opacity: 0.75;
}

.owl-card__ach {
  display: flex;
  grid-area: ach;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
  margin: 0;
}
@media (max-width: 991.98px) {
  .owl-card__ach {
    justify-content: flex-start;
  }
}

.ach {
  position: relative;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  outline: none;
}
.ach img {
  display: block;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.35));
  transition: transform 0.15s;
}
.ach:hover img, .ach:focus img {
  transform: scale(1.12);
}
.ach:focus-visible {
  box-shadow: 0 0 0 2px var(--c-yellow);
}
.ach__x {
  position: absolute;
  right: -5px;
  bottom: -4px;
  z-index: 1;
  min-width: 1.15rem;
  padding: 0.05rem 0.25rem;
  border-radius: 999px;
  background-color: var(--c-yellow);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  color: var(--c-plum);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.62rem;
  line-height: 1.2;
  text-align: center;
}
@media (max-width: 575.98px) {
  .owl-card__ach .ach {
    width: 32px;
    height: 32px;
  }
}
.ach--more {
  background-color: rgba(255, 255, 255, 0.15);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.8rem;
}
.ach::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  z-index: 5;
  width: -moz-max-content;
  width: max-content;
  max-width: 200px;
  padding: 0.45rem 0.6rem;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: var(--shadow-md);
  color: var(--c-ink);
  font-size: 0.72rem;
  line-height: 1.3;
  text-align: left;
  white-space: pre-line;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity 0.15s, transform 0.15s;
}
.ach:hover::after, .ach:focus::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.owl-card__theme {
  font-size: 0.72rem;
  text-transform: uppercase;
  opacity: 0.9;
}

.owl-card__game {
  font-size: 0.72rem;
  opacity: 0.75;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.owl-card__game:hover {
  color: var(--c-yellow);
  opacity: 1;
}

.owl-ranks__list {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767.98px) {
  .owl-ranks__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    row-gap: 1rem;
  }
}

.owl-ranks__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}
.owl-ranks__step svg {
  width: 64px;
  height: 64px;
}
@media (max-width: 767.98px) {
  .owl-ranks__step svg {
    width: 52px;
    height: 52px;
  }
}
.owl-ranks__step--locked {
  opacity: 0.55;
}
.owl-ranks__step--peek {
  outline: 2px dashed var(--c-yellow);
  outline-offset: 4px;
  border-radius: var(--radius-sm);
}

.owl-ranks__n {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.1rem;
}

.owl-ranks__name {
  font-size: 0.78rem;
  text-transform: uppercase;
}

.owl-ranks__who {
  font-size: 0.68rem;
  opacity: 0.7;
}

.owl-achs {
  margin-bottom: 2rem;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
  box-shadow: var(--shadow-md);
}

.owl-achs__cat {
  margin: 1.5rem 0 0.75rem;
  color: var(--c-yellow);
  font-size: 1.05rem;
  text-transform: uppercase;
}

.owl-achs__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 575.98px) {
  .owl-achs__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.owl-ach {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  padding: 0.9rem 0.5rem;
  border-radius: var(--radius-md);
  background-color: rgba(255, 255, 255, 0.06);
  text-align: center;
}
.owl-ach--none .owl-ach__img {
  opacity: 0.55;
}
.owl-ach--secret .owl-ach__img {
  filter: grayscale(1) brightness(0.4) drop-shadow(0 6px 10px rgba(0, 0, 0, 0.35));
  opacity: 1;
}
.owl-ach--peek {
  outline: 2px dashed var(--c-yellow);
  outline-offset: -2px;
}

.owl-ach__admin {
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-ink);
  font-size: 0.6rem;
  text-transform: uppercase;
}

.owl-ach__img {
  width: 88px;
  height: 88px;
  margin-bottom: 0.3rem;
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.35));
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.owl-ach__name {
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.9rem;
  text-transform: uppercase;
}

.owl-ach__desc {
  font-size: 0.74rem;
  opacity: 0.85;
}

.owl-ach__tiers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3px;
  margin-top: 0.2rem;
}

.owl-ach__tier {
  padding: 0.1rem 0.4rem;
  border-radius: 999px;
  color: var(--c-ink);
  font-size: 0.62rem;
}
.owl-ach__tier--1 {
  background-color: #e0a26b;
}
.owl-ach__tier--2 {
  background-color: #dfe5ea;
}
.owl-ach__tier--3 {
  background-color: var(--c-yellow);
}

.owl-ach__who {
  margin-top: 0.2rem;
  font-size: 0.68rem;
  opacity: 0.65;
}

.owl-modal .modal-content {
  background: linear-gradient(160deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
  color: #fff;
}
.owl-modal .modal-header {
  background-color: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.owl-modal .modal-body a {
  color: #fff;
}

.owl-modal__hero {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
}

.owl-modal__ring {
  flex: none;
}

.owl-modal__stats {
  display: flex;
  flex: 1 1 220px;
  flex-direction: column;
  gap: 0.35rem;
}

.owl-modal__rank {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--rt);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.3rem;
  text-transform: uppercase;
}

.owl-modal__rank-icon {
  display: block;
  width: 38px;
  height: 38px;
  padding: 3px;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.25);
}
.owl-modal__rank-icon:has(.owl-pic) {
  padding: 0;
}
.owl-modal__rank-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.owl-modal__nums {
  color: var(--c-yellow);
  font-size: 0.95rem;
}

.owl-modal__themes {
  font-size: 0.8rem;
  text-transform: uppercase;
  opacity: 0.8;
}

.owl-tg {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 1rem;
  margin-top: 1.2rem;
  padding: 0.8rem 1rem;
  border: 1px dashed rgba(255, 255, 255, 0.25);
  border-radius: var(--radius-sm);
  background-color: rgba(0, 0, 0, 0.15);
}

.owl-tg--quiet {
  justify-content: center;
  margin-top: 1.6rem;
  padding: 0;
  border: 0;
  background: none;
  text-align: center;
}
.owl-tg--quiet .owl-tg__status {
  text-align: center;
}

.owl-verified {
  display: inline-block;
  margin-left: 0.3em;
  color: #2aabee;
  font-size: 0.9em;
  line-height: 1;
  vertical-align: -0.1em;
}
.owl-verified svg {
  display: block;
}

.owl-tg__text {
  display: flex;
  flex: 1 1 260px;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 0.95rem;
}
.owl-tg__text .material-symbols-outlined {
  font-size: 1.3rem;
}

.owl-tg__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 1.1rem;
  border: 0;
  border-radius: 999px;
  background-color: #2aabee;
  color: #fff;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
  cursor: pointer;
}
.owl-tg__btn:hover, .owl-tg__btn:focus-visible {
  background-color: #1e96d4;
}
.owl-tg__btn .material-symbols-outlined {
  font-size: 1.1rem;
}

.owl-tg__link {
  padding: 0;
  border: 0;
  background: none;
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.75rem;
  text-decoration: underline;
  cursor: pointer;
}
.owl-tg__link:hover, .owl-tg__link:focus-visible {
  color: #fff;
}

.owl-tg__widget {
  min-height: 40px;
}

.owl-tg__status,
.owl-tg__note {
  flex-basis: 100%;
  margin: 0;
  font-size: 0.8rem;
  opacity: 0.8;
}

.owl-tg__status {
  color: var(--c-yellow);
  font-size: 0.9rem;
  opacity: 1;
}
.owl-tg__status.is-error {
  color: var(--c-lilac);
}

.owl-modal__h {
  margin: 1.6rem 0 0.8rem;
  font-size: 1.1rem;
  text-transform: uppercase;
}
.owl-modal__h span {
  margin-left: 0.3rem;
  color: var(--c-yellow);
}

.owl-modal__achs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.owl-modal__ach {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.6rem;
  border-radius: var(--radius-sm);
  background-color: rgba(255, 255, 255, 0.07);
}
.owl-modal__ach img {
  display: block;
  width: 56px;
  height: 56px;
  filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.35));
}
.owl-modal__ach .ach__x {
  font-size: 0.72rem;
}
.owl-modal__ach b {
  display: block;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.85rem;
  font-weight: normal;
  text-transform: uppercase;
}
.owl-modal__ach small {
  display: block;
  font-size: 0.72rem;
  line-height: 1.3;
  opacity: 0.85;
}

.owl-modal__ach-pic {
  position: relative;
  flex: none;
}

.owl-modal__times {
  color: #9be15d;
}

.owl-modal__rare {
  margin-top: 0.15rem;
  color: var(--c-yellow);
}

.owl-modal__owls {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.owl-modal__owl {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem 0.5rem 0.5rem;
  border-radius: var(--radius-sm);
  background-color: rgba(255, 255, 255, 0.07);
}
@media (max-width: 575.98px) {
  .owl-modal__owl {
    grid-template-columns: 44px 1fr;
  }
  .owl-modal__owl .owl-modal__owl-rank {
    grid-column: 2;
    align-items: flex-start;
  }
}

.owl-modal__owl-pic {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.2);
}
.owl-modal__owl-pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.owl-modal__owl-pic svg {
  width: 80%;
  height: 80%;
}
.owl-modal__owl-pic svg.owl-pic {
  width: 100%;
  height: 100%;
}

.owl-modal__owl-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.owl-modal__owl-body a {
  font-size: 0.95rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.owl-modal__owl-body a:hover {
  color: var(--c-yellow);
}
.owl-modal__owl-body small {
  font-size: 0.75rem;
  opacity: 0.8;
}

.owl-modal__owl-rank {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.1rem;
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.85rem;
  text-align: right;
}
.owl-modal__owl-rank small {
  color: #fff;
  font-family: "900", system-ui, sans-serif;
  font-size: 0.7rem;
  text-transform: uppercase;
  opacity: 0.75;
}
.owl-modal__owl-rank .owl-card__up {
  margin: 0.15rem 0 0;
}

.game-score__owl {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  -moz-column-gap: 0.45rem;
       column-gap: 0.45rem;
  align-items: center;
  align-self: flex-start;
  max-width: 100%;
  margin-top: 0.5rem;
  padding: 0.3rem 0.8rem 0.3rem 0.35rem;
  border-radius: 18px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-size: 0.85rem;
  line-height: 1.2;
  overflow-wrap: normal;
  word-break: normal;
}
.game-score__owl > .game-score__owl-icon,
.game-score__owl > .theme-owl-ico {
  grid-row: span 2;
}

.game-score__owl-name {
  hyphens: manual;
}

.game-score__owl-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 2px;
  border-radius: 50%;
  background-color: var(--c-plum-deep);
}
.game-score__owl-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.game-score__owl-rank {
  grid-column: 2;
  font-size: 0.72rem;
  opacity: 0.75;
}

.game-score__rank-up {
  align-self: flex-start;
  margin-top: 0.35rem;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  background-color: var(--c-green);
  color: var(--c-green-deep);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.game-owls {
  margin-top: 1.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: var(--radius-lg);
  background-color: var(--c-plum);
  box-shadow: 0 24px 60px rgba(70, 20, 45, 0.25);
}

.game-owls__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
}

.game-owl {
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background-color: rgba(255, 255, 255, 0.08);
}
.game-owl img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
}
.game-owl figcaption {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.8rem 1rem 1rem;
}
.game-owl figcaption strong {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.2rem;
  font-weight: normal;
}
.game-owl figcaption span {
  font-size: 0.85rem;
  opacity: 0.85;
}

.past-card__owl {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.72rem;
  text-transform: none;
  opacity: 0.9;
}

/* --- FAQ --- */
@media (min-width: 992px) {
  .faq-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 3rem;
    align-items: start;
  }
  .faq-layout .sec-head {
    position: sticky;
    top: calc(var(--header-h) + 1.5rem);
  }
}

.faq {
  --bs-accordion-bg: var(--panel-bg);
  --bs-accordion-color: #fff;
  --bs-accordion-border-width: 0;
  --bs-accordion-border-radius: var(--radius-md);
  --bs-accordion-inner-border-radius: var(--radius-md);
  --bs-accordion-btn-color: #fff;
  --bs-accordion-btn-padding-y: 1.1rem;
  --bs-accordion-btn-padding-x: 1.4rem;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 3px rgba(255, 192, 0, 0.6);
  --bs-accordion-active-bg: var(--c-yellow);
  --bs-accordion-active-color: var(--c-plum);
}
.faq .accordion-item {
  overflow: hidden;
  margin-bottom: 0.6rem;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-md);
}
.faq .accordion-header {
  margin: 0;
}
.faq .accordion-button {
  font-family: "900", system-ui, sans-serif;
  font-size: 1.05rem;
  text-transform: uppercase;
  box-shadow: none;
}
.faq .accordion-button.collapsed::after {
  filter: brightness(0) invert(1);
}
.faq .accordion-body {
  padding: 1rem 1.4rem 1.3rem;
  font-size: 1rem;
}
.faq .accordion-body > :last-child {
  margin-bottom: 0;
}

/* ===== Модальные окна ===== */
.modal-dialog-centered {
  margin-top: calc(var(--header-h) + 1rem);
  margin-bottom: 1.5rem;
}

.modal-content {
  overflow: hidden;
  border: 0;
  border-radius: var(--radius-lg);
  color: var(--c-ink);
  box-shadow: var(--shadow-lg);
}

.modal-header {
  padding: 1.1rem 1.5rem;
  border: 0;
  background-color: var(--c-plum);
  color: #fff;
}
.modal-header .modal-title {
  font-size: 1.3rem;
  text-transform: uppercase;
}
.modal-header .btn-close {
  filter: invert(1) grayscale(1) brightness(2);
  opacity: 0.85;
}

.modal-body {
  padding: 1.5rem;
  font-size: 1.05rem;
}
.modal-body a {
  color: var(--c-plum);
  text-decoration: underline;
}
.modal-body > :last-child {
  margin-bottom: 0;
}

/* ===== Формы (Contact Form 7) ===== */
.smq-hp {
  position: absolute !important;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.wpcf7 form {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  text-align: center;
}

.registcard .wpcf7 {
  width: 100%;
}
.registcard .wpcf7 form {
  max-width: 100%;
}
.registcard .wpcf7 p {
  margin-bottom: 0.2rem;
}
.registcard .wpcf7 label {
  display: block;
  width: 100%;
  font-size: 0.82rem;
}
.registcard .wpcf7 input[type=text],
.registcard .wpcf7 input[type=email],
.registcard .wpcf7 input[type=tel],
.registcard .wpcf7 select {
  display: block;
  width: 100%;
  max-width: 240px;
  margin: 0.15rem auto 0;
  padding: 5px 12px;
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 1rem;
}
.registcard .wpcf7 input[type=text]:focus,
.registcard .wpcf7 input[type=email]:focus,
.registcard .wpcf7 input[type=tel]:focus,
.registcard .wpcf7 select:focus {
  outline: none;
  border-color: var(--c-yellow);
}
.registcard .wpcf7 input[type=text][aria-invalid=true],
.registcard .wpcf7 input[type=email][aria-invalid=true],
.registcard .wpcf7 input[type=tel][aria-invalid=true],
.registcard .wpcf7 select[aria-invalid=true] {
  border-color: var(--c-yellow);
}
.registcard .wpcf7 select {
  display: inline-block;
  width: auto;
  min-width: 70px;
}
.registcard .wpcf7 .wpcf7-submit {
  margin-top: 0.3rem;
  padding: 0.55rem 1.25rem;
  border: 2px solid var(--c-yellow);
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-family: "Tooot", "900", system-ui, sans-serif;
  text-transform: uppercase;
  transition: background-color 0.2s, border-color 0.2s;
}
.registcard .wpcf7 .wpcf7-submit:hover, .registcard .wpcf7 .wpcf7-submit:focus {
  border-color: #fff;
  background-color: #fff;
}
.registcard .wpcf7 .smq-consent {
  margin: 0.4rem auto 0.2rem;
  max-width: 260px;
  font-size: 0.72rem;
  line-height: 1.35;
  text-align: left;
}
.registcard .wpcf7 .smq-consent label {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  font-size: inherit;
  cursor: pointer;
}
.registcard .wpcf7 .smq-consent input[type=checkbox] {
  flex: none;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.1rem;
  accent-color: var(--c-yellow);
}
.registcard .wpcf7 .smq-consent .wpcf7-list-item {
  margin: 0;
}
.registcard .wpcf7 .smq-consent a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.registcard .wpcf7 .wpcf7-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.registcard .wpcf7 .wpcf7-not-valid-tip {
  margin-top: 0.15rem;
  color: var(--c-yellow);
  font-size: 0.8rem;
}
.registcard .wpcf7 .wpcf7-response-output {
  max-width: 100%;
  margin: 0.5rem auto 0 !important;
  padding: 0.4rem 0.6rem !important;
  border-radius: 10px;
  font-size: 0.8rem;
}
.registcard .wpcf7 .wpcf7-spinner {
  position: absolute;
  margin: 0.75rem 0 0 0.5rem;
}

/* ===== Внутренние страницы ===== */
.page-main {
  padding: calc(var(--header-h) + 2rem) 0 4rem;
}

.page-hero {
  margin-bottom: 1.75rem;
}

.page-panel {
  padding: clamp(1.25rem, 4vw, 3rem);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--c-indigo) 0%, var(--c-indigo-deep) 100%);
  box-shadow: var(--shadow-lg);
  font-size: 1.1rem;
}
.page-panel > :last-child {
  margin-bottom: 0;
}
.page-panel + .page-panel {
  margin-top: 1rem;
}

.entry-content {
  line-height: 1.5;
}
.entry-content h2, .entry-content h3, .entry-content h4 {
  margin: 1.5rem 0 0.75rem;
  line-height: 1.15;
  text-transform: uppercase;
}
.entry-content h2:first-child, .entry-content h3:first-child, .entry-content h4:first-child {
  margin-top: 0;
}
.entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-sm);
}
.entry-content a:not(.btn-13) {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.entry-content ul, .entry-content ol {
  padding-left: 1.25rem;
}
.entry-content .row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
.entry-content .row > [class*=col-] {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}
.entry-content .row > p:empty {
  display: none;
}
.entry-content .row > [class*=col-]:has(> .material-symbols-outlined),
.entry-content .row > [class*=col-] > a:has(.material-symbols-outlined) {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  height: 100%;
  padding: 1.5rem 1.25rem;
  border-radius: var(--radius-md);
  background-color: rgba(255, 255, 255, 0.12);
  font-size: 1rem;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
}
.entry-content .row > [class*=col-] > a:has(.material-symbols-outlined) {
  transition: background-color 0.2s;
}
.entry-content .row > [class*=col-] > a:has(.material-symbols-outlined):hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.entry-content .row > [class*=col-] > .material-symbols-outlined + br,
.entry-content .row > [class*=col-] > a > .material-symbols-outlined + br {
  display: none;
}
.entry-content .material-symbols-outlined {
  flex: none;
  display: grid;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  margin: 0 auto;
  border-radius: 50%;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-size: 1.7rem;
  line-height: 1;
  white-space: nowrap;
}
.entry-content .material-symbols-outlined br {
  display: none;
}
.entry-content .material-symbols-outlined.oi {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 0;
  background-color: transparent;
}

/* --- Документы: политика и согласие --- */
.promises {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}
@media (max-width: 991.98px) {
  .promises {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .promises {
    grid-template-columns: 1fr;
  }
}

.promise {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1.4rem;
  border-radius: var(--radius-lg);
  background: linear-gradient(160deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
  box-shadow: var(--shadow-md);
}
@media (max-width: 575.98px) {
  .promise {
    display: grid;
    grid-template-columns: auto 1fr;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding: 1.1rem 1.25rem;
  }
  .promise .promise__icon {
    grid-row: span 2;
    margin-bottom: 0;
  }
}

.promise__icon {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.4rem;
  border-radius: 50%;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-size: 1.5rem;
}

.promise__title {
  font-size: 1.15rem;
  font-weight: normal;
  text-transform: uppercase;
}

.promise__text {
  font-size: 0.9rem;
  line-height: 1.4;
  opacity: 0.9;
}

.legal-text {
  counter-reset: legal;
}
.legal-text > * {
  max-width: 760px;
}
.legal-text h2 {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 2rem 0 0.75rem;
  font-size: clamp(1.2rem, 2.5vw, 1.5rem);
}
.legal-text h2::before {
  counter-increment: legal;
  content: counter(legal);
  flex: none;
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1rem;
}
.legal-text h2:first-child {
  margin-top: 0;
}
.legal-text p,
.legal-text li {
  font-size: 1.05rem;
  line-height: 1.55;
}
.legal-text ul {
  padding-left: 0;
  list-style: none;
}
.legal-text ul li {
  position: relative;
  margin-bottom: 0.4rem;
  padding-left: 1.4rem;
}
.legal-text ul li::before {
  content: "";
  position: absolute;
  left: 0.2rem;
  top: 0.6em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--c-yellow);
}
.legal-text em {
  opacity: 0.8;
}
.legal-text a {
  color: var(--c-yellow);
}

.legal-contact {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-top: 1.5rem;
  font-size: 1.05rem;
}
.legal-contact .material-symbols-outlined {
  color: var(--c-yellow);
}
.legal-contact a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pager {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}
.pager .page-numbers {
  display: inline-grid;
  place-items: center;
  min-width: 2.75rem;
  height: 2.75rem;
  margin: 0 0.2rem;
  padding: 0 0.75rem;
  border-radius: 999px;
  background-color: rgba(0, 0, 0, 0.14);
  font-family: "Tooot", "900", system-ui, sans-serif;
}
.pager .page-numbers.current {
  background-color: var(--c-yellow);
  color: var(--c-plum);
}
.pager .page-numbers:hover:not(.current) {
  background-color: rgba(0, 0, 0, 0.26);
}

.search-item {
  margin-bottom: 1rem;
}
.search-item .entry-title {
  margin-bottom: 0.75rem;
  font-size: clamp(1.3rem, 3vw, 1.75rem);
  text-transform: uppercase;
}
.search-item .entry-summary p {
  margin-bottom: 0.75rem;
}

.search-item__more {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: var(--c-yellow);
  font-size: 0.9rem;
  text-transform: uppercase;
}
.search-item__more:hover {
  color: #fff;
}
.search-item__more .material-symbols-outlined {
  font-size: 1.1rem;
}

.search-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}
.search-form label {
  flex: 1 1 220px;
}
.search-form .search-field {
  width: 100%;
  padding: 0.7rem 1.1rem;
  border: 2px solid transparent;
  border-radius: 999px;
}
.search-form .search-field:focus {
  outline: none;
  border-color: var(--c-yellow);
}
.search-form .search-submit {
  padding: 0.7rem 1.4rem;
  border: 0;
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-family: "Tooot", "900", system-ui, sans-serif;
  text-transform: uppercase;
}

/* ===== Подвал ===== */
.has-stack #primary::after {
  content: "";
  display: block;
  height: var(--footer-h, 0);
}
.has-stack .site-footer {
  z-index: 1025;
  margin-top: calc(-1 * var(--footer-h, 0));
}

.site-footer {
  position: relative;
  z-index: 1;
  padding: 4rem 0 2rem;
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  background: linear-gradient(160deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
  box-shadow: 0 -18px 40px rgba(40, 10, 25, 0.22);
}

.contacts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
@media (max-width: 767.98px) {
  .contacts {
    grid-template-columns: 1fr;
  }
}

.contact {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-radius: var(--radius-md);
  background-color: rgba(255, 255, 255, 0.08);
  transition: background-color 0.2s, transform 0.2s;
}
.contact:hover, .contact:focus-visible {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-3px);
}
.contact:hover .contact__icon:not(.oi), .contact:focus-visible .contact__icon:not(.oi) {
  background-color: #fff;
}

.contact__icon {
  display: grid;
  grid-row: span 2;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-size: 1.5rem;
  transition: background-color 0.2s;
}

.contact__label {
  align-self: end;
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.75;
}

.contact__value {
  align-self: start;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.25rem;
  overflow-wrap: anywhere;
}

.footer-bottom {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 0.85rem;
  opacity: 0.8;
  flex-wrap: wrap;
}
.footer-bottom__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-left: auto;
}
.footer-bottom__links a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-bottom__links a:hover {
  color: var(--c-yellow);
}
@media (max-width: 767.98px) {
  .footer-bottom__links {
    flex-basis: 100%;
    margin-left: 0;
  }
}
.footer-bottom__logo {
  height: 40px;
  opacity: 0.9;
}

@media (prefers-reduced-motion: reduce) {
  .hero__down {
    animation: none;
  }
  .registcard .front,
  .registcard .back,
  .btn-13,
  .market-card,
  .past-card,
  .past-card__poster img,
  .contact {
    transition: none;
  }
}
/* ===== Страница игры ===== */
.game-page {
  --game-radius: 28px;
  --game-plum: var(--bs-warning);
  padding: calc(var(--header-h) + 2rem) 0 4rem;
  color: #fff;
}
.game-page .material-symbols-outlined {
  line-height: 1;
}

.game-hero {
  display: grid;
  grid-template-columns: minmax(220px, 340px) 1fr;
  gap: 2.5rem;
  align-items: center;
  padding: clamp(1.25rem, 4vw, 3rem);
  border-radius: var(--game-radius);
  background: linear-gradient(135deg, var(--bs-indigo) 0%, #8f4569 100%);
  box-shadow: 0 24px 60px rgba(70, 20, 45, 0.3);
}
.game-hero--no-poster {
  grid-template-columns: 1fr;
}
@media (max-width: 767.98px) {
  .game-hero {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
}

.game-hero__poster {
  justify-self: center;
  width: 100%;
  max-width: 340px;
  padding: 10px;
  border-radius: 20px;
  background-color: #fff;
  box-shadow: 0 18px 40px rgba(40, 10, 25, 0.35);
  transform: rotate(-3deg);
  transition: transform 0.4s ease;
}
.game-hero__poster:hover {
  transform: rotate(0deg) scale(1.02);
}
.game-hero__poster img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}
@media (max-width: 767.98px) {
  .game-hero__poster {
    max-width: 210px;
  }
}

.game-title {
  margin-bottom: 1.25rem;
  font-size: clamp(2.5rem, 7vw, 4.75rem);
  line-height: 0.95;
  text-transform: uppercase;
  text-shadow: 4px 4px 0 var(--game-plum);
}

.game-meta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0 0 1.75rem;
  padding: 0;
  list-style: none;
  font-size: 1.1rem;
}
.game-meta li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.game-meta .material-symbols-outlined {
  flex: none;
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.18);
  font-size: 1.3rem;
}
.game-meta li > span:last-child {
  padding-top: 0.35rem;
}

.game-meta__note {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.85rem;
  opacity: 0.85;
}
.game-meta__note p {
  margin: 0;
}

.game-scores {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 0.75rem;
}

.game-score {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  padding: 1rem 1.25rem;
  overflow-wrap: break-word;
}
@media (max-width: 575.98px) {
  .game-score {
    padding: 0.75rem 0.9rem;
  }
}
.game-score {
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-radius: 20px;
  background-color: rgba(255, 255, 255, 0.1);
}

.game-score__label {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.75;
}

.game-score__theme {
  font-size: 1.2rem;
  text-transform: uppercase;
}

.game-score__value {
  margin-top: 0.25rem;
  color: var(--bs-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  line-height: 1;
  text-shadow: 3px 3px 0 var(--game-plum);
}

.game-score__sep {
  margin: 0 0.15em;
  opacity: 0.7;
}

.game-content {
  margin-top: 1.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: var(--game-radius);
  background-color: rgba(107, 10, 61, 0.35);
  font-size: 1.1rem;
}
.game-content > :last-child {
  margin-bottom: 0;
}

.game-video {
  margin-top: 1.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: var(--game-radius);
  background-color: var(--game-plum);
  box-shadow: 0 24px 60px rgba(70, 20, 45, 0.25);
}

.game-video__frame {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  aspect-ratio: 16/9;
  background-color: #000;
}
.game-video__frame iframe,
.game-video__frame video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.game-gallery {
  margin-top: 1.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: var(--game-radius);
  background-color: var(--game-plum);
  box-shadow: 0 24px 60px rgba(70, 20, 45, 0.25);
}

.game-section-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  font-size: clamp(1.5rem, 3vw, 2rem);
  text-transform: uppercase;
}

.game-section-title__count {
  display: inline-grid;
  place-items: center;
  min-width: 2.2rem;
  height: 2.2rem;
  padding: 0 0.5rem;
  border-radius: 999px;
  background-color: var(--bs-yellow);
  color: var(--game-plum);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1rem;
}

.game-gallery__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, 1fr);
}
.game-gallery--1 .game-gallery__grid {
  grid-template-columns: 1fr;
}
.game-gallery--1 .game-gallery__grid .game-photo {
  aspect-ratio: 16/9;
  max-height: 75vh;
}
.game-gallery--2 .game-gallery__grid .game-photo {
  aspect-ratio: 4/3;
}
.game-gallery--many .game-gallery__grid {
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 190px;
}
.game-gallery--many .game-gallery__grid .game-photo:first-child {
  grid-column: span 2;
  grid-row: span 2;
}
@media (max-width: 767.98px) {
  .game-gallery--many .game-gallery__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 140px;
  }
}
@media (max-width: 575.98px) {
  .game-gallery--2 .game-gallery__grid {
    grid-template-columns: 1fr;
  }
}

.game-photo {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  background-color: rgba(255, 255, 255, 0.08);
  cursor: zoom-in;
}
.game-photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.game-photo:hover img, .game-photo:focus-visible img {
  transform: scale(1.06);
}
.game-photo:focus-visible {
  outline: 3px solid var(--bs-yellow);
  outline-offset: 3px;
}

.game-photo__zoom {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #fff;
  color: var(--game-plum, #6b0a3d);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.25s, transform 0.25s;
}
.game-photo:hover .game-photo__zoom, .game-photo:focus-visible .game-photo__zoom {
  opacity: 1;
  transform: none;
}
@media (hover: none) {
  .game-photo__zoom {
    opacity: 0.9;
    transform: none;
  }
}

.photo-view {
  width: 100vw;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: rgba(24, 8, 20, 0.97);
  color: #fff;
  overflow: hidden;
}
.photo-view::backdrop {
  background-color: rgba(24, 8, 20, 0.97);
}
.photo-view svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html.photo-view-open {
  overflow: hidden;
}

.photo-view__stage {
  position: absolute;
  inset: 56px 0 0;
  overflow: hidden;
  touch-action: none;
  cursor: zoom-in;
}
@media (max-width: 767.98px), (pointer: coarse) {
  .photo-view--many .photo-view__stage {
    bottom: 64px;
  }
}
.photo-view.is-zoomed .photo-view__stage {
  cursor: grab;
}
.photo-view.is-zoomed .photo-view__stage:active {
  cursor: grabbing;
}

.photo-view__img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 8px 8px 16px;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: 50% 50%;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  will-change: transform;
}
.photo-view__img.is-animated {
  transition: transform 0.25s ease;
}
@media (prefers-reduced-motion: reduce) {
  .photo-view__img.is-animated {
    transition: none;
  }
}

.photo-view__top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 56px;
  padding: 0 8px 0 20px;
}

.photo-view__pos {
  margin-right: auto;
  font-family: "Tooot", "900", system-ui, sans-serif;
  letter-spacing: 0.08em;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.photo-view__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.12);
  color: #fff;
  justify-content: center;
  transition: background-color 0.2s;
}
.photo-view__btn:hover, .photo-view__btn:focus-visible {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.25);
}

.photo-view__close {
  padding: 0;
}

.photo-view__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-top: -26px;
  border: 0;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35);
  color: #fff;
  transition: background-color 0.2s, opacity 0.2s;
}
.photo-view__nav svg {
  width: 28px;
  height: 28px;
}
.photo-view__nav:hover:not(:disabled), .photo-view__nav:focus-visible {
  background-color: rgba(0, 0, 0, 0.75);
}
.photo-view__nav:disabled {
  opacity: 0.25;
  cursor: default;
}
.photo-view__nav--prev {
  left: 16px;
}
.photo-view__nav--next {
  right: 16px;
}
@media (max-width: 767.98px), (pointer: coarse) {
  .photo-view__nav {
    top: auto;
    bottom: 12px;
    width: 44px;
    height: 44px;
    margin-top: 0;
  }
}

.photo-view__hint {
  position: absolute;
  left: 50%;
  bottom: 72px;
  z-index: 2;
  margin: 0;
  padding: 8px 14px;
  border-radius: 999px;
  background-color: rgba(0, 0, 0, 0.6);
  font-size: 0.9rem;
  white-space: nowrap;
  transform: translateX(-50%);
  pointer-events: none;
}

.game-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.game-nav__link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  border-radius: 999px;
  background-color: var(--bs-indigo);
  text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(70, 20, 45, 0.2);
  transition: transform 0.2s, background-color 0.2s;
}
.game-nav__link small {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  opacity: 0.8;
}
.game-nav__link:hover, .game-nav__link:focus-visible {
  color: #fff;
  background-color: #8f4569;
  transform: translateY(-2px);
}
.game-nav__link--next {
  margin-left: auto;
  text-align: right;
}
@media (max-width: 575.98px) {
  .game-nav__link {
    flex: 1 1 100%;
    border-radius: var(--radius-md);
  }
  .game-nav__link--next {
    justify-content: flex-end;
  }
}

@media (prefers-reduced-motion: reduce) {
  .game-hero__poster,
  .game-photo img,
  .game-photo__zoom,
  .game-nav__link {
    transition: none;
  }
}
*,
*::before,
*::after {
  caret-color: transparent;
}

input,
textarea,
select,
[contenteditable]:not([contenteditable=false]) {
  caret-color: auto;
}

button,
.site-nav,
.m-menu,
.offcanvas-header,
.offcanvas-body nav,
.menu-toggle,
.btn-13,
.btn-close,
.chip,
.eyebrow,
.back-link,
.pager,
.map-link,
.game-nav,
.photo-view__top,
.game-section-title__count,
.game-score__label,
.game-score__sep,
.game-score__owl,
.game-score__rank-up,
.past-card__more,
.search-item__more,
.scoreboard__label,
.scoreboard__sep,
.stat__label,
.stat__sep,
.owls__note,
.owl-card,
.owl-ranks__step,
.owl-ach,
.owl-modal__rank,
.owl-modal__nums,
.owl-modal__ach,
.owl-modal__owl-rank {
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

.material-symbols-outlined,
[aria-hidden=true] {
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

/* ===== Темы (inc/theme-stats.php): номинации в общем счёте и страница темы /tema/…/ ===== */
.theme-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
}
.theme-link:hover, .theme-link:focus-visible {
  color: var(--c-yellow);
  border-bottom-style: solid;
}
.scoreboard__theme-name .theme-link {
  border-bottom-color: transparent;
}
.scoreboard__theme-name .theme-link:hover, .scoreboard__theme-name .theme-link:focus-visible {
  border-bottom-color: currentColor;
}

.theme-noms {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 0.75rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.theme-nom {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.9rem 1rem;
  border-radius: var(--radius-md);
  background-color: rgba(255, 255, 255, 0.1);
}

.theme-nom__icon {
  width: 52px;
  height: 52px;
  margin-bottom: 0.3rem;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}

.theme-owl-ico {
  display: inline-block;
  width: auto;
  height: 1.25em;
  vertical-align: -0.25em;
}

.theme-nom__title {
  color: var(--c-yellow);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.theme-nom__theme {
  color: #fff;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.15rem;
  text-decoration: none;
  text-transform: uppercase;
}
.theme-nom__theme:hover, .theme-nom__theme:focus-visible {
  color: var(--c-yellow);
}

.theme-nom__note {
  font-size: 0.78rem;
  opacity: 0.8;
}

.theme-panel {
  margin-bottom: 1.5rem;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
  box-shadow: var(--shadow-md);
  color: #fff;
}

.theme-score .scoreboard__score {
  max-width: 520px;
  margin: 0 auto;
}
.theme-score .scoreboard__bar {
  max-width: 520px;
  margin-right: auto;
  margin-left: auto;
}

.theme-facts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.theme-facts li {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.85rem 0.35rem 0.6rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.12);
  font-size: 0.85rem;
}
.theme-facts a {
  color: #fff;
}
.theme-facts .material-symbols-outlined {
  color: var(--c-yellow);
  font-size: 1.15rem;
}

.theme-h {
  margin: 0 0 1rem;
  font-size: 1.2rem;
  text-transform: uppercase;
}

.theme-owls__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.theme-owls__list li {
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.12);
  font-size: 0.95rem;
}
.theme-owls__list a {
  color: #fff;
}

.theme-owls__n {
  margin-left: 0.3rem;
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
}

.theme-games__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.theme-games__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 0.25rem 0.9rem;
  padding: 0.55rem 0.9rem;
  border-left: 4px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--radius-sm);
  background-color: rgba(255, 255, 255, 0.08);
}
.theme-games__item--experts {
  border-left-color: var(--c-yellow);
}
.theme-games__item--viewers {
  border-left-color: var(--c-lilac);
}

.theme-games__game {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.theme-games__game a {
  color: #fff;
  text-decoration: none;
}
.theme-games__game a:hover, .theme-games__game a:focus-visible {
  color: var(--c-yellow);
}
.theme-games__game small {
  font-size: 0.72rem;
  opacity: 0.7;
}

.theme-games__score {
  min-width: 3.2em;
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.35rem;
  text-align: right;
}
.theme-games__item--viewers .theme-games__score {
  color: var(--c-lilac);
}
.theme-games__score span {
  margin: 0 0.1rem;
  font-family: "900", system-ui, sans-serif;
  opacity: 0.6;
}

.theme-games__owl {
  font-size: 0.8rem;
  white-space: nowrap;
  opacity: 0.9;
}

.owl-print {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-top: 1.4rem;
}
.owl-print--all {
  margin: 0 0 1rem;
}

.owl-print__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 1rem;
  border: 1px dashed var(--c-yellow);
  border-radius: 999px;
  color: var(--c-yellow) !important;
  font-size: 0.85rem;
  text-decoration: none;
}
.owl-print__btn:hover, .owl-print__btn:focus-visible {
  background-color: rgba(255, 192, 0, 0.12);
}
.owl-print__btn .material-symbols-outlined {
  font-size: 1.1rem;
}

.owl-print__note {
  font-size: 0.72rem;
  opacity: 0.6;
}

/* ===== Статистика сайта /statistika/ (stats-page.php, inc/site-stats.php) — только для администраторов ===== */
.stats__owl {
  height: 0.9em;
  margin-right: 0.15em;
  vertical-align: -0.05em;
}

.stats__period {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 1rem;
}
.stats__period a {
  padding: 0.35rem 1rem;
  border-radius: 999px;
  background-color: rgba(58, 6, 32, 0.2);
  color: var(--c-ink);
  font-size: 0.85rem;
  text-decoration: none;
  text-transform: uppercase;
}
.stats__period a[aria-current] {
  background-color: var(--c-plum);
  color: var(--c-yellow);
}

.stats__empty {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.stats__empty p {
  margin: 0;
}

.stats__kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}

.stats-kpi {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1.1rem 1.25rem;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
  box-shadow: var(--shadow-md);
  color: #fff;
}

.stats-kpi__label {
  font-size: 0.78rem;
  text-transform: uppercase;
  opacity: 0.85;
}

.stats-kpi__value {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: clamp(2rem, 5vw, 2.8rem);
  line-height: 1.05;
}

.stats-kpi__note {
  font-size: 0.75rem;
  opacity: 0.8;
}

.stats-kpi__delta {
  margin-right: 0.3rem;
  padding: 0.05rem 0.45rem;
  border-radius: 999px;
  font-style: normal;
  font-size: 0.72rem;
  white-space: nowrap;
}
.stats-kpi__delta--up {
  background-color: rgba(166, 197, 41, 0.25);
  color: #d6f07a;
}
.stats-kpi__delta--down {
  background-color: rgba(218, 194, 246, 0.18);
  color: var(--c-lilac);
}

.stats-bars {
  position: relative;
  height: 220px;
  margin: 0.5rem 0 0.25rem 2.2rem;
}

.stats-bars__grid {
  position: absolute;
  inset: 0 0 1.4rem;
}
.stats-bars__grid span {
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.stats-bars__grid i {
  position: absolute;
  right: calc(100% + 0.5rem);
  font-size: 0.68rem;
  font-style: normal;
  transform: translateY(-50%);
  opacity: 0.65;
}

.stats-bars__cols {
  position: absolute;
  inset: 0;
  display: flex;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.stats-bars__cols li {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
  padding-bottom: 1.4rem;
  outline: none;
}
.stats-bars__cols li::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% - 1rem);
  left: 50%;
  z-index: 5;
  width: -moz-max-content;
  width: max-content;
  max-width: 220px;
  padding: 0.45rem 0.6rem;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: var(--shadow-md);
  color: var(--c-ink);
  font-size: 0.72rem;
  line-height: 1.3;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity 0.15s, transform 0.15s;
}
.stats-bars__cols li:hover::after, .stats-bars__cols li:focus::after {
  opacity: 1;
  transform: translate(-50%, 0);
}
.stats-bars__cols li:hover .stats-bars__bar, .stats-bars__cols li:focus .stats-bars__bar {
  background-color: #fff;
}

.stats-bars__bar {
  display: block;
  width: 100%;
  border-radius: 4px 4px 0 0;
  background-color: var(--c-yellow);
  transition: background-color 0.15s;
}

.stats-bars__x {
  position: absolute;
  bottom: 0;
  left: 50%;
  font-size: 0.65rem;
  white-space: nowrap;
  transform: translateX(-50%);
  opacity: 0.7;
}

.stats__table {
  margin-top: 1rem;
  font-size: 0.85rem;
}
.stats__table summary {
  cursor: pointer;
  opacity: 0.8;
}
.stats__table table {
  width: 100%;
  margin-top: 0.5rem;
  border-collapse: collapse;
}
.stats__table th,
.stats__table td {
  padding: 0.3rem 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  text-align: right;
}
.stats__table th:first-child,
.stats__table td:first-child {
  text-align: left;
}

.stats__h {
  margin: 0 0 1rem;
  color: var(--c-ink);
  font-size: 1.4rem;
  text-transform: uppercase;
}

.stats__features {
  margin-bottom: 1.5rem;
}

.stats__feature-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.stats-feature {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin: 0;
}

.stats-feature__icon {
  margin-bottom: 0.4rem;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}

.stats-feature__title {
  margin: 0;
  font-size: 1.05rem;
  text-transform: uppercase;
}

.stats-feature__value {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 2.2rem;
  line-height: 1.05;
}

.stats-feature__label {
  font-size: 0.78rem;
  opacity: 0.8;
}

.stats-feature__events {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin: 0.75rem 0 0;
  padding: 0.75rem 0 0;
  border-top: 1px dashed rgba(255, 255, 255, 0.2);
  list-style: none;
  font-size: 0.8rem;
}
.stats-feature__events li {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
}
.stats-feature__events span {
  flex: 1;
  opacity: 0.9;
}
.stats-feature__events b {
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-weight: 400;
}

.stats__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  gap: 0 1.5rem;
}

.stats-rows {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.stats-rows li {
  display: grid;
  grid-template-columns: minmax(0, 9rem) 1fr auto;
  align-items: center;
  gap: 0.1rem 0.75rem;
}

.stats-rows__name {
  overflow: hidden;
  color: #fff;
  font-size: 0.85rem;
  text-decoration: none;
  white-space: nowrap;
  text-overflow: ellipsis;
}

a.stats-rows__name:hover {
  color: var(--c-yellow);
}

.stats-rows__bar {
  height: 8px;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.1);
}
.stats-rows__bar span {
  display: block;
  height: 100%;
  min-width: 4px;
  border-radius: 999px;
  background-color: var(--c-yellow);
}

.stats-rows__val {
  min-width: 2.5rem;
  font-family: "Tooot", "900", system-ui, sans-serif;
  text-align: right;
}

.stats-rows__sub {
  grid-column: 2/-1;
  font-size: 0.7rem;
  opacity: 0.7;
}

.stats-split {
  display: flex;
  gap: 2px;
  height: 22px;
  margin: 0.5rem 0 1rem;
  overflow: hidden;
  border-radius: 999px;
}

.stats-split__m {
  background-color: #c88500;
}

.stats-split__d {
  background-color: #9b6cf0;
}

.stats-split__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.9rem;
}
.stats-split__legend b {
  margin: 0 0.3rem;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-weight: 400;
}
.stats-split__legend span {
  font-size: 0.75rem;
  opacity: 0.7;
}

.stats-split__dot {
  display: inline-block;
  width: 0.8rem;
  height: 0.8rem;
  margin-right: 0.3rem;
  border-radius: 50%;
  vertical-align: -0.05rem;
}
.stats-split__dot--m {
  background-color: #c88500;
}
.stats-split__dot--d {
  background-color: #9b6cf0;
}

.stats__privacy {
  max-width: 760px;
  color: var(--c-ink);
  font-size: 0.8rem;
  opacity: 0.75;
}

.owl-queue {
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
  border: 1px dashed var(--c-yellow);
  border-radius: var(--radius-md);
}
.owl-queue .owl-print--all {
  margin: 0;
}

.owl-queue__h {
  margin: 1rem 0 0.6rem;
  font-size: 1rem;
  text-transform: uppercase;
}
.owl-queue__h span {
  margin-left: 0.3rem;
  color: var(--c-yellow);
}

.owl-queue__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0 0 0.75rem;
  padding: 0;
  list-style: none;
}
.owl-queue__list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.6rem;
}

.owl-queue__who {
  display: inline-flex;
  flex: 1 1 14rem;
  align-items: center;
  gap: 0.45rem;
}

.owl-queue__ico {
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  padding: 2px;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.25);
}
.owl-queue__ico svg {
  display: block;
  width: 100%;
  height: 100%;
}

.owl-queue__done {
  font-size: 0.75rem;
  opacity: 0.7;
}

.menu-item-admin > a {
  outline: 1px dashed rgba(255, 255, 255, 0.6);
  outline-offset: -3px;
}

/* ===== Забавы (inc/owl-extras.php): «Дуэль», «Совиная хроника», кубки сезонов, секретное гнездо ===== */
.duel-pick {
  margin-top: 1.4rem;
  padding: 0.9rem 1rem;
  border-radius: var(--radius-sm);
  background-color: rgba(0, 0, 0, 0.15);
}
.duel-pick select {
  width: 100%;
  max-width: 360px;
  margin-top: 0.5rem;
  padding: 0.45rem 0.75rem;
  border: 0;
  border-radius: 999px;
  background-color: #fff;
  color: var(--c-ink);
  font-size: 0.9rem;
}

.duel-pick__label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.95rem;
  text-transform: uppercase;
}
.duel-pick__label .material-symbols-outlined {
  color: var(--c-yellow);
}

.duel {
  margin-top: 1rem;
}

.duel__head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.75rem;
  text-align: center;
}

.duel__who {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}
.duel__who b {
  font-size: 0.95rem;
  text-transform: uppercase;
}
.duel__who small {
  color: var(--rt);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.duel__ring {
  display: block;
  width: 64px;
  height: 64px;
  padding: 3px;
  border-radius: 50%;
  background: linear-gradient(160deg, var(--r1), var(--r2));
}
.duel__ring img,
.duel__ring svg {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: var(--c-plum-deep);
  -o-object-fit: cover;
     object-fit: cover;
}

.duel__score {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.duel__score > span {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 2.4rem;
  line-height: 1;
}
.duel__score > span i {
  margin: 0 0.2rem;
  font-style: normal;
  opacity: 0.6;
}
.duel__score small {
  font-size: 0.72rem;
  text-transform: uppercase;
  opacity: 0.8;
}

.duel__rows {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
.duel__rows li {
  display: grid;
  grid-template-columns: 2.5rem 1fr 2.5rem;
  align-items: center;
  gap: 0.6rem;
}
.duel__rows li > span {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.8rem;
  text-align: center;
  text-transform: uppercase;
}
.duel__rows b {
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.15rem;
  font-weight: 400;
  text-align: center;
  opacity: 0.7;
}
.duel__rows b.is-win {
  color: var(--c-yellow);
  opacity: 1;
}

.duel__bar {
  display: flex;
  gap: 2px;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
}

.duel__bar-a {
  background-color: var(--c-yellow);
}

.duel__bar-b {
  background-color: var(--c-lilac);
}

.duel__note {
  margin: 1rem 0 0;
  font-size: 0.82rem;
  opacity: 0.85;
}

.duel__h {
  margin: 1.2rem 0 0;
  font-size: 0.95rem;
  text-transform: uppercase;
}

.duel__achs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 0.6rem;
}
@media (max-width: 575.98px) {
  .duel__achs {
    grid-template-columns: 1fr;
  }
}
.duel__achs small {
  display: block;
  margin-bottom: 0.3rem;
  font-size: 0.7rem;
  text-transform: uppercase;
  opacity: 0.8;
}
.duel__achs span {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px;
}
.duel__achs i {
  font-size: 0.75rem;
  font-style: normal;
}

.chronicle {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.chronicle__card {
  padding: 1.1rem 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: var(--radius-md);
  background-color: rgba(0, 0, 0, 0.18);
  color: #fff;
}
.chronicle__card a {
  color: var(--c-yellow);
}

.chronicle__eyebrow {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
  color: var(--c-yellow);
  font-size: 0.78rem;
  text-transform: uppercase;
}
.chronicle__eyebrow .material-symbols-outlined {
  font-size: 1.1rem;
}

.chronicle__title {
  margin: 0;
  font-size: 1.05rem;
  text-transform: uppercase;
}

.chronicle__date,
.chronicle__desc,
.chronicle__who {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  opacity: 0.85;
}

.chronicle__game.is-more {
  margin-top: 0.9rem;
  padding-top: 0.9rem;
  border-top: 1px dashed rgba(255, 255, 255, 0.2);
}

.chronicle__rounds {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin: 0.6rem 0 0;
  padding: 0;
  list-style: none;
}
.chronicle__rounds li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem 0.6rem;
}
.chronicle__rounds b {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-weight: 400;
}
.chronicle__rounds small {
  font-size: 0.75rem;
  opacity: 0.8;
}
.chronicle__rounds .theme-link {
  color: #fff;
}

.chronicle__card--ach {
  display: flex;
  flex-direction: column;
}

.chronicle__ach {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 1.25rem;
  padding: 0.5rem 0;
}
.chronicle__ach img {
  flex: none;
  width: 112px;
  height: 112px;
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.35));
}

.hall-seasons {
  margin-top: 1rem;
}

.seasons {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.season {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  padding: 1.25rem 1.5rem;
  border: 2px solid transparent;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--c-plum) 0%, var(--c-plum-deep) 100%) padding-box, linear-gradient(135deg, var(--season), transparent 55%) border-box;
  box-shadow: var(--shadow-md);
  color: #fff;
}
@media (max-width: 575.98px) {
  .season {
    padding: 1rem;
  }
}
.season--now {
  background: linear-gradient(135deg, var(--c-plum) 0%, var(--c-plum-deep) 100%) padding-box, var(--season) border-box;
  box-shadow: var(--shadow-md), 0 0 24px -6px var(--season);
}

.season__top {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) minmax(0, 260px);
  align-items: center;
  gap: 1rem 1.5rem;
}
@media (max-width: 767.98px) {
  .season__top {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  .season__top .season__score {
    grid-column: 1/-1;
  }
}

.season__cup .cup {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.35));
}
.season__cup .cup--empty {
  opacity: 0.55;
  filter: grayscale(1);
}

.season__name {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.15;
  text-transform: uppercase;
}
.season__name span {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  background-color: var(--season);
  color: var(--c-ink);
  font-family: "900", system-ui, sans-serif;
  font-size: 0.7rem;
  line-height: 1.2;
  vertical-align: 0.3em;
}

.season__champ {
  margin: 0.45rem 0 0;
}
.season__champ small {
  display: block;
  color: var(--c-yellow);
  font-size: 0.72rem;
  text-transform: uppercase;
}
.season__champ b {
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  text-transform: uppercase;
}

.season__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.6rem 0 0;
  padding: 0;
  list-style: none;
}
.season__facts li {
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.12);
  font-size: 0.75rem;
}
.season__facts .theme-link {
  color: #fff;
}

.season__score {
  padding: 0.8rem 1rem 0.7rem;
  border-radius: var(--radius-md);
  background-color: rgba(0, 0, 0, 0.2);
}
.season__score .scoreboard__value {
  font-size: clamp(2.2rem, 6vw, 2.8rem);
}
.season__score .scoreboard__sep {
  font-size: 1.8rem;
}
.season__score .scoreboard__label {
  font-size: 0.68rem;
}
.season__score .scoreboard__bar {
  height: 8px;
  margin: 0.6rem 0 0.4rem;
}

.season__score-note {
  margin: 0;
  font-size: 0.72rem;
  text-align: center;
  opacity: 0.75;
}

.season__owls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  padding-top: 0.9rem;
  border-top: 1px dashed rgba(255, 255, 255, 0.2);
}

.season__owls-title {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--c-yellow);
  font-size: 0.75rem;
  text-transform: uppercase;
}

.season__table {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  counter-reset: season;
  list-style: none;
}
.season__table li {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  padding: 0.2rem 0.75rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.1);
  counter-increment: season;
  font-size: 0.82rem;
}
.season__table li::before {
  content: counter(season);
  color: var(--season);
  font-family: "Tooot", "900", system-ui, sans-serif;
}
.season__table a {
  color: #fff;
  text-decoration: none;
}
.season__table b {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-weight: 400;
}

.sova-board {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  padding: 1.25rem;
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, #4a2a14 0%, #2a1408 100%);
  box-shadow: var(--shadow-lg);
  color: #fff;
}

.sova-hud {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
  font-size: 1rem;
  text-transform: uppercase;
}
.sova-hud b {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
}

.sova-hud__time {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.sova-holes {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 0.9rem 0.5rem;
}

.sova-hole {
  position: relative;
  grid-column: span 2;
  aspect-ratio: 1;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 50% 50% 46% 46%;
  background: radial-gradient(ellipse at 50% 60%, #0d0603 55%, #3a1f0c 70%, #6b3f1c 100%);
  box-shadow: inset 0 -6px 0 rgba(0, 0, 0, 0.5), 0 4px 0 #1a0c04;
  cursor: pointer;
}
.sova-hole:nth-child(1) {
  grid-column: 2/span 2;
}
.sova-hole:nth-child(5) {
  grid-column: 1/span 2;
}
.sova-hole:nth-child(10) {
  grid-column: 2/span 2;
}
.sova-hole::after {
  content: attr(data-plus);
  position: absolute;
  top: 10%;
  left: 50%;
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.6rem;
  opacity: 0;
  transform: translate(-50%, 0);
  pointer-events: none;
}
.sova-hole.is-hit::after {
  animation: sova-plus 0.5s ease-out;
}

.sova-hole__owl {
  position: absolute;
  inset: 12% 14% 0;
  transform: translateY(105%);
  transition: transform 0.16s ease-out;
}
.sova-hole__owl svg {
  display: block;
  width: 100%;
  height: 100%;
}
.is-up .sova-hole__owl {
  transform: translateY(8%);
}
.is-gold .sova-hole__owl {
  filter: drop-shadow(0 0 8px #bdf0ff);
}
.is-hit .sova-hole__owl {
  transform: translateY(105%) scale(0.8);
  transition-duration: 0.2s;
}

@keyframes sova-plus {
  0% {
    opacity: 1;
    transform: translate(-50%, 0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -60%);
  }
}
.sova-start {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  border-radius: var(--radius-lg);
  background-color: rgba(42, 20, 8, 0.82);
  text-align: center;
}
.sova-start[hidden] {
  display: none;
}

.sova-msg {
  margin: 0 0 1rem;
  font-size: 1.05rem;
}

.sova-win {
  max-width: 460px;
}
.sova-win h2 {
  margin: 0.5rem 0;
  color: var(--c-yellow);
  font-size: 1.8rem;
  text-transform: uppercase;
}
.sova-win p {
  font-size: 0.9rem;
}

.site-logo.is-wiggle {
  animation: logo-wiggle 0.3s ease;
}

@keyframes logo-wiggle {
  25% {
    transform: rotate(-6deg);
  }
  75% {
    transform: rotate(6deg);
  }
}
/* ===== Сова следит за курсором (inc/owl-extras.php, smq_watch_owl; main.js) ===== */
.watch-owl-wrap {
  display: flex;
  justify-content: center;
  margin: 0 0 1.5rem;
}
.watch-owl-wrap--home {
  margin: -0.5rem 0 1.25rem;
}

.watch-owl {
  position: relative;
  width: 170px;
}
@media (max-width: 767.98px) {
  .watch-owl {
    width: 130px;
  }
}

.watch-owl__svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  filter: drop-shadow(0 10px 14px rgba(58, 6, 32, 0.3));
}

.watch-owl__pupil {
  transition: transform 0.12s ease-out;
}

.watch-owl__lid {
  opacity: 0;
}
.is-blink .watch-owl__lid {
  opacity: 1;
}

.is-blink .watch-owl__pupil {
  opacity: 0;
}

.watch-owl__stars {
  opacity: 0;
  transform-box: view-box;
  transform-origin: 500px 107px;
}

.watch-owl__say {
  position: absolute;
  top: -0.5rem;
  left: 50%;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  background-color: #fff;
  box-shadow: var(--shadow-md);
  color: var(--c-ink);
  font-size: 0.8rem;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -100%);
  transition: opacity 0.2s;
}

.watch-owl.is-dizzy .watch-owl__head {
  animation: owl-wobble 0.6s ease-in-out infinite;
  transform-box: view-box;
  transform-origin: 500px 805px;
}
.watch-owl.is-dizzy .watch-owl__pupil {
  animation: owl-spin-eye 0.5s linear infinite;
  transform-box: view-box;
  transition: none;
}
.watch-owl.is-dizzy .watch-owl__pupil[data-cx="390"] {
  transform-origin: 390px 523px;
}
.watch-owl.is-dizzy .watch-owl__pupil[data-cx="611"] {
  transform-origin: 611px 527px;
}
.watch-owl.is-dizzy .watch-owl__stars {
  opacity: 1;
  animation: owl-stars 1s linear infinite;
}
.watch-owl.is-dizzy .watch-owl__say {
  opacity: 1;
}

@keyframes owl-wobble {
  0%, 100% {
    transform: rotate(-7deg);
  }
  50% {
    transform: rotate(7deg);
  }
}
@keyframes owl-spin-eye {
  from {
    transform: rotate(0deg) translate(24px) rotate(0deg);
  }
  to {
    transform: rotate(360deg) translate(24px) rotate(-360deg);
  }
}
@keyframes owl-stars {
  to {
    transform: rotate(360deg);
  }
}
/* ===== Тайная тема «Сововедение» (sovovedenie-page.php) ===== */
.sovoved__box {
  max-width: 760px;
  margin: 0 auto;
}

.sovoved__top {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
  text-transform: uppercase;
}
.sovoved__top b {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-weight: 400;
}

.sovoved__progress {
  height: 6px;
  margin: 0.6rem 0 1.25rem;
  overflow: hidden;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.15);
}
.sovoved__progress span {
  display: block;
  width: 0;
  height: 100%;
  background-color: var(--c-yellow);
  transition: width 0.3s;
}

.sovoved__q {
  margin: 0 0 1rem;
  font-size: clamp(1.2rem, 3vw, 1.6rem);
  text-transform: uppercase;
}

.sovoved__answers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  gap: 0.6rem;
}

.sovoved__a {
  padding: 0.8rem 1rem;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-sm);
  background-color: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 0.95rem;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.15s, border-color 0.15s;
}
.sovoved__a:hover, .sovoved__a:focus-visible {
  border-color: var(--c-yellow);
}
.sovoved__a.is-right {
  border-color: var(--c-green);
  background-color: var(--c-green);
  color: var(--c-ink);
}
.sovoved__a.is-right::before {
  content: "✓ ";
}
.sovoved__a.is-wrong {
  border-color: var(--c-lilac);
  background-color: rgba(218, 194, 246, 0.2);
  text-decoration: line-through;
  opacity: 0.8;
}
.is-done .sovoved__a {
  cursor: default;
}

.sovoved__fact {
  margin: 1rem 0 0;
  padding: 0.8rem 1rem;
  border-left: 4px solid var(--c-yellow);
  border-radius: var(--radius-sm);
  background-color: rgba(0, 0, 0, 0.18);
  font-size: 0.9rem;
}

.sovoved__next {
  margin-top: 1rem;
}

.sovoved__result {
  text-align: center;
}
.sovoved__result h2 {
  margin: 0.6rem 0 0;
  color: var(--c-yellow);
  font-size: clamp(1.8rem, 5vw, 2.6rem);
  text-transform: uppercase;
}

.sovoved__score {
  margin: 0.4rem 0;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 2rem;
}

.sova-hint {
  margin-top: 1rem;
  font-size: 0.8rem;
  opacity: 0.85;
}
.sova-hint a {
  color: var(--c-yellow);
}

/* ===== Сезонные наряды сов (main.js ставит <html data-fest="…"> по дате) ===== */
.fest {
  display: none;
}

[data-fest=newyear] .fest--newyear {
  display: inline;
}

[data-fest=halloween] .fest--halloween {
  display: inline;
}

[data-fest=valentine] .fest--valentine {
  display: inline;
}

[data-fest=defender] .fest--defender {
  display: inline;
}

[data-fest=march8] .fest--march8 {
  display: inline;
}

[data-fest=fools] .fest--fools {
  display: inline;
}

[data-fest=cosmos] .fest--cosmos {
  display: inline;
}

[data-fest] .owl-ranks__step svg,
[data-fest] .owl-card__badge svg,
[data-fest] .owl-modal__rank-icon svg,
[data-fest] .watch-owl__svg {
  overflow: visible;
}

/* ===== Совы-значки в кружках (functions.php, smq_owl_icons_filter) ===== */
.stat__icon.oi {
  width: 4.5rem;
  height: 4.5rem;
  margin: -0.5rem 0 0 -0.4rem;
  border-radius: 0;
  background-color: transparent;
}

.promise__icon.oi,
.contact__icon.oi {
  width: 3.5rem;
  height: 3.5rem;
  margin: 0;
  border-radius: 0;
  background-color: transparent;
}

.game-meta .oi {
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  border-radius: 0;
  background-color: transparent;
}

.game-meta .map-link .oi {
  width: 1.3em;
  height: 1.3em;
  font-size: inherit;
}

.contact:hover .oi,
.contact:focus-visible .oi {
  animation: owl-hello 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .contact:hover .oi,
  .contact:focus-visible .oi {
    animation: none;
  }
}

@keyframes owl-hello {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  30% {
    transform: translateY(-14%) rotate(-10deg);
  }
  60% {
    transform: translateY(0) rotate(8deg);
  }
  80% {
    transform: rotate(-4deg);
  }
}
/* ===== «Где поиграть» — карточки с совами (template-parts/main-parts/part-market.php) ===== */
.market-cards {
  --per-row: 4;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 991.98px) {
  .market-cards {
    --per-row: 3;
  }
}
@media (max-width: 575.98px) {
  .market-cards {
    --per-row: 2;
    gap: 0.75rem;
  }
}

.market-card {
  flex: 0 0 calc((100% - (var(--per-row) - 1) * 1rem) / var(--per-row));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  min-height: 100%;
  padding: 1.25rem 1rem 1.1rem;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-md);
  background-color: rgba(255, 255, 255, 0.08);
  color: #fff;
  text-align: center;
  box-shadow: var(--shadow-md);
  transition: background-color 0.2s, border-color 0.2s, transform 0.2s;
}
.market-card:hover, .market-card:focus-visible {
  border-color: var(--c-yellow);
  background-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-4px);
}
.market-card:hover .market-card__more, .market-card:focus-visible .market-card__more {
  color: var(--c-yellow);
}
.market-card--plain {
  justify-content: center;
  min-height: 110px;
}
@media (max-width: 575.98px) {
  .market-card {
    flex-basis: calc((100% - 0.75rem) / 2);
    padding: 1rem 0.6rem;
  }
}

.market-card__owl {
  width: 140px;
  max-width: 100%;
  height: 140px;
  margin-bottom: 0.25rem;
  -o-object-fit: contain;
     object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.25));
}

.market-card__title {
  font-size: 1.15rem;
  line-height: 1.2;
  text-transform: uppercase;
}

.market-card__more {
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.8;
  transition: color 0.2s;
}

/* ===== Окно «Где поиграть» (template-parts/main-parts/part-market.php) ===== */
.market-modal .modal-content {
  overflow: hidden;
  border-radius: var(--radius-xl);
  background-color: #fbf7f1;
}

.market-modal__head {
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: 1.25rem;
  padding: 1.5rem 4.5rem 1.25rem 1.5rem;
  background: radial-gradient(circle at 15% 0%, rgba(255, 192, 0, 0.28), transparent 55%), linear-gradient(135deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
  color: #fff;
}
@media (max-width: 575.98px) {
  .market-modal__head {
    flex-direction: column;
    align-items: center;
    padding: 1.25rem 1.25rem 1rem;
    text-align: center;
  }
}

.market-modal__owl {
  flex: none;
  width: 128px;
  height: 128px;
  margin-bottom: -0.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  filter: drop-shadow(0 10px 14px rgba(0, 0, 0, 0.35));
}
@media (max-width: 575.98px) {
  .market-modal__owl {
    width: 104px;
    height: 104px;
    margin-bottom: 0;
  }
}

.market-modal__eyebrow {
  display: inline-block;
  margin-bottom: 0.4rem;
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.market-modal__title {
  margin: 0;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: clamp(1.6rem, 4vw, 2.2rem);
  line-height: 1.05;
  text-transform: uppercase;
  text-shadow: 2px 2px 0 var(--c-plum-deep);
}

.market-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 1.4rem;
  transition: background-color 0.2s, transform 0.2s;
}
.market-modal__close:hover, .market-modal__close:focus-visible {
  background-color: rgba(255, 255, 255, 0.3);
  transform: rotate(90deg);
}
.market-modal__close:has(.oi) {
  background-color: transparent;
  transform: none;
  font-size: 1.8rem;
}

.market-modal__body {
  padding: 1.5rem 1.75rem;
  color: var(--c-ink);
  font-size: 1.02rem;
  line-height: 1.55;
}
.market-modal__body p {
  margin-bottom: 0.85rem;
}
.market-modal__body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-sm);
}
@media (max-width: 575.98px) {
  .market-modal__body {
    padding: 1.25rem;
  }
}

.market-modal__price {
  position: relative;
  padding: 0.75rem 1rem 0.75rem 1.1rem;
  border-left: 5px solid var(--c-yellow);
  border-radius: var(--radius-sm);
  background-color: #fff3cc;
  color: var(--c-plum-deep);
  font-weight: 400;
  text-align: left !important;
}

.market-modal__list {
  margin: 0;
  padding: 0;
  -moz-columns: 3 200px;
       columns: 3 200px;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
  counter-reset: market;
  list-style: none;
}
.market-modal__list li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 0.4rem;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  counter-increment: market;
}
.market-modal__list li::before {
  content: counter(market);
  flex: none;
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
  background-color: var(--c-plum);
  color: #fff;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.8rem;
}

.market-modal__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.1rem 1.5rem 1.4rem;
  background: linear-gradient(135deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
}
@media (max-width: 575.98px) {
  .market-modal__actions .market-modal__btn {
    flex: 1 1 100%;
  }
}

/* ===== «Об игре» на главной (template-parts/main-parts/part-about.php) — всё по центру ===== */
.about-home .sec-head,
.about-home .sec-actions {
  text-align: center;
}
.about-home .stat {
  align-items: center;
  text-align: center;
}
.about-home .stat__icon.oi {
  margin: -0.5rem 0 0;
}

/* ===== Сова в переходах «назад» и «вперёд» ===== */
.back-link .oi,
.game-nav__link .oi,
.oi.oi--arrow_back,
.oi.oi--arrow_forward {
  width: 1.3em;
  height: 1.3em;
  margin: 0;
  font-size: inherit;
}

/* ===== Постеры для игр — /postery/, только админам (posters-page.php, inc/posters.php) ===== */
.posters__filters {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  padding: 1.1rem 1.25rem;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--c-plum) 0%, var(--c-plum-deep) 100%);
  box-shadow: var(--shadow-md);
}

.posters__show,
.posters__group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}

.posters__group-title {
  margin-right: 0.35rem;
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.95rem;
  text-decoration: none;
  text-transform: uppercase;
}
.posters__group-title[aria-current] {
  text-decoration: underline;
}

.posters__chip {
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 0.8rem;
  text-decoration: none;
  transition: background-color 0.2s;
}
.posters__chip:hover, .posters__chip:focus-visible {
  background-color: rgba(255, 255, 255, 0.24);
}
.posters__chip[aria-current] {
  background-color: var(--c-yellow);
  color: var(--c-plum);
}

.posters__filters small {
  opacity: 0.7;
}

.posters__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.poster-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius-md);
  background-color: var(--c-plum);
  box-shadow: var(--shadow-md);
  color: #fff;
}
.poster-card.is-used .poster-card__pic img {
  filter: grayscale(0.7);
  opacity: 0.6;
}

.poster-card__pic img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}

.poster-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.75rem 0.9rem 0.9rem;
}

.poster-card__tag {
  align-self: flex-start;
  padding: 0.1rem 0.55rem;
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.poster-card__title {
  font-size: 0.85rem;
  line-height: 1.3;
}

.poster-card__state {
  font-size: 0.75rem;
  opacity: 0.8;
}
.poster-card__state a {
  color: var(--c-yellow);
}

.poster-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: auto;
  padding-top: 0.4rem;
}
.poster-card__actions form {
  margin: 0;
}

.poster-card__btn {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  background: none;
  color: #fff;
  font-size: 0.75rem;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}
.poster-card__btn:hover, .poster-card__btn:focus-visible {
  background-color: #fff;
  color: var(--c-plum);
}
.poster-card__btn:disabled {
  opacity: 0.5;
  cursor: wait;
}
.poster-card__btn--del:hover, .poster-card__btn--del:focus-visible {
  border-color: #ff8a8a;
  background-color: #ff8a8a;
  color: var(--c-ink);
}

.posters:not(.is-js) .poster-card__btn--del {
  display: none;
}

.poster-card__pic {
  display: block;
  aspect-ratio: 1;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0.06) 30%, rgba(255, 255, 255, 0.16) 50%, rgba(255, 255, 255, 0.06) 70%) 0 0/300% 100%;
  animation: poster-shimmer 1.6s linear infinite;
  cursor: zoom-in;
}
.poster-card__pic.is-loaded {
  background: none;
  animation: none;
}

@keyframes poster-shimmer {
  to {
    background-position: -150% 0;
  }
}
.poster-card {
  transition: opacity 0.3s, transform 0.3s;
}
.poster-card.is-removed {
  opacity: 0;
  transform: scale(0.9);
}

.posters__more {
  display: flex;
  justify-content: center;
  min-height: 3rem;
  margin-top: 1.25rem;
  color: #fff;
}
.posters__more.is-loading a {
  visibility: hidden;
}
.posters__more.is-loading::after {
  content: "Загружаю…";
  opacity: 0.8;
}

.posters__count {
  margin-top: 1rem;
  font-size: 0.85rem;
  text-align: center;
  opacity: 0.7;
}

/* Загрузка постеров на странице */
.posters-upload {
  margin-bottom: 1.25rem;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--c-indigo) 0%, var(--c-indigo-deep) 100%);
  box-shadow: var(--shadow-md);
  color: #fff;
}

.posters:not(.is-js) .posters-upload__drop,
.posters:not(.is-js) .posters-upload__tag {
  display: none;
}

.posters-upload__head {
  padding: 0.9rem 1.25rem;
  font-family: "Tooot", "900", system-ui, sans-serif;
  text-transform: uppercase;
  cursor: pointer;
}

.posters-upload__form {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  padding: 0 1.25rem 1.25rem;
}

.posters-upload__drop {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.25rem;
  border: 2px dashed rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-md);
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
}
.posters-upload__drop:hover, .posters-upload__drop:focus-within, .posters-upload__drop.is-over {
  border-color: var(--c-yellow);
  background-color: rgba(255, 255, 255, 0.08);
}
.posters-upload__drop input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.posters-upload__drop span {
  font-size: 0.8rem;
  opacity: 0.85;
}
.posters-upload__drop code {
  color: var(--c-yellow);
  font-size: inherit;
}

.posters-upload__tag {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
}
.posters-upload__tag select {
  max-width: 100%;
  padding: 0.3rem 0.6rem;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--c-ink);
}

.posters-upload__status {
  font-size: 0.85rem;
}
.posters-upload__status progress {
  width: 100%;
  height: 0.5rem;
  accent-color: var(--c-yellow);
}
.posters-upload__status a {
  color: var(--c-yellow);
}

.posters-upload__log {
  max-height: 14rem;
  margin: 0.5rem 0 0;
  padding: 0.5rem 0.75rem 0.5rem 2rem;
  overflow-y: auto;
  border-radius: var(--radius-sm);
  background-color: rgba(0, 0, 0, 0.18);
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}
.posters-upload__log .is-ok span {
  color: #c8f07a;
}
.posters-upload__log .is-skip span,
.posters-upload__log .is-ignored span {
  opacity: 0.7;
}
.posters-upload__log .is-error span {
  color: #ffb0b0;
}

/* Постер на весь экран: листание стрелками, клавишами ← → и пальцем */
.poster-view {
  width: 100vw;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(20, 2, 12, 0.94);
  color: #fff;
}
.poster-view::backdrop {
  background: rgba(20, 2, 12, 0.6);
}
.poster-view[open] {
  display: flex;
  flex-direction: column;
}

.poster-view__stage {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 3.5rem 4rem 0.5rem;
}

.poster-view__img {
  max-width: 100%;
  max-height: 100%;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lg);
  -o-object-fit: contain;
     object-fit: contain;
  transition: opacity 0.2s;
}
.poster-view.is-loading .poster-view__img {
  opacity: 0.35;
}

.poster-view__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 0.9rem;
  padding: 0.75rem 1rem 1.25rem;
  font-size: 0.9rem;
  text-align: center;
}

.poster-view__tag {
  padding: 0.1rem 0.55rem;
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-size: 0.75rem;
  text-transform: uppercase;
}

.poster-view__pos {
  opacity: 0.6;
}

.poster-view__nav,
.poster-view__close {
  position: absolute;
  display: grid;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  place-items: center;
  cursor: pointer;
}
.poster-view__nav:hover, .poster-view__nav:focus-visible,
.poster-view__close:hover,
.poster-view__close:focus-visible {
  background-color: var(--c-yellow);
  color: var(--c-plum);
}
.poster-view__nav:disabled,
.poster-view__close:disabled {
  visibility: hidden;
}

.poster-view__nav {
  top: 50%;
  transform: translateY(-50%);
}
.poster-view__nav--prev {
  left: 0.75rem;
}
.poster-view__nav--next {
  right: 0.75rem;
}

.poster-view__close {
  top: 0.75rem;
  right: 0.75rem;
}

@media (max-width: 575.98px) {
  .poster-view__stage {
    padding: 3.5rem 0.5rem 0.5rem;
  }
  .poster-view__nav {
    top: auto;
    bottom: 4.5rem;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .poster-card__pic {
    animation: none;
  }
}
/* Картотека — закрытая страница /kartoteka/ */
/* ===== Картотека (/kartoteka/, js/kartoteka.js) — только для тех, кто ведёт сайт ===== */
.kart__hero {
  margin-bottom: 1rem;
}

.kart__tabs {
  display: flex;
  gap: 0.35rem;
  margin-bottom: 1rem;
  padding: 0.35rem;
  overflow-x: auto;
  border-radius: 999px;
  background-color: var(--c-plum);
  box-shadow: var(--shadow-md);
  scrollbar-width: none;
}

.kart__tab {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0.4rem 1rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.95rem;
  text-transform: uppercase;
  cursor: pointer;
}
.kart__tab[aria-selected=true] {
  background-color: var(--c-yellow);
  color: var(--c-plum);
}

.kart__app {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.kart__toast {
  position: fixed;
  bottom: 1rem;
  left: 50%;
  z-index: 1100;
  max-width: calc(100vw - 2rem);
  padding: 0.7rem 1.2rem;
  border-radius: 999px;
  background-color: var(--c-green-deep);
  box-shadow: var(--shadow-lg);
  color: #fff;
  transform: translateX(-50%);
}
.kart__toast.is-bad {
  background-color: #b3261e;
}

.kart-panel {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: clamp(1rem, 3vw, 1.75rem);
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, var(--c-indigo) 0%, var(--c-indigo-deep) 100%);
  box-shadow: var(--shadow-lg);
}
.kart-panel > * {
  margin: 0;
}

.kart-h {
  margin: 0;
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.25rem;
  text-transform: uppercase;
}
.kart-h small {
  color: #fff;
  font-family: "900", system-ui, sans-serif;
  font-size: 0.85rem;
  text-transform: none;
}

.kart-muted {
  margin: 0;
  font-size: 0.9rem;
  opacity: 0.85;
}

.kart-warn {
  margin: 0;
  color: var(--c-yellow);
  font-size: 0.9rem;
}

.kart-empty {
  margin: 0;
  opacity: 0.8;
}

.kart-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.kart-row > .kart-input,
.kart-row > .kart-search {
  flex: 1 1 14rem;
}

.kart-input {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 0.45rem 0.8rem;
  border: 2px solid transparent;
  border-radius: var(--radius-sm);
  background-color: #fff;
  color: var(--c-ink);
  font: inherit;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.kart-input:focus {
  border-color: var(--c-yellow);
  outline: none;
}
.kart-input--score {
  width: 5.5rem;
  text-align: center;
}
.kart-input--pay {
  width: auto;
  min-width: 8rem;
}

select.kart-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 2.4rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b0a3d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 0.9rem center;
  background-repeat: no-repeat;
  background-size: 0.8rem;
  cursor: pointer;
}

input.kart-input[type=date] {
  cursor: pointer;
}
input.kart-input[type=date]::-webkit-calendar-picker-indicator {
  opacity: 0.6;
  cursor: pointer;
}

input.kart-input[type=number] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}
input.kart-input[type=number]::-webkit-inner-spin-button, input.kart-input[type=number]::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
          appearance: none;
}

.kart-panel input[type=checkbox] {
  flex: 0 0 auto;
  width: 1.35rem;
  height: 1.35rem;
  margin: 0;
  accent-color: var(--c-yellow);
  cursor: pointer;
}

.kart-input::-moz-placeholder {
  color: rgba(58, 6, 32, 0.45);
}

.kart-input::placeholder {
  color: rgba(58, 6, 32, 0.45);
}

input.kart-input[type=search] {
  box-sizing: border-box;
}

textarea.kart-input {
  min-height: 4rem;
}

.kart-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex: 0 0 auto;
  white-space: nowrap;
}
.kart-inline .kart-input {
  width: auto;
}

.kart-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.45rem 1.2rem;
  border: 0;
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-family: "Tooot", "900", system-ui, sans-serif;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}
.kart-btn:hover, .kart-btn:focus-visible {
  color: var(--c-plum);
  filter: brightness(1.08);
}
.kart-btn--ghost {
  background-color: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.kart-btn--ghost:hover, .kart-btn--ghost:focus-visible {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.25);
}
.kart-btn--sm {
  align-self: flex-start;
  min-height: 38px;
  font-size: 0.85rem;
}
.kart-btn:disabled {
  opacity: 0.6;
  cursor: progress;
}

.kart-link {
  align-self: flex-start;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-yellow);
  text-decoration: underline;
  cursor: pointer;
}

.kart-back {
  align-self: flex-start;
  color: #fff;
}

.kart-panel a:not(.kart-btn):not(.kart-chip):not(.kart-line) {
  color: var(--c-yellow);
}

.kart-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.2rem;
  height: 2.2rem;
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-family: "Tooot", "900", system-ui, sans-serif;
}

/* Поиск с подсказками */
.kart-search {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.kart-suggest {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.kart-suggest:empty {
  display: none;
}

.kart-suggest__item {
  min-height: 44px;
  padding: 0.4rem 0.8rem;
  border: 0;
  border-radius: var(--radius-sm);
  background-color: rgba(255, 255, 255, 0.14);
  color: #fff;
  text-align: left;
  cursor: pointer;
}
.kart-suggest__item:hover, .kart-suggest__item:focus-visible {
  background-color: rgba(255, 255, 255, 0.26);
}
.kart-suggest__item small {
  opacity: 0.75;
}

.kart-suggest__new {
  background-color: rgba(255, 192, 0, 0.25);
}

/* Вечер */
.kart-date > .kart-input[type=date] {
  flex: 0 1 11rem;
}

.kart-play {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.75rem;
  border-radius: var(--radius-md);
  background-color: rgba(255, 255, 255, 0.1);
}

.kart-play__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.kart-play__head > .kart-input:not(.kart-input--score) {
  flex: 1 1 10rem;
  width: auto;
}

.kart-play__num {
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.15rem;
}

.kart-people {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.kart-person {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.6rem;
  padding: 0.4rem 0.6rem;
  border-radius: var(--radius-sm);
  background-color: rgba(255, 255, 255, 0.08);
}

.kart-person__name {
  flex: 1 1 9rem;
  min-width: 0;
  overflow-wrap: anywhere;
  font-weight: 700;
  text-decoration: none;
}

.kart-person__packs {
  display: flex;
  gap: 0.3rem;
}

.kart-toggle {
  min-width: 44px;
  min-height: 44px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-radius: var(--radius-sm);
  background: transparent;
  color: #fff;
  font-family: "Tooot", "900", system-ui, sans-serif;
  cursor: pointer;
}
.kart-toggle[aria-pressed=true] {
  border-color: var(--c-yellow);
  background-color: var(--c-yellow);
  color: var(--c-plum);
}
.kart-toggle:disabled {
  opacity: 0.6;
}

.kart-x {
  min-width: 36px;
  min-height: 36px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
}

/* Подбор, пакеты */
.kart-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.kart-chips:empty {
  display: none;
}

.kart-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-height: 34px;
  padding: 0.2rem 0.75rem;
  border: 0;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 0.9rem;
  text-decoration: none;
  cursor: pointer;
}
.kart-chip:hover, .kart-chip:focus-visible {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.28);
}

.kart-pick {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.kart-packs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
  gap: 0.6rem;
}

.kart-pack {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.8rem;
  border-radius: var(--radius-md);
  background-color: var(--c-plum);
  box-shadow: var(--shadow-md);
}
.kart-pack.is-retired {
  opacity: 0.55;
}

.kart-pack__head {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.kart-pack__num {
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.2rem;
}

.kart-pack__theme {
  overflow-wrap: anywhere;
}

/* Списки, карточки */
.kart-table {
  display: flex;
  flex-direction: column;
}

.kart-line {
  display: grid;
  grid-template-columns: 3.2rem 1fr auto;
  align-items: baseline;
  gap: 0.6rem;
  padding: 0.55rem 0.4rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  text-decoration: none;
}
.kart-line:hover, .kart-line:focus-visible {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.08);
}
.kart-line > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.kart-line > small {
  opacity: 0.75;
  white-space: nowrap;
}
.kart-line.is-retired {
  opacity: 0.55;
}

.kart-form {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
  gap: 0.75rem;
  align-items: end;
}

.kart-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.kart-field > span {
  font-size: 0.85rem;
  opacity: 0.85;
}

.kart-history {
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.kart-history p {
  margin: 0.2rem 0;
}

/* Статистика */
.kart-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
  gap: 0.6rem;
}

.kart-tile {
  display: flex;
  flex-direction: column;
  padding: 0.8rem;
  border-radius: var(--radius-md);
  background-color: var(--c-plum);
}
.kart-tile b {
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 1.8rem;
  line-height: 1.1;
}

.kart-grid {
  width: 100%;
  border-collapse: collapse;
}
.kart-grid th,
.kart-grid td {
  padding: 0.45rem 0.4rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  text-align: right;
}
.kart-grid th:first-child,
.kart-grid td:first-child {
  text-align: left;
}
.kart-grid th {
  font-size: 0.85rem;
  opacity: 0.8;
}

.kart-bars {
  display: flex;
  align-items: flex-end;
  gap: 0.3rem;
  height: 9rem;
}

.kart-bar {
  position: relative;
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
  min-width: 0;
}
.kart-bar b {
  font-size: 0.8rem;
}
.kart-bar small {
  font-size: 0.7rem;
  opacity: 0.75;
  white-space: nowrap;
}

.kart-bar__fill {
  order: -1;
  width: 100%;
  min-height: 2px;
  margin-bottom: 0.2rem;
  border-radius: 6px 6px 0 0;
  background-color: var(--c-yellow);
}

.kart-bar > b {
  order: -2;
}

@media (max-width: 575.98px) {
  .kart-line {
    grid-template-columns: 2.4rem 1fr;
  }
  .kart-line > small {
    grid-column: 2;
  }
  .kart-bar small {
    display: none;
  }
}
/* Импорт */
.kart-details summary {
  cursor: pointer;
  color: var(--c-yellow);
}
.kart-details ul {
  margin: 0.5rem 0 0;
  padding-left: 1.2rem;
  font-size: 0.9rem;
  list-style: disc;
}

.kart-import {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.kart-import ul {
  padding-left: 1.2rem;
  list-style: disc;
}
.kart-import:empty {
  display: none;
}

.kart-file {
  position: relative;
  display: flex;
  flex: 1 1 16rem;
  align-items: center;
  gap: 0.75rem;
  min-height: 56px;
  padding: 0.6rem 1rem;
  border: 2px dashed rgba(255, 255, 255, 0.55);
  border-radius: var(--radius-md);
  background-color: rgba(255, 255, 255, 0.08);
  color: #fff;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
}
.kart-file:hover, .kart-file.is-over, .kart-file:focus-within {
  border-color: var(--c-yellow);
  background-color: rgba(255, 255, 255, 0.16);
}
.kart-file.is-chosen {
  border-style: solid;
  border-color: var(--c-yellow);
}

.kart-file__input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.kart-file__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  background-color: var(--c-yellow);
  color: var(--c-plum);
  font-size: 1.1rem;
  line-height: 1;
}

.kart-file__name {
  min-width: 0;
  overflow-wrap: anywhere;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.95rem;
}

.kart-panel:has(> .kart-import:empty) {
  display: none;
}

/* Деньги */
.kart-h--sm {
  font-size: 1rem;
}

.kart-money {
  margin: 0;
}
.kart-money b {
  color: var(--c-yellow);
}
.kart-money small {
  opacity: 0.8;
}

.kart-line--money {
  grid-template-columns: 6.5rem 1fr auto;
}
.kart-line--money > b {
  color: var(--c-yellow);
  white-space: nowrap;
}

.kart-grid {
  font-variant-numeric: tabular-nums;
}

@media (max-width: 575.98px) {
  .kart-line--money {
    grid-template-columns: 5.5rem 1fr;
  }
  .kart-grid {
    font-size: 0.8rem;
  }
}
/* Сова на сайте */
.kart-owl {
  margin: 0;
}
.kart-owl b {
  color: var(--c-yellow);
}

.kart-owl-mark {
  color: var(--c-yellow);
}

.kart-scroll {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.kart-scroll .kart-grid {
  min-width: 100%;
}

/* Начать заново — опасное действие, спрятано под раскрывашкой */
.kart-danger {
  background: linear-gradient(135deg, #7a1530 0%, #4a0629 100%);
}
.kart-danger > summary {
  cursor: pointer;
  list-style-position: inside;
}
.kart-danger:not([open]) {
  gap: 0;
}

.kart-btn--danger {
  background-color: #e0485f;
  color: #fff;
}
.kart-btn--danger:hover, .kart-btn--danger:focus-visible {
  color: #fff;
}

/* Сведения о пакете: по строке, подпись — слева */
.kart-facts {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin: 0;
  font-size: 0.9rem;
}
.kart-facts > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.kart-facts dt {
  font-weight: 400;
  opacity: 0.75;
}
.kart-facts dd {
  margin: 0;
  overflow-wrap: anywhere;
}

/* Вечер: кто уже играл пакет */
.kart-warnbox {
  padding: 0.55rem 0.75rem;
  border-left: 4px solid var(--c-yellow);
  border-radius: var(--radius-sm);
  background-color: rgba(255, 192, 0, 0.14);
  font-size: 0.9rem;
}
.kart-warnbox b {
  color: var(--c-yellow);
}
.kart-warnbox ul {
  margin: 0.25rem 0 0;
  padding-left: 1.1rem;
  list-style: disc;
}
.kart-warnbox .is-both {
  font-weight: 700;
}
.kart-warnbox strong {
  color: var(--c-yellow);
}

.kart-suggest__warn {
  display: block;
  color: var(--c-yellow);
  font-size: 0.8rem;
}

.kart-toggle.is-warn {
  border-color: #ff8a5c;
  box-shadow: 0 0 0 2px rgba(255, 138, 92, 0.45);
}

/* «Для своих» — служебные страницы в одном месте */
/* ===== «Для своих» (inc/admin-hub.php): один пункт меню и полоса разделов служебных страниц ===== */
.dmenu .menu .menu-admin {
  position: relative;
}
.dmenu .menu .menu-admin > a::after {
  content: "";
  display: inline-block;
  width: 0.45em;
  height: 0.45em;
  margin-left: 0.45em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-0.2em) rotate(45deg);
}
.dmenu .menu .menu-admin.current-menu-ancestor > a {
  background-color: var(--c-yellow);
  color: var(--c-plum);
  text-shadow: none;
}
.dmenu .menu .menu-admin > .sub-menu {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 13rem;
  margin: 0;
  padding: 0.5rem;
  border-radius: var(--radius-md);
  background-color: var(--c-plum);
  box-shadow: var(--shadow-lg);
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
}
.dmenu .menu .menu-admin > .sub-menu::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 0.6rem;
}
.dmenu .menu .menu-admin > .sub-menu a {
  border-radius: var(--radius-sm);
  white-space: nowrap;
}
.dmenu .menu .menu-admin:hover > .sub-menu, .dmenu .menu .menu-admin:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.mob-menu .menu-admin-mob {
  margin-top: 0.75rem;
  padding: 0.75rem;
  border: 1px dashed rgba(255, 255, 255, 0.45);
  border-radius: var(--radius-md);
}
.mob-menu .menu-admin-mob .menu-admin-mob__title {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--c-yellow);
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.95rem;
  text-transform: uppercase;
}
.mob-menu .menu-admin-mob .sub-menu {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-hub {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
.admin-hub .admin-hub__title {
  margin-right: 0.25rem;
  font-size: 0.85rem;
  opacity: 0.8;
}
.admin-hub .admin-hub__link {
  padding: 0.35rem 0.95rem;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-family: "Tooot", "900", system-ui, sans-serif;
  font-size: 0.9rem;
  text-decoration: none;
  text-transform: uppercase;
}
.admin-hub .admin-hub__link:hover, .admin-hub .admin-hub__link:focus-visible {
  background-color: rgba(255, 255, 255, 0.28);
  color: #fff;
}
.admin-hub .admin-hub__link[aria-current] {
  background-color: var(--c-plum);
  color: var(--c-yellow);
}
