:root {
  --satori-blue: #092189;
  --satori-panel: rgba(11, 24, 70, 0.96);
  --satori-panel-soft: rgba(24, 48, 124, 0.96);
  --satori-gold: #f6d66d;
  --satori-text: #ffffff;
  --satori-muted: #d8e0ff;
  --satori-hand-font: "Comic Sans MS", "Trebuchet MS", "Segoe Print", cursive;
}

/* Градиент именно на фоне страницы, а не на внутренней подложке */
html,
body {
  min-height: 100%;
  background-color: #1face5 !important;
  background-image:
    linear-gradient(
      to bottom,
      #092189 0%,
      #092189 48%,
      #0d2c96 62%,
      #1244ad 74%,
      #1769c6 84%,
      #1b8fda 93%,
      #1face5 100%
    ) !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
}

/* Контейнеры SM не должны рисовать собственные подложки */
#content,
#wrapper,
#main,
.main-wrapper,
.page-wrapper,
.content-inner,
.lesson-content,
.lesson-inner,
.lesson-content-wrap,
.lesson-main,
.lesson,
.training-view,
.training-content,
.content-wrap,
.maincol_min,
.content-with-sidebar,
#training_79,
#training_79.content-wrap,
#training_79 .maincol_min,
#training_79 .content-with-sidebar,
#training_79 .lesson-inner,
.container,
.container-fluid {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Верхний белый блок с названием урока */
.lesson-inner-top {
  display: none !important;
}

/* Нижний блок "Предыдущий урок" */
.next_less_top-wrap--bottom {
  display: none !important;
}

/* Пустой контейнер под уроком */
.lesson-sidebar-inside {
  display: none !important;
}

#satoriGameRoot {
  width: 100%;
  min-height: 100vh;
  box-sizing: border-box;
  padding: 18px 0 44px;
  color: var(--satori-text);
  font-family: Arial, Helvetica, sans-serif;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

.satori-wrap {
  max-width: 1120px;
  margin: 0 auto;
  box-sizing: border-box;
  background: transparent !important;
  background-image: none !important;
}

.satori-top-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 18px;
  align-items: center;
  background: transparent !important;
}

.satori-board-frame {
  max-width: 930px;
  margin: 0 auto;
  background: transparent !important;
}

.satori-board-img {
  display: block;
  width: 100%;
  height: auto;
}

.satori-card-buttons {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  background: transparent !important;
}

.satori-field-btn,
.satori-deck-btn,
.satori-dice-btn,
.satori-light-btn,
.satori-trash-btn {
  min-height: 64px;
  border: 0;
  border-radius: 16px;
  color: #172152;
  font-family: var(--satori-hand-font);
  font-weight: 700;
  font-size: 18px;
  cursor: pointer;
  box-shadow:
    inset 0 3px 10px rgba(255,255,255,.58),
    inset 0 -10px 18px rgba(0,0,0,.18),
    0 10px 22px rgba(0,0,0,.25);
  transition: transform .16s ease, box-shadow .16s ease;
}

.satori-field-btn:hover,
.satori-deck-btn:hover,
.satori-dice-btn:hover,
.satori-light-btn:hover,
.satori-trash-btn:hover {
  transform: translateY(-2px);
  box-shadow:
    inset 0 3px 10px rgba(255,255,255,.58),
    inset 0 -10px 18px rgba(0,0,0,.18),
    0 14px 30px rgba(0,0,0,.32);
}

.deck-field { background: linear-gradient(135deg, #fff0a5, #edbd4d); color: #172152; }
.deck-happened { background: linear-gradient(135deg, #fff0a5, #edbd4d); }
.deck-event { background: linear-gradient(135deg, #fbe8a1, #e4b456); }
.deck-context { background: linear-gradient(135deg, #dceaf0, #9fc2d5); color: #152763; }
.deck-karma { background: linear-gradient(135deg, #cbdc99, #9fbf62); color: #162a38; }
.deck-belief { background: linear-gradient(135deg, #d9b1d9, #a96ab7); color: #ffffff; }
.deck-history { background: linear-gradient(135deg, #ffe7a7, #d8b66a); color: #2f244b; }
.deck-chakra { background: linear-gradient(135deg, #eef4ff, #b8cfe6); color: #172152; }
.deck-projection { background: linear-gradient(135deg, #d8e8ef, #9eb8c8); color: #172152; }
.deck-dice { background: linear-gradient(135deg, #fff0a5, #edbd4d); color: #172152; }
.deck-light { background: linear-gradient(135deg, #eef4ff, #b8cfe6); color: #172152; }
.deck-trash { background: linear-gradient(135deg, #d8e8ef, #9eb8c8); color: #172152; }

.satori-layout-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(520px, 2fr) minmax(260px, 1fr);
  gap: 18px;
  align-items: stretch;
  background: transparent !important;
}

.satori-under-panel {
  min-height: 100%;
}

.satori-click-panel {
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}

.satori-click-panel:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
}

.satori-panel {
  border-radius: 18px;
  background: var(--satori-panel);
  padding: 18px;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}

.satori-panel-title {
  margin: 0 0 14px;
  color: var(--satori-gold);
  font-family: var(--satori-hand-font);
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
}

.satori-players-list {
  display: grid;
  gap: 10px;
}

.satori-player {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border-radius: 14px;
  background: var(--satori-panel-soft);
  font-family: var(--satori-hand-font);
  font-size: 18px;
}

.satori-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  flex: 0 0 auto;
  background: radial-gradient(circle at 35% 30%, #fff7a8, #80fff0 55%, #396ed9);
}

.satori-personal-card-panel {
  padding: 0;
  background: transparent !important;
  box-shadow: none;
  border-radius: 0;
}

.satori-personal-card-img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 0;
}

.satori-muted {
  color: var(--satori-muted);
  font-family: var(--satori-hand-font);
  line-height: 1.5;
}

.satori-history {
  margin-top: 18px;
}

.satori-history-line {
  padding: 10px 0;
  color: var(--satori-muted);
  font-family: var(--satori-hand-font);
}

.satori-board-frame {
  position: relative;
  max-width: 930px;
  margin: 0 auto;
  background: transparent !important;
}

.satori-board-img {
  display: block;
  width: 100%;
  height: auto;
}

.satori-board-img.is-hidden {
  visibility: hidden;
}

.satori-board-overlay {
  position: absolute;
  inset: 0;
  display: none;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 22px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.18), transparent 32%),
    linear-gradient(135deg, rgba(12, 30, 102, .96), rgba(6, 13, 48, .96));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
  overflow: hidden;
}

.satori-board-overlay.is-active {
  display: flex;
  flex-direction: column;
}

.satori-screen-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  flex: 0 0 auto;
  margin-bottom: 16px;
}

.satori-screen-title {
  margin: 0;
  color: var(--satori-gold);
  font-family: var(--satori-hand-font);
  font-size: 26px;
  line-height: 1.15;
}

.satori-return-btn {
  border: 0;
  border-radius: 14px;
  padding: 11px 16px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-family: var(--satori-hand-font);
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: inset 0 2px 8px rgba(255,255,255,.18);
}

.satori-return-btn:hover {
  background: rgba(255,255,255,.22);
}

.satori-card-grid {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  justify-content: center;
  align-content: center;
  justify-items: center;
  align-items: center;
  gap: var(--satori-card-gap, 12px);
}

.satori-card-back {
  width: var(--satori-card-w, 72px);
  height: var(--satori-card-h, 108px);
  min-height: 0;
  border: 0;
  border-radius: 13px;
  background: url('/mak/satori/assets/card-back.png') center center / cover no-repeat;
  box-shadow: inset 0 2px 8px rgba(255,255,255,.2), 0 10px 18px rgba(0,0,0,.28);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}

.satori-card-back:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 2px 8px rgba(255,255,255,.24), 0 14px 24px rgba(0,0,0,.34);
}

.satori-dice-space {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  place-items: center;
  text-align: center;
}

.satori-dice-card {
  display: grid;
  gap: 20px;
  justify-items: center;
  max-width: 560px;
  margin: 0 auto;
}

.satori-dice-cube {
  width: 170px;
  height: 170px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  padding: 24px;
  box-sizing: border-box;
  border-radius: 34px;
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.72), transparent 28%),
    linear-gradient(135deg, #fff4a6 0%, #f2cb61 52%, #dca52e 100%);
  box-shadow:
    inset 0 9px 20px rgba(255,255,255,.64),
    inset 0 -18px 30px rgba(0,0,0,.20),
    0 18px 36px rgba(0,0,0,.35);
  transform: rotate(0deg) translateY(0) scale(1);
  transition: transform .22s ease, box-shadow .22s ease;
}

.satori-dice-cube.is-rolling {
  animation: satoriDiceBounceRoll .78s ease-in-out infinite;
}

@keyframes satoriDiceBounceRoll {
  0% {
    transform: rotate(0deg) translateY(0) scale(1);
  }
  20% {
    transform: rotate(11deg) translateY(-18px) scale(1.05);
  }
  42% {
    transform: rotate(-13deg) translateY(6px) scale(.98);
  }
  64% {
    transform: rotate(8deg) translateY(-10px) scale(1.03);
  }
  82% {
    transform: rotate(-5deg) translateY(3px) scale(1);
  }
  100% {
    transform: rotate(0deg) translateY(0) scale(1);
  }
}

.satori-dice-dot {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  align-self: center;
  justify-self: center;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.25), transparent 34%),
    #172152;
  box-shadow:
    inset 0 2px 5px rgba(255,255,255,.2),
    0 2px 4px rgba(0,0,0,.24);
}

.satori-dice-dot--1 { grid-column: 1; grid-row: 1; }
.satori-dice-dot--2 { grid-column: 2; grid-row: 1; }
.satori-dice-dot--3 { grid-column: 3; grid-row: 1; }
.satori-dice-dot--4 { grid-column: 1; grid-row: 2; }
.satori-dice-dot--5 { grid-column: 2; grid-row: 2; }
.satori-dice-dot--6 { grid-column: 3; grid-row: 2; }
.satori-dice-dot--7 { grid-column: 1; grid-row: 3; }
.satori-dice-dot--8 { grid-column: 2; grid-row: 3; }
.satori-dice-dot--9 { grid-column: 3; grid-row: 3; }

.satori-dice-roll-btn {
  border: 0;
  border-radius: 18px;
  padding: 14px 26px;
  background: linear-gradient(135deg, #fff0a5, #edbd4d);
  color: #172152;
  font-family: var(--satori-hand-font);
  font-size: 22px;
  font-weight: 700;
  cursor: pointer;
  box-shadow:
    inset 0 3px 10px rgba(255,255,255,.58),
    inset 0 -10px 18px rgba(0,0,0,.18),
    0 10px 22px rgba(0,0,0,.25);
}

.satori-dice-manual {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  font-family: var(--satori-hand-font);
  color: var(--satori-muted);
  font-size: 18px;
}

.satori-dice-input {
  width: 82px;
  box-sizing: border-box;
  border: 0;
  border-radius: 14px;
  padding: 11px 12px;
  text-align: center;
  color: #172152;
  background: rgba(255,255,255,.92);
  font-family: var(--satori-hand-font);
  font-size: 22px;
  font-weight: 700;
}

.satori-dice-apply-btn {
  border: 0;
  border-radius: 14px;
  padding: 11px 16px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-family: var(--satori-hand-font);
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

.satori-dice-note {
  margin: 0;
  color: var(--satori-muted);
  font-family: var(--satori-hand-font);
  font-size: 20px;
  line-height: 1.35;
}

.satori-card-grid.is-single-card {
  grid-template-columns: var(--satori-card-w) !important;
}

.satori-card-grid.is-single-card .satori-card-back {
  box-shadow: inset 0 2px 8px rgba(255,255,255,.2), 0 18px 36px rgba(0,0,0,.34);
}

.satori-card-back.is-clicked {
  transform: translateY(-4px) scale(1.03);
}

.satori-wheel-space {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(380px, 1fr) minmax(210px, .42fr);
  gap: 18px;
  align-items: center;
}

.satori-wheel-space.is-projection {
  grid-template-columns: minmax(380px, 1fr) minmax(210px, .42fr);
}

.satori-wheel-wrap {
  position: relative;
  width: min(100%, 560px);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
}

.satori-wheel-space.is-projection .satori-wheel-wrap {
  width: min(100%, 560px);
}

.satori-wheel-space.is-projection .satori-wheel-label {
  width: 30%;
  font-size: var(--satori-wheel-label-size, 19px);
}

.satori-wheel-pointer {
  position: absolute;
  left: 50%;
  top: -5px;
  z-index: 3;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 17px solid transparent;
  border-right: 17px solid transparent;
  border-bottom: 0;
  border-top: 32px solid var(--satori-gold);
  filter: drop-shadow(0 4px 6px rgba(0,0,0,.35));
}

.satori-wheel {
  position: absolute;
  inset: 14px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--satori-wheel-bg, conic-gradient(#f6d66d, #a96ab7, #9fc2d5, #9fbf62, #edbd4d, #b8cfe6, #d8b66a, #f6d66d));
  box-shadow:
    inset 0 0 0 8px rgba(255,255,255,.18),
    inset 0 0 32px rgba(0,0,0,.28),
    0 18px 42px rgba(0,0,0,.36);
  transition: transform 6.4s cubic-bezier(.14,.72,.16,1);
}

.satori-wheel::after {
  content: "";
  width: 19%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: radial-gradient(circle, #ffffff 0%, #f6d66d 42%, #14276b 100%);
  box-shadow: 0 0 18px rgba(255,255,255,.65);
}

.satori-wheel-label {
  position: absolute;
  left: var(--label-x, 50%);
  top: var(--label-y, 50%);
  width: 26%;
  color: #ffffff;
  font-family: var(--satori-hand-font);
  font-size: var(--satori-wheel-label-size, 16px);
  line-height: 1.05;
  font-weight: 700;
  text-align: center;
  text-shadow: 0 2px 5px rgba(0,0,0,.78);
  transform: translate(-50%, -50%) rotate(var(--label-text-rot, 0deg));
  transform-origin: center center;
  pointer-events: none;
}

.satori-wheel-side {
  display: grid;
  gap: 14px;
  align-content: center;
  justify-items: center;
}

.satori-wheel-list {
  display: none;
}

.satori-wheel-spin-btn {
  border: 0;
  border-radius: 18px;
  padding: 14px 22px;
  background: linear-gradient(135deg, #fff0a5, #edbd4d);
  color: #172152;
  font-family: var(--satori-hand-font);
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  box-shadow:
    inset 0 3px 10px rgba(255,255,255,.58),
    inset 0 -10px 18px rgba(0,0,0,.18),
    0 10px 22px rgba(0,0,0,.25);
}

.satori-sound-btn {
  border: 0;
  border-radius: 14px;
  padding: 9px 14px;
  background: rgba(255,255,255,.14);
  color: #fff;
  font-family: var(--satori-hand-font);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.satori-wheel-result {
  min-height: 32px;
  color: var(--satori-gold);
  font-family: var(--satori-hand-font);
  font-size: 22px;
  line-height: 1.25;
  text-align: center;
}

.satori-chakra-img {
  display: none;
  width: min(100%, 210px);
  height: auto;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.36));
}

.satori-chakra-img.is-visible {
  display: block;
}

.satori-avatar-result {
  display: none;
  width: min(100%, 210px);
  height: auto;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.36));
}

.satori-avatar-result.is-visible {
  display: block;
}

.satori-field-btn.is-active,
.satori-deck-btn.is-active,
.satori-dice-btn.is-active,
.satori-light-btn.is-active,
.satori-trash-btn.is-active {
  outline: 3px solid rgba(255,255,255,.75);
  outline-offset: 3px;
}


@media (max-width: 980px) {
  .satori-top-layout {
    grid-template-columns: 1fr;
  }

  .satori-board-frame {
    max-width: 100%;
  }

  .satori-card-buttons {
    max-width: 760px;
    margin: 18px auto 0;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
  }
}

@media (max-width: 900px) {
  .satori-layout-grid {
    grid-template-columns: 1fr;
  }

  .satori-card-buttons {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }
}

@media (max-width: 520px) {
  #satoriGameRoot {
    padding: 12px 8px 32px;
  }

  .satori-card-buttons {
    gap: 10px;
  }

  .satori-deck-btn,
  .satori-dice-btn,
  .satori-light-btn,
  .satori-trash-btn {
    min-height: 64px;
    font-size: 14px;
  }

  .satori-board-overlay {
    padding: 14px;
    border-radius: 18px;
  }

  .satori-screen-title {
    font-size: 22px;
  }

  .satori-card-grid {
    gap: var(--satori-card-gap, 7px);
  }

  .satori-dice-cube {
    width: 116px;
    height: 116px;
    border-radius: 24px;
    padding: 16px;
  }

  .satori-dice-dot {
    width: 16px;
    height: 16px;
  }

  .satori-dice-roll-btn {
    font-size: 17px;
    padding: 11px 18px;
  }

  .satori-dice-manual {
    font-size: 15px;
  }

  .satori-dice-input {
    width: 70px;
    font-size: 18px;
    padding: 9px 10px;
  }

  .satori-wheel-space,
  .satori-wheel-space.is-projection {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .satori-wheel-wrap,
  .satori-wheel-space.is-projection .satori-wheel-wrap {
    width: min(100%, 295px);
  }

  .satori-wheel-label {
    width: 28%;
    font-size: 11px;
  }

  .satori-wheel-spin-btn {
    font-size: 16px;
    padding: 11px 16px;
  }

  .satori-sound-btn {
    font-size: 13px;
    padding: 8px 12px;
  }

  .satori-wheel-result {
    font-size: 17px;
  }

  .satori-chakra-img {
    width: min(100%, 128px);
  }
}


/* САТОРИ: убираем белую подложку стандартного контейнера SM */
#training_79,
#training_79.content-wrap,
#training_79 .maincol_min,
#training_79 .content-with-sidebar,
#training_79 .lesson-inner {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
}


.satori-under-card-img,
.satori-under-hint-img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;
  object-fit: contain;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
}

.satori-board-content {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 0 0 36px;
  box-sizing: border-box;
}

.satori-board-large-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 18px;
  box-sizing: border-box;
  filter: drop-shadow(0 18px 34px rgba(0,0,0,.34));
}

@media (max-width: 900px) {
  .satori-layout-grid {
    grid-template-columns: 1fr;
  }

  .satori-under-card-img,
  .satori-under-hint-img {
    max-height: none;
  }
}

@media (max-width: 520px) {
  .satori-board-large-img {
    border-radius: 12px;
  }
}


.satori-clean-under-panel {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.satori-clean-under-panel:hover {
  transform: none;
  box-shadow: none !important;
}

.satori-clean-under-panel .satori-panel-title {
  display: none !important;
}

.satori-clean-under-panel .satori-under-card-img,
.satori-clean-under-panel .satori-under-hint-img {
  border-radius: 0;
  background: transparent !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
}

.satori-board-overlay .satori-board-content {
  padding-bottom: 22px;
  box-sizing: border-box;
}


/* v25 hard override */
.satori-layout-grid {
  grid-template-columns: minmax(300px, 1fr) minmax(520px, 2fr) minmax(260px, 1fr) !important;
}

.satori-under-panel,
.satori-click-panel,
.satori-clean-under-panel {
  min-height: 260px !important;
}

.satori-clean-under-panel {
  display: grid !important;
  place-items: center !important;
}

.satori-board-overlay .satori-board-content {
  height: auto !important;
  padding: 0 0 42px !important;
}

.satori-board-overlay .satori-board-large-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

@media (max-width: 900px) {
  .satori-layout-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  .satori-board-overlay .satori-board-content {
    padding-bottom: 20px !important;
  }

  .satori-under-panel,
  .satori-click-panel,
  .satori-clean-under-panel {
    min-height: auto !important;
  }
}


/* v27 */
.satori-clean-under-panel {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

.satori-board-content {
  padding: 0 0 40px 0 !important;
}

.satori-board-large-img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: calc(100% - 40px) !important;
  object-fit: contain !important;
}


/* v28: ужимаем раскрытые изображения внутри пространства игрового поля */
.satori-board-overlay .satori-board-content {
  height: auto !important;
  padding: 0 !important;
  align-items: center !important;
  justify-items: center !important;
}

.satori-board-overlay .satori-board-large-img {
  width: auto !important;
  height: auto !important;
  max-width: 92% !important;
  max-height: 82% !important;
  object-fit: contain !important;
}


/* v29: раскрытия используют пространство игрового поля без тёмной рамы */
.satori-board-overlay {
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.satori-board-overlay .satori-screen-head {
  display: none !important;
}

.satori-board-overlay .satori-card-grid,
.satori-board-overlay .satori-dice-space,
.satori-board-overlay .satori-wheel-space,
.satori-board-overlay .satori-board-content {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}

.satori-board-overlay .satori-board-content {
  padding: 0 !important;
}

.satori-board-overlay .satori-board-large-img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  filter: none !important;
}

.satori-board-overlay .satori-card-grid {
  padding: 22px !important;
}

.satori-board-overlay .satori-dice-space {
  padding: 22px !important;
}

.satori-board-overlay .satori-wheel-space {
  padding: 12px !important;
}

@media (max-width: 520px) {
  .satori-board-overlay .satori-card-grid,
  .satori-board-overlay .satori-dice-space,
  .satori-board-overlay .satori-wheel-space {
    padding: 10px !important;
  }
}


/* v30: читаемые подписи на колёсах */
.satori-wheel-label {
  width: 30% !important;
  white-space: normal;
}


/* v32: поздняя блокировка кнопки запуска колеса */
.satori-wheel-spin-btn:disabled {
  opacity: .55;
  cursor: default;
  transform: none !important;
}

/* v33: выбор аватаров игроков в большом поле */
.satori-player {
  width: 100%;
  border: 0;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}

.satori-player:hover {
  transform: translateY(-1px);
  background: rgba(255,255,255,.13);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
}

.satori-player:focus-visible,
.satori-avatar-choice:focus-visible {
  outline: 3px solid rgba(255, 214, 109, .85);
  outline-offset: 3px;
}

.satori-avatar.has-avatar {
  background: rgba(255,255,255,.12);
  overflow: hidden;
  box-shadow: inset 0 0 0 2px rgba(255,214,109,.62), 0 8px 16px rgba(0,0,0,.2);
}

.satori-avatar.has-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.satori-avatar-picker {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(7, minmax(58px, 1fr));
  gap: 12px;
  align-content: center;
  justify-content: center;
  overflow: auto;
}

.satori-avatar-choice {
  aspect-ratio: 1 / 1;
  border: 0;
  border-radius: 18px;
  padding: 6px;
  background: rgba(255,255,255,.12);
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), 0 10px 20px rgba(0,0,0,.22);
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.satori-avatar-choice:hover {
  transform: translateY(-3px) scale(1.025);
  background: rgba(255,255,255,.2);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.22), 0 16px 26px rgba(0,0,0,.3);
}

.satori-avatar-choice.is-selected {
  box-shadow: inset 0 0 0 4px rgba(255,214,109,.9), 0 16px 28px rgba(0,0,0,.32);
}

.satori-avatar-choice.is-occupied {
  position: relative;
  opacity: .34;
  cursor: not-allowed;
  filter: grayscale(.35);
  transform: none;
}

.satori-avatar-choice.is-occupied:hover {
  transform: none;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), 0 10px 20px rgba(0,0,0,.22);
}

.satori-avatar-lock {
  position: absolute;
  top: 6px;
  right: 7px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(20, 24, 42, .86);
  color: #fff0a5;
  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 20px;
  text-align: center;
  box-shadow: 0 3px 8px rgba(0,0,0,.32);
  pointer-events: none;
}

.satori-avatar-choice img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 14px;
  pointer-events: none;
}

.satori-board-overlay .satori-avatar-picker {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  .satori-avatar-picker {
    grid-template-columns: repeat(6, minmax(46px, 1fr));
    gap: 8px;
    padding: 10px;
  }

  .satori-avatar-choice {
    border-radius: 14px;
    padding: 4px;
  }

  .satori-avatar-choice img {
    border-radius: 11px;
  }
}

/* v34-v39 CLEAN: текстовые подсказки 00-02
   Старые итерационные дубли удалены.
   Главные места ручной настройки помечены ниже: [НАСТРОЙКА]. */

.satori-hint-board-content {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.satori-hint-board-card {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.satori-hint-card {
  --hint-bg: #dec8e3;
  --hint-purple: #7544d9;
  --hint-border: #c793d2;
  --hint-answer-bg: #efe2e2;
  position: relative !important;
  box-sizing: border-box !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: var(--hint-bg) !important;
  color: #121018 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  container-type: inline-size !important;
}

.satori-hint-inner {
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box !important;
}

.satori-hint-title {
  margin: 0 !important;
  color: var(--hint-purple) !important;
  font-family: "Segoe Print", "Comic Sans MS", "Trebuchet MS", cursive !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  text-align: center !important;
  letter-spacing: -0.025em !important;
}

/* Большая карточка в пространстве игрового поля */
.satori-hint-card.is-board {
  width: auto !important;
  height: min(100%, 100cqw) !important;
  max-width: 100% !important;
  max-height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  box-shadow: none !important;
}

@supports not (height: 100cqw) {
  .satori-hint-card.is-board {
    width: min(100%, 930px) !important;
    height: auto !important;
  }
}

/* [НАСТРОЙКА] Отступы всей первой карточки.
   Первое значение опускает/поднимает заголовок вместе с рамкой. */
.satori-hint-card.is-board .satori-hint-start-inner {
  padding: 6.8cqw 5.8cqw 5.8cqw !important;
}

.satori-hint-card.is-board .satori-hint-start-inner .satori-hint-title {
  font-size: 6.35cqw !important;
  line-height: 1.04 !important;
  margin: 0 0 2.8cqw !important;
}

/* [НАСТРОЙКА] Розовая рамка первой карточки.
   margin-top опускает ТОЛЬКО рамку, не трогая заголовок.
   Увеличьте 0cqw до 1cqw / 2cqw / 3cqw при необходимости. */
.satori-hint-card.is-board .satori-hint-start-box {
  margin-top: 0cqw !important;
  height: 74.2cqw !important;
  min-height: 0 !important;
  padding: 5.15cqw 6.1cqw 4.4cqw !important;
  border: 1.95cqw solid var(--hint-border) !important;
  border-radius: 7.4cqw !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* [НАСТРОЙКА] Размер основного текста первой карточки. */
.satori-hint-card.is-board .satori-hint-start-box p {
  margin: 0 !important;
  font-size: 3.00cqw !important;
  line-height: 1.32 !important;
  font-weight: 400 !important;
  text-align: left !important;
}

.satori-hint-card.is-board .satori-hint-start-box strong {
  font-weight: 700 !important;
}

/* Карточки 01-02 */
.satori-hint-card.is-board .satori-hint-gate-inner {
  padding: 7.9cqw 7.25cqw 5cqw !important;
}

.satori-hint-card.is-board .satori-hint-gate-inner .satori-hint-title {
  font-size: 6.05cqw !important;
  line-height: 1.08 !important;
  margin: 0 0 4.1cqw !important;
}

.satori-hint-card.is-board .satori-hint-main-text,
.satori-hint-card.is-board .satori-hint-main-text-02 {
  font-size: 6.1cqw !important;
  line-height: 1.24 !important;
  text-align: center !important;
}

.satori-hint-card.is-board .satori-hint-main-text p,
.satori-hint-card.is-board .satori-hint-main-text-02 p {
  margin: 0 0 .15cqw !important;
  text-align: center !important;
}

.satori-hint-card.is-board .satori-hint-main-text strong,
.satori-hint-card.is-board .satori-hint-main-text-02 strong {
  font-weight: 700 !important;
}

.satori-hint-card.is-board .satori-hint-main-text em,
.satori-hint-card.is-board .satori-hint-main-text-02 em {
  font-style: italic !important;
}

.satori-hint-card.is-board .satori-hint-action {
  margin: 4.2cqw 0 0 !important;
  color: #111015 !important;
  font-family: "Segoe Print", "Comic Sans MS", "Trebuchet MS", cursive !important;
  font-weight: 700 !important;
  font-size: 3.85cqw !important;
  line-height: 1.42 !important;
  text-align: center !important;
  letter-spacing: -0.025em !important;
}

.satori-hint-card.is-board .satori-hint-answer {
  box-sizing: border-box !important;
  width: 81.8cqw !important;
  min-height: 20.4cqw !important;
  margin: 2.8cqw auto 0 !important;
  padding: 3.5cqw 2.2cqw 2cqw !important;
  border: .85cqw solid var(--hint-border) !important;
  border-radius: 2.9cqw !important;
  background: var(--hint-answer-bg) !important;
  color: var(--hint-purple) !important;
  font-family: "Segoe Print", "Comic Sans MS", "Trebuchet MS", cursive !important;
  font-weight: 700 !important;
  font-size: 3.75cqw !important;
  line-height: 1.38 !important;
  text-align: center !important;
  letter-spacing: -0.025em !important;
}

.satori-hint-card.is-board .satori-hint-answer-02 {
  min-height: 22.8cqw !important;
  padding-top: 2.6cqw !important;
  line-height: 1.36 !important;
}

/* Стрелки перелистывания на большом поле */
.satori-hint-nav,
.satori-hint-mini-arrow {
  position: absolute !important;
  top: 50% !important;
  width: 42px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(9, 33, 137, .9) !important;
  color: #fff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 36px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: inset 0 2px 7px rgba(255,255,255,.2), 0 8px 18px rgba(0,0,0,.28) !important;
  transform: translateY(-50%) !important;
  z-index: 20 !important;
}

.satori-hint-nav-prev { left: 16px !important; }
.satori-hint-nav-next { right: 16px !important; }
.satori-hint-nav:hover,
.satori-hint-mini-arrow:hover { transform: translateY(-50%) scale(1.04) !important; }

.satori-hint-counter,
.satori-hint-counter.is-board-counter {
  display: none !important;
}

/* Миниатюра подсказки: только название во всю карточку */
.satori-hint-mini-wrap {
  position: relative !important;
  display: block !important;
  width: min(100%, 260px) !important;
  max-width: 260px !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

.satori-hint-mini-card {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  overflow: visible !important;
}

.satori-hint-card.is-mini {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  max-width: none !important;
  overflow: hidden !important;
  background: var(--hint-bg) !important;
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  padding: 7% 9% !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.22) !important;
}

.satori-hint-card.is-mini .satori-hint-inner {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  transform: none !important;
}

.satori-hint-card.is-mini .satori-hint-start-box,
.satori-hint-card.is-mini .satori-hint-main-text,
.satori-hint-card.is-mini .satori-hint-main-text-02,
.satori-hint-card.is-mini .satori-hint-action,
.satori-hint-card.is-mini .satori-hint-answer {
  display: none !important;
}

/* [НАСТРОЙКА МИНИАТЮРЫ]
   Заголовок маленькой карточки.
   Использует тот же класс .satori-hint-title и тот же шрифт, что заголовок большой карточки.
   Размер меняется в font-size.
   Межстрочный интервал меняется в line-height. */
.satori-hint-card.is-mini .satori-hint-mini-inner {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  transform: none !important;
}

.satori-hint-card.is-mini .satori-hint-title {
  display: block !important;
  margin: 0 !important;
  color: var(--hint-purple) !important;
  font-family: "Segoe Print", "Comic Sans MS", "Trebuchet MS", cursive !important;
  font-weight: 700 !important;
  font-size: clamp(28px, 15cqw, 44px) !important;
  line-height: 1.08 !important;
  text-align: center !important;
  letter-spacing: -0.025em !important;
}

.satori-hint-mini-wrap .satori-hint-mini-arrow:first-child { left: 7px !important; }
.satori-hint-mini-wrap .satori-hint-mini-arrow:last-child { right: 7px !important; }

@media (max-width: 760px) {
  .satori-hint-nav,
  .satori-hint-mini-arrow {
    width: 34px !important;
    height: 34px !important;
    font-size: 29px !important;
  }

  .satori-hint-nav-prev { left: 7px !important; }
  .satori-hint-nav-next { right: 7px !important; }
}
/* Размер основного текста карточек 02-03 */
#satoriGameRoot #satoriHintOverlay .satori-hint-card.is-board .satori-hint-gate-inner > .satori-hint-main-text > p {
  font-size: clamp(15px, 2.6vw, 24px) !important;
  line-height: 1.18 !important;
}

/* [НАСТРОЙКА] Карточка 03: Третьи Врата: Полное Принятие (сдача) */
.satori-hint-card.is-board .satori-hint-accept-inner {
  padding: 1.7cqw 3.5cqw 4.6cqw !important;
}

.satori-hint-card.is-board .satori-hint-accept-title {
  font-size: 3.15cqw !important;
  line-height: 1.08 !important;
  margin: 0 0 2.0cqw !important;
}

.satori-hint-card.is-board .satori-hint-accept-box {
  box-sizing: border-box !important;
  width: 93.2cqw !important;
  margin: 0 auto !important;
  padding: 0.8cqw 2.1cqw 0.8cqw !important;
  border: 1.35cqw solid var(--hint-border) !important;
  border-radius: 5.6cqw !important;
  background: var(--hint-answer-bg) !important;
  color: #111015 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(14px, 2.55vw, 22px) !important;
  line-height: 1.18 !important;
  text-align: left !important;
}

.satori-hint-card.is-board .satori-hint-accept-box p {
  margin: 0 0 0.6cqw !important;
}

.satori-hint-card.is-board .satori-hint-accept-box p:last-child {
  margin-bottom: 0 !important;
}

.satori-hint-card.is-board .satori-hint-accept-box strong {
  font-weight: 700 !important;
}

.satori-hint-card.is-board .satori-hint-accept-box em {
  font-style: italic !important;
}

.satori-hint-card.is-board .satori-hint-accept-action {
  margin: 2.6cqw 0 0 !important;
  font-size: 3.45cqw !important;
  line-height: 1.45 !important;
}


/* [НАСТРОЙКА] Карточка 03: размер центрального текста — точечный override */
#satoriGameRoot #satoriHintOverlay .satori-hint-card.is-board .satori-hint-accept-box > p {
  font-size: clamp(16px, 2.72cqw, 25px) !important;
  line-height: 1.15 !important;
}


/* [НАСТРОЙКА] Карточка 03: Ответ группы */
.satori-hint-card.is-board .satori-hint-answer-03 {
  min-height: 11.2cqw !important;
  margin: 1.2cqw auto 0 !important;
  padding: 1.35cqw 2.2cqw 1.1cqw !important;
  font-size: 2.95cqw !important;
  line-height: 1.22 !important;
}

/* [НАСТРОЙКА] Стрелки подсказок: нижние углы */
.satori-hint-nav,
.satori-hint-mini-arrow {
  top: auto !important;
  bottom: 16px !important;
  transform: none !important;
}

.satori-hint-nav:hover,
.satori-hint-mini-arrow:hover {
  transform: scale(1.04) !important;
}

.satori-hint-nav-prev {
  left: 16px !important;
}

.satori-hint-nav-next {
  right: 16px !important;
}

.satori-hint-mini-wrap .satori-hint-mini-arrow:first-child {
  left: 8px !important;
  bottom: 8px !important;
}

.satori-hint-mini-wrap .satori-hint-mini-arrow:last-child {
  right: 8px !important;
  bottom: 8px !important;
}

/* [НАСТРОЙКА МИНИАТЮРЫ] Центрирование и размер длинных заголовков */
.satori-hint-card.is-mini {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12% 13% 18% !important;
}

.satori-hint-card.is-mini .satori-hint-mini-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.satori-hint-card.is-mini .satori-hint-title {
  width: 100% !important;
  max-width: 100% !important;
  font-size: clamp(24px, 11.5cqw, 38px) !important;
  line-height: 1.02 !important;
  text-align: center !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

/* [НАСТРОЙКА] Карточка 05: Для Окончания Игры */
.satori-hint-card.is-board .satori-hint-finish-inner {
  padding: 7.2cqw 5.7cqw 5.7cqw !important;
}

.satori-hint-card.is-board .satori-hint-finish-title {
  font-size: 5.15cqw !important;
  line-height: 1.08 !important;
  margin: 0 0 6.2cqw !important;
}

.satori-hint-card.is-board .satori-hint-finish-box {
  box-sizing: border-box !important;
  width: 90.5cqw !important;
  margin: 0 auto !important;
  padding: 4.6cqw 5.4cqw 4.2cqw !important;
  border: 1.35cqw solid var(--hint-border) !important;
  border-radius: 5.6cqw !important;
  background: var(--hint-answer-bg) !important;
  color: #111015 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 3.55cqw !important;
  line-height: 1.33 !important;
  text-align: center !important;
}

.satori-hint-card.is-board .satori-hint-finish-box p {
  margin: 0 !important;
}

@media (max-width: 760px) {
  .satori-hint-nav,
  .satori-hint-mini-arrow {
    bottom: 8px !important;
  }

  .satori-hint-nav-prev {
    left: 8px !important;
  }

  .satori-hint-nav-next {
    right: 8px !important;
  }
}


/* [НАСТРОЙКА] Карточка 04: Сатори (Пробуждение).
   Эти правила сильнее общих .satori-hint-accept-* и не влияют на карточку 03. */
.satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-inner {
  padding: 1.7cqw 3.5cqw 4.6cqw !important;
}

.satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-title {
  font-size: 3.15cqw !important;
  line-height: 1.08 !important;
  margin: 0 0 2.0cqw !important;
}

.satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-box {
  width: 93.2cqw !important;
  padding: 0.8cqw 2.1cqw 0.8cqw !important;
  font-size: clamp(16px, 2.72cqw, 25px) !important;
  line-height: 1.15 !important;
}

.satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-box > p {
  font-size: clamp(16px, 2.72cqw, 25px) !important;
  line-height: 1.15 !important;
  margin: 0 0 0.6cqw !important;
}

/* [НАСТРОЙКА] Миниатюра карточки 04 отдельно от остальных миниатюр */
.satori-hint-card.is-mini.satori-hint-card-04 .satori-hint-title {
  font-size: clamp(24px, 11.5cqw, 38px) !important;
  line-height: 1.02 !important;
}

/* ======================================================================
   SATORI CARD SETTINGS — РЕДАКТИРОВАТЬ КАРТОЧКИ ТОЛЬКО ЗДЕСЬ

   satori.js добавляет каждой карточке уникальный класс:
   .satori-hint-card-00, .satori-hint-card-01, ... .satori-hint-card-06
   и атрибут data-hint-id="06".

   Настройки карточек ниже не конфликтуют между собой.
   ====================================================================== */

/* ОБЩЕЕ: миниатюры подсказок */
.satori-hint-card.is-mini .satori-hint-title {
  font-size: clamp(24px, 11.5cqw, 38px) !important;
  line-height: 1.02 !important;
  text-align: center !important;
}

/* КАРТОЧКА 00 — Старт в Стране Жертв */
.satori-hint-card.is-board.satori-hint-card-00 .satori-hint-start-inner { padding: 6.8cqw 5.8cqw 5.8cqw !important; }
.satori-hint-card.is-board.satori-hint-card-00 .satori-hint-title { font-size: 6.35cqw !important; line-height: 1.04 !important; margin: 0 0 2.8cqw !important; }
.satori-hint-card.is-board.satori-hint-card-00 .satori-hint-start-box { margin-top: 0cqw !important; height: 74.2cqw !important; padding: 5.15cqw 6.1cqw 4.4cqw !important; }
.satori-hint-card.is-board.satori-hint-card-00 .satori-hint-start-box p { font-size: 3.00cqw !important; line-height: 1.32 !important; }

/* КАРТОЧКА 01 — Первые Врата: Осознание */
.satori-hint-card.is-board.satori-hint-card-01 .satori-hint-gate-inner { padding: 7.9cqw 7.25cqw 5cqw !important; }
.satori-hint-card.is-board.satori-hint-card-01 .satori-hint-title { font-size: 6.05cqw !important; line-height: 1.08 !important; margin: 0 0 4.1cqw !important; }
.satori-hint-card.is-board.satori-hint-card-01 .satori-hint-main-text > p { font-size: clamp(15px, 2.6vw, 24px) !important; line-height: 1.18 !important; margin: 0 0 .15cqw !important; }
.satori-hint-card.is-board.satori-hint-card-01 .satori-hint-action { margin: 4.2cqw 0 0 !important; font-size: 3.85cqw !important; line-height: 1.42 !important; }
.satori-hint-card.is-board.satori-hint-card-01 .satori-hint-answer { width: 81.8cqw !important; min-height: 20.4cqw !important; margin: 2.8cqw auto 0 !important; padding: 3.5cqw 2.2cqw 2cqw !important; font-size: 3.75cqw !important; line-height: 1.38 !important; }

/* КАРТОЧКА 02 — Вторые Врата: Сдвиг */
.satori-hint-card.is-board.satori-hint-card-02 .satori-hint-gate-inner { padding: 7.9cqw 7.25cqw 5cqw !important; }
.satori-hint-card.is-board.satori-hint-card-02 .satori-hint-title { font-size: 6.05cqw !important; line-height: 1.08 !important; margin: 0 0 4.1cqw !important; }
.satori-hint-card.is-board.satori-hint-card-02 .satori-hint-main-text > p { font-size: clamp(15px, 2.6vw, 24px) !important; line-height: 1.18 !important; margin: 0 0 .15cqw !important; }
.satori-hint-card.is-board.satori-hint-card-02 .satori-hint-action { margin: 4.2cqw 0 0 !important; font-size: 3.85cqw !important; line-height: 1.42 !important; }
.satori-hint-card.is-board.satori-hint-card-02 .satori-hint-answer-02 { width: 81.8cqw !important; min-height: 22.8cqw !important; margin: 2.8cqw auto 0 !important; padding: 2.6cqw 2.2cqw 2cqw !important; font-size: 3.75cqw !important; line-height: 1.36 !important; }

/* КАРТОЧКА 03 — Третьи Врата: Полное Принятие (сдача) */
.satori-hint-card.is-board.satori-hint-card-03 .satori-hint-accept-inner { padding: 1.7cqw 3.5cqw 4.6cqw !important; }
.satori-hint-card.is-board.satori-hint-card-03 .satori-hint-accept-title { font-size: 3.15cqw !important; line-height: 1.08 !important; margin: 0 0 2.0cqw !important; }
.satori-hint-card.is-board.satori-hint-card-03 .satori-hint-accept-box { width: 93.2cqw !important; padding: 0.8cqw 2.1cqw 0.8cqw !important; font-size: clamp(16px, 2.72cqw, 25px) !important; line-height: 1.15 !important; }
.satori-hint-card.is-board.satori-hint-card-03 .satori-hint-accept-box > p { font-size: clamp(16px, 2.72cqw, 25px) !important; line-height: 1.15 !important; margin: 0 0 0.6cqw !important; }
.satori-hint-card.is-board.satori-hint-card-03 .satori-hint-accept-action { margin: 2.6cqw 0 0 !important; font-size: 3.45cqw !important; line-height: 1.45 !important; }
.satori-hint-card.is-board.satori-hint-card-03 .satori-hint-answer-03 { min-height: 11.2cqw !important; margin: 1.2cqw auto 0 !important; padding: 1.35cqw 2.2cqw 1.1cqw !important; font-size: 2.95cqw !important; line-height: 1.22 !important; }

/* КАРТОЧКА 04 — Сатори (Пробуждение) */
.satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-inner { padding: 1.7cqw 3.5cqw 4.6cqw !important; }
.satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-title { font-size: 3.15cqw !important; line-height: 1.08 !important; margin: 0 0 2.0cqw !important; }
.satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-box { width: 93.2cqw !important; padding: 0.8cqw 2.1cqw 0.8cqw !important; font-size: clamp(16px, 2.72cqw, 25px) !important; line-height: 1.15 !important; }
.satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-box > p { font-size: clamp(16px, 2.72cqw, 25px) !important; line-height: 1.15 !important; margin: 0 0 0.6cqw !important; }
.satori-hint-card.is-mini.satori-hint-card-04 .satori-hint-title { font-size: clamp(24px, 11.5cqw, 38px) !important; line-height: 1.02 !important; }

/* КАРТОЧКА 05 — Для Окончания Игры */
.satori-hint-card.is-board.satori-hint-card-05 .satori-hint-finish-inner { padding: 7.2cqw 5.7cqw 5.7cqw !important; }
.satori-hint-card.is-board.satori-hint-card-05 .satori-hint-finish-title { font-size: 5.15cqw !important; line-height: 1.08 !important; margin: 0 0 6.2cqw !important; }
.satori-hint-card.is-board.satori-hint-card-05 .satori-hint-finish-box { width: 90.5cqw !important; padding: 4.6cqw 5.4cqw 4.2cqw !important; font-size: 3.55cqw !important; line-height: 1.33 !important; }
.satori-hint-card.is-board.satori-hint-card-05 .satori-hint-finish-box > p { margin: 0 !important; font-size: 3.55cqw !important; line-height: 1.33 !important; }

/* КАРТОЧКА 06 — После Игры */
.satori-hint-card.is-board.satori-hint-card-06 .satori-hint-after-inner { padding: 4.8cqw 4.1cqw 4.1cqw !important; }
.satori-hint-card.is-board.satori-hint-card-06 .satori-hint-after-title { font-size: 5.25cqw !important; line-height: 1.06 !important; margin: 0 0 2.1cqw !important; }
.satori-hint-card.is-board.satori-hint-card-06 .satori-hint-after-box { box-sizing: border-box !important; width: 92.5cqw !important; min-height: 76cqw !important; margin: 0 auto !important; padding: 3.0cqw 3.4cqw 2.6cqw !important; border: 1.35cqw solid var(--hint-border) !important; border-radius: 6.1cqw !important; background: transparent !important; color: #111015 !important; font-family: Arial, Helvetica, sans-serif !important; text-align: left !important; }
.satori-hint-card.is-board.satori-hint-card-06 .satori-hint-after-box > p { margin: 0 !important; font-size: clamp(15px, 2.85cqw, 25px) !important; line-height: 1.24 !important; font-weight: 400 !important; }
.satori-hint-card.is-mini.satori-hint-card-06 .satori-hint-title { font-size: clamp(28px, 13cqw, 42px) !important; line-height: 1.04 !important; }


/* КАРТОЧКА 07 — Ангел Исцеления */
.satori-hint-card.is-board.satori-hint-card-07 .satori-hint-angel-inner {
  padding: 9.0cqw 0 0 !important;
}

.satori-hint-card.is-board.satori-hint-card-07 .satori-hint-angel-title {
  margin: 0 0 7.6cqw 9.8cqw !important;
  color: var(--hint-border) !important;
  font-size: 4.25cqw !important;
  line-height: 1.05 !important;
  text-align: left !important;
}

.satori-hint-card.is-board.satori-hint-card-07 .satori-hint-angel-main {
  width: 80.5cqw !important;
  margin: 0 auto !important;
  color: #111015 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  text-align: left !important;
}

.satori-hint-card.is-board.satori-hint-card-07 .satori-hint-angel-main p {
  margin: 0 !important;
  font-size: 4.30cqw !important;
  line-height: 1.28 !important;
  font-weight: 400 !important;
}

.satori-hint-card.is-board.satori-hint-card-07 .satori-hint-angel-main strong {
  font-weight: 700 !important;
}

.satori-hint-card.is-board.satori-hint-card-07 .satori-hint-angel-main em {
  font-style: italic !important;
}

.satori-hint-card.is-board.satori-hint-card-07 .satori-hint-angel-question {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  min-height: 29.2cqw !important;
  box-sizing: border-box !important;
  padding: 8.0cqw 5.5cqw 4.6cqw !important;
  background: var(--hint-border) !important;
  color: #111015 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 4.25cqw !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.satori-hint-card.is-mini.satori-hint-card-07 .satori-hint-title {
  font-size: clamp(24px, 11.5cqw, 38px) !important;
  line-height: 1.02 !important;
}

/* ======================================================================
   END SATORI CARD SETTINGS
   ====================================================================== */

/* КАРТОЧКА 11 — Игра в обвинение */
.satori-hint-card.is-board.satori-hint-card-11 .satori-hint-blame-inner{padding:5.5cqw 0 0!important;}
.satori-hint-card.is-board.satori-hint-card-11 .satori-hint-blame-title{
margin:0 0 2.2cqw 9.5cqw!important;text-align:left!important;
color:#b893c8!important;font-size:4.8cqw!important;line-height:1.05!important;}
.satori-hint-card.is-board.satori-hint-card-11 .satori-hint-blame-main{
width:80.5cqw!important;margin:0 auto!important;}
.satori-hint-card.is-board.satori-hint-card-11 .satori-hint-blame-main p{
margin:0 0 1.0cqw!important;color:#111015!important;
font-size:3.05cqw!important;line-height:1.24!important;text-align:left!important;}
.satori-hint-card.is-board.satori-hint-card-11 .satori-hint-blame-answer{
position:absolute!important;left:0!important;right:0!important;bottom:0!important;
min-height:24cqw!important;padding:6.2cqw 5cqw 4.2cqw!important;
box-sizing:border-box!important;background:#c8a3d0!important;color:#111015!important;
font-size:4.35cqw!important;line-height:1.18!important;font-weight:700!important;text-align:center!important;}
.satori-hint-card.is-mini.satori-hint-card-11 .satori-hint-title{
font-size:clamp(20px,9.5cqw,32px)!important;line-height:1.02!important;}


/* КАРТОЧКА 12 — Карма */
.satori-hint-card.is-board.satori-hint-card-12 .satori-hint-karma-inner{padding:5.5cqw 0 0!important;}
.satori-hint-card.is-board.satori-hint-card-12 .satori-hint-karma-title{
margin:0 0 5cqw 9.5cqw!important;text-align:left!important;
color:#b893c8!important;font-size:4.8cqw!important;line-height:1.05!important;}
.satori-hint-card.is-board.satori-hint-card-12 .satori-hint-karma-main{
width:80.5cqw!important;margin:0 auto!important;}
.satori-hint-card.is-board.satori-hint-card-12 .satori-hint-karma-main p{
margin:0!important;color:#111015!important;
font-size:5.2cqw!important;line-height:1.28!important;text-align:left!important;}
.satori-hint-card.is-board.satori-hint-card-12 .satori-hint-karma-answer{
position:absolute!important;left:0!important;right:0!important;bottom:0!important;
height:24cqw!important;background:#c8a3d0!important;}
.satori-hint-card.is-mini.satori-hint-card-12 .satori-hint-title{
font-size:clamp(24px,11cqw,38px)!important;line-height:1.02!important;}


/* КАРТОЧКА 13 — Новая история */
.satori-hint-card.is-board.satori-hint-card-13 .satori-hint-newstory-inner{padding:5.5cqw 0 0!important;}
.satori-hint-card.is-board.satori-hint-card-13 .satori-hint-newstory-title{
margin:0 0 7.8cqw 9.5cqw!important;text-align:left!important;
color:#b893c8!important;font-size:4.8cqw!important;line-height:1.05!important;}
.satori-hint-card.is-board.satori-hint-card-13 .satori-hint-newstory-main{
width:80.5cqw!important;margin:0 auto!important;}
.satori-hint-card.is-board.satori-hint-card-13 .satori-hint-newstory-main p{
margin:0!important;color:#111015!important;
font-size:4.75cqw!important;line-height:1.30!important;text-align:left!important;}
.satori-hint-card.is-board.satori-hint-card-13 .satori-hint-newstory-answer{
position:absolute!important;left:0!important;right:0!important;bottom:0!important;
min-height:24cqw!important;padding:8.2cqw 5cqw 4.2cqw!important;
box-sizing:border-box!important;background:#c8a3d0!important;color:#111015!important;
font-size:4.2cqw!important;line-height:1.25!important;font-weight:700!important;text-align:center!important;}
.satori-hint-card.is-mini.satori-hint-card-13 .satori-hint-title{
font-size:clamp(22px,10.2cqw,35px)!important;line-height:1.02!important;}


/* КАРТОЧКА 14 — Освобождающее дыхание */
.satori-hint-card.is-board.satori-hint-card-14 .satori-hint-breath-inner{padding:5.2cqw 0 0!important;}
.satori-hint-card.is-board.satori-hint-card-14 .satori-hint-breath-title{
margin:0 0 1.4cqw 9.5cqw!important;text-align:left!important;
color:#b893c8!important;font-size:4.7cqw!important;line-height:1.05!important;}
.satori-hint-card.is-board.satori-hint-card-14 .satori-hint-breath-main{
width:81cqw!important;margin:0 auto!important;}
.satori-hint-card.is-board.satori-hint-card-14 .satori-hint-breath-main p{
margin:0 0 .9cqw!important;color:#111015!important;
font-size:3.45cqw!important;line-height:1.18!important;text-align:left!important;}
.satori-hint-card.is-board.satori-hint-card-14 .satori-hint-breath-answer{
position:absolute!important;left:0!important;right:0!important;bottom:0!important;
min-height:24cqw!important;padding:7.2cqw 5cqw 4.2cqw!important;
box-sizing:border-box!important;background:#c8a3d0!important;color:#111015!important;
font-size:4.25cqw!important;line-height:1.2!important;font-weight:700!important;text-align:center!important;}
.satori-hint-card.is-mini.satori-hint-card-14 .satori-hint-title{
font-size:clamp(20px,9.2cqw,31px)!important;line-height:1.02!important;}


/* КАРТОЧКА 15 — Отпусти это */
.satori-hint-card.is-board.satori-hint-card-15 .satori-hint-letgo-inner{padding:5.0cqw 0 0!important;}
.satori-hint-card.is-board.satori-hint-card-15 .satori-hint-letgo-title{
margin:0 0 1.2cqw 9.5cqw!important;text-align:left!important;
color:#b893c8!important;font-size:4.8cqw!important;line-height:1.05!important;}
.satori-hint-card.is-board.satori-hint-card-15 .satori-hint-letgo-main{
width:81cqw!important;margin:0 auto!important;}
.satori-hint-card.is-board.satori-hint-card-15 .satori-hint-letgo-main p{
margin:0 0 .8cqw!important;color:#111015!important;
font-size:3.45cqw!important;line-height:1.18!important;text-align:left!important;}
.satori-hint-card.is-board.satori-hint-card-15 .satori-hint-letgo-answer{
position:absolute!important;left:0!important;right:0!important;bottom:0!important;
min-height:24cqw!important;padding:7.1cqw 5cqw 4.2cqw!important;
box-sizing:border-box!important;background:#c8a3d0!important;color:#111015!important;
font-size:4.05cqw!important;line-height:1.22!important;font-weight:700!important;text-align:center!important;}
.satori-hint-card.is-mini.satori-hint-card-15 .satori-hint-title{
font-size:clamp(22px,10.2cqw,34px)!important;line-height:1.02!important;}


/* КАРТОЧКА 16 — Полное принятие (сдача) */
.satori-hint-card.is-board.satori-hint-card-16 .satori-hint-surrender-inner{padding:5.2cqw 0 0!important;}
.satori-hint-card.is-board.satori-hint-card-16 .satori-hint-surrender-title{
margin:0 0 3.0cqw 9.5cqw!important;text-align:left!important;
color:#b893c8!important;font-size:4.7cqw!important;line-height:1.05!important;}
.satori-hint-card.is-board.satori-hint-card-16 .satori-hint-surrender-main{
width:81cqw!important;margin:0 auto!important;}
.satori-hint-card.is-board.satori-hint-card-16 .satori-hint-surrender-main p{
margin:0 0 1.0cqw!important;color:#111015!important;
font-size:3.95cqw!important;line-height:1.20!important;text-align:left!important;}
.satori-hint-card.is-board.satori-hint-card-16 .satori-hint-surrender-answer{
position:absolute!important;left:0!important;right:0!important;bottom:0!important;
min-height:24cqw!important;padding:7.0cqw 5cqw 4.2cqw!important;
box-sizing:border-box!important;background:#c8a3d0!important;color:#111015!important;
font-size:4.3cqw!important;line-height:1.22!important;font-weight:700!important;text-align:center!important;}
.satori-hint-card.is-mini.satori-hint-card-16 .satori-hint-title{
font-size:clamp(18px,8.5cqw,29px)!important;line-height:1.02!important;}


/* КАРТОЧКА 23 — Что нас раздражает в других */
.satori-hint-card.is-board.satori-hint-card-23 .satori-hint-mirror-inner{padding:4.8cqw 0 0!important;}
.satori-hint-card.is-board.satori-hint-card-23 .satori-hint-mirror-title{
margin:0 0 1.4cqw 9.5cqw!important;text-align:left!important;
color:#b893c8!important;font-size:4.45cqw!important;line-height:1.08!important;}
.satori-hint-card.is-board.satori-hint-card-23 .satori-hint-mirror-main{
width:82cqw!important;margin:0 auto!important;}
.satori-hint-card.is-board.satori-hint-card-23 .satori-hint-mirror-main p{
margin:0 0 .6cqw!important;color:#111015!important;
font-size:3.25cqw!important;line-height:1.16!important;text-align:left!important;}
.satori-hint-card.is-board.satori-hint-card-23 .satori-hint-mirror-answer{
position:absolute!important;left:0!important;right:0!important;bottom:0!important;
min-height:23cqw!important;padding:5.8cqw 5cqw 3.6cqw!important;
box-sizing:border-box!important;background:#c8a3d0!important;color:#111015!important;
font-size:4.6cqw!important;line-height:1.18!important;font-weight:700!important;text-align:center!important;}


/* КАРТОЧКА 25 — Энергетический блок */
.satori-hint-card.is-board.satori-hint-card-25 .satori-hint-energy-inner{padding:5.0cqw 0 0!important;}
.satori-hint-card.is-board.satori-hint-card-25 .satori-hint-energy-title{
margin:0 0 1.2cqw 9.5cqw!important;text-align:left!important;
color:#b893c8!important;font-size:4.8cqw!important;line-height:1.05!important;}
.satori-hint-card.is-board.satori-hint-card-25 .satori-hint-energy-main{
width:82cqw!important;margin:0 auto!important;}
.satori-hint-card.is-board.satori-hint-card-25 .satori-hint-energy-main p{
margin:0 0 .8cqw!important;color:#111015!important;
font-size:3.50cqw!important;line-height:1.18!important;text-align:left!important;}
.satori-hint-card.is-board.satori-hint-card-25 .satori-hint-energy-answer{
position:absolute!important;left:0!important;right:0!important;bottom:0!important;
height:24cqw!important;background:#c8a3d0!important;}


/* SATORI: стопка карт для 'Что случилось?' */
.satori-card-grid.is-single-card {
  overflow: visible !important;
}

.satori-card-stack {
  position: relative !important;
  width: 180px !important;
  height: 270px !important;
  overflow: visible !important;
}

.satori-card-stack::before,
.satori-card-stack::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 180px !important;
  height: 270px !important;
  border-radius: 13px !important;
  background: url('/mak/satori/assets/card-back.png') center center / cover no-repeat !important;
  box-shadow: inset 0 2px 8px rgba(255,255,255,.2), 0 10px 18px rgba(0,0,0,.28) !important;
}

.satori-card-stack::before {
  transform: translate(10px, 10px) !important;
  z-index: 0 !important;
}

.satori-card-stack::after {
  transform: translate(5px, 5px) !important;
  z-index: 1 !important;
}

.satori-card-stack .satori-card-back {
  position: relative !important;
  z-index: 2 !important;
  width: 180px !important;
  height: 270px !important;
}

/* SATORI: выбранные карты оставляют пустое место */
.satori-card-back.is-taken {
  display: block !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* SATORI: ручное перемещение аватаров по полю */
.satori-board-pieces {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  pointer-events: none !important;
}

.satori-board-img.is-hidden ~ .satori-board-pieces {
  display: none !important;
}

.satori-board-piece {
  position: absolute !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.26) !important;
  overflow: hidden !important;
  cursor: grab !important;
  pointer-events: auto !important;
  touch-action: none !important;
  transform: translate(calc(-50% + var(--piece-dx, 0px)), calc(-50% + var(--piece-dy, 0px))) !important;
  box-shadow:
    0 6px 14px rgba(0,0,0,.38),
    0 0 0 2px rgba(255,255,255,.82) !important;
}

.satori-board-piece.is-dragging {
  cursor: grabbing !important;
  z-index: 20 !important;
  transform: translate(-50%, -50%) scale(1.12) !important;
  box-shadow:
    0 10px 22px rgba(0,0,0,.45),
    0 0 0 3px rgba(246,214,109,.96),
    0 0 18px rgba(246,214,109,.65) !important;
}

.satori-board-piece img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  pointer-events: none !important;
}

@media (max-width: 520px) {
  .satori-board-piece {
    width: 32px !important;
    height: 32px !important;
  }
}


/* SATORI: кубик без ручного ввода */
.satori-dice-manual,
.satori-dice-note {
  display: none !important;
}


/* SATORI: компактные аватары игроков под кубиком */
.satori-side-players {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  padding: 10px !important;
  border-radius: 16px !important;
  background: rgba(11, 24, 70, .42) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12) !important;
}

.satori-side-player {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border: 0 !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: radial-gradient(circle at 35% 30%, #fff7a8, #80fff0 55%, #396ed9) !important;
  cursor: pointer !important;
  overflow: hidden !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.45),
    0 8px 16px rgba(0,0,0,.22) !important;
}

.satori-side-player:hover {
  transform: translateY(-2px) scale(1.04) !important;
  box-shadow:
    inset 0 0 0 3px rgba(255,214,109,.85),
    0 12px 20px rgba(0,0,0,.30) !important;
}

.satori-side-player img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  pointer-events: none !important;
}

@media (max-width: 980px) {
  .satori-side-players {
    grid-column: 1 / -1 !important;
    max-width: 260px !important;
    justify-self: center !important;
  }
}


/* SATORI: только стрелки миниатюры подсказок — v4 */
.satori-hint-mini-wrap .satori-hint-mini-arrow {
  top: 6% !important;
  bottom: auto !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  font-size: 22px !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
}

.satori-hint-mini-wrap .satori-hint-mini-arrow:hover {
  transform: translateY(-50%) scale(1.04) !important;
}

.satori-hint-mini-wrap .satori-hint-mini-arrow:first-child {
  left: 9px !important;
  right: auto !important;
}

.satori-hint-mini-wrap .satori-hint-mini-arrow:last-child {
  right: 9px !important;
  left: auto !important;
}

.satori-hint-mini-wrap .satori-hint-mini-arrow::before {
  content: "" !important;
  position: absolute !important;
  left: -18px !important;
  right: -18px !important;
  top: -18px !important;
  bottom: -18px !important;
}

/* SATORI: выбранные аватары справа и активная личная игровая карта */
.satori-side-players {
  min-height: 0 !important;
}

.satori-side-players:empty {
  display: none !important;
}

.satori-side-player {
  cursor: pointer !important;
}

.satori-side-player:hover {
  transform: translateY(-2px) scale(1.04) !important;
}

.satori-player.is-active-personal-card {
  box-shadow:
    inset 0 0 0 2px rgba(246,214,109,.88),
    0 8px 18px rgba(0,0,0,.22) !important;
}

.satori-under-card-wrap {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
}

.satori-under-card-wrap .satori-under-card-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.satori-personal-avatars {
  position: absolute !important;
  top: 5.5% !important;
  right: 5.5% !important;
  z-index: 4 !important;
  pointer-events: none !important;
}

.satori-personal-card-owner {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 8px 6px 12px !important;
  border-radius: 999px !important;
  background: rgba(9,33,137,.88) !important;
  color: #ffffff !important;
  font-family: var(--satori-hand-font) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.2),
    0 8px 18px rgba(0,0,0,.26) !important;
}

.satori-personal-card-owner-avatar {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
  box-shadow: inset 0 0 0 2px rgba(255,214,109,.86) !important;
}

.satori-personal-card-owner-avatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (max-width: 980px) {
  .satori-personal-card-owner-label {
    display: none !important;
  }

  .satori-personal-card-owner {
    padding: 5px !important;
  }

  .satori-personal-card-owner-avatar {
    width: 32px !important;
    height: 32px !important;
  }
}


/* SATORI: аватар активной личной карты — только аватар */
.satori-personal-card-owner,
.satori-personal-card-owner-label {
  display: none !important;
}

.satori-personal-avatars {
  position: absolute !important;
  top: 1.2% !important;
  right: 1.1% !important;
  z-index: 5 !important;
  pointer-events: none !important;
}

.satori-personal-card-owner-avatar {
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.2) !important;
  box-shadow:
    inset 0 0 0 3px rgba(255,214,109,.95),
    0 7px 16px rgba(0,0,0,.30) !important;
}

.satori-personal-card-owner-avatar img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}


/* SATORI v-side-layout: правая колонка = кнопки + верхние аватары + миниатюра подсказок */
#satoriGameRoot .satori-top-layout {
  grid-template-columns: minmax(0, 930px) 190px !important;
  align-items: stretch !important;
  justify-content: center !important;
}

#satoriGameRoot .satori-board-frame {
  width: 100% !important;
  max-width: 930px !important;
  margin: 0 !important;
}

#satoriGameRoot .satori-card-buttons {
  align-self: stretch !important;
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: repeat(12, minmax(34px, 1fr)) auto auto !important;
  gap: 7px !important;
  align-content: stretch !important;
}

#satoriGameRoot .satori-field-btn,
#satoriGameRoot .satori-deck-btn,
#satoriGameRoot .satori-dice-btn,
#satoriGameRoot .satori-light-btn,
#satoriGameRoot .satori-trash-btn {
  min-height: 0 !important;
  height: auto !important;
  padding: 5px 7px !important;
  border-radius: 13px !important;
  font-size: 15px !important;
  line-height: 1.05 !important;
}

#satoriGameRoot .satori-side-players {
  width: 100% !important;
  box-sizing: border-box !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 7px !important;
  border-radius: 13px !important;
}

#satoriGameRoot .satori-side-hint-panel {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  align-self: end !important;
}

#satoriGameRoot .satori-side-hint-panel .satori-hint-mini-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  aspect-ratio: 1 / 1 !important;
}

#satoriGameRoot .satori-side-hint-panel .satori-hint-card.is-mini {
  box-shadow: 0 6px 14px rgba(0,0,0,.22) !important;
}

#satoriGameRoot .satori-side-hint-panel .satori-hint-card.is-mini .satori-hint-title {
  font-size: clamp(17px, 11.5cqw, 28px) !important;
  line-height: 1.02 !important;
}

#satoriGameRoot .satori-side-hint-panel .satori-hint-mini-arrow {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  font-size: 20px !important;
}

#satoriGameRoot .satori-layout-grid {
  grid-template-columns: minmax(260px, 1fr) minmax(520px, 2fr) !important;
  align-items: start !important;
}

@media (max-width: 980px) {
  #satoriGameRoot .satori-top-layout {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  #satoriGameRoot .satori-card-buttons {
    max-width: 760px !important;
    margin: 18px auto 0 !important;
    grid-template-columns: repeat(4, minmax(120px, 1fr)) !important;
    grid-template-rows: auto !important;
    height: auto !important;
    align-items: stretch !important;
  }

  #satoriGameRoot .satori-side-players,
  #satoriGameRoot .satori-side-hint-panel {
    grid-column: 1 / -1 !important;
    max-width: 260px !important;
    justify-self: center !important;
  }

  #satoriGameRoot .satori-layout-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  #satoriGameRoot .satori-card-buttons {
    grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
  }

  #satoriGameRoot .satori-field-btn,
  #satoriGameRoot .satori-deck-btn,
  #satoriGameRoot .satori-dice-btn,
  #satoriGameRoot .satori-light-btn,
  #satoriGameRoot .satori-trash-btn {
    min-height: 54px !important;
    font-size: 14px !important;
  }
}

/* SATORI v-big-space-preview: нижний ряд 1:2:1 и миниатюра большого пространства */
#satoriGameRoot .satori-layout-grid {
  grid-template-columns: minmax(220px, 1fr) minmax(440px, 2fr) minmax(190px, 1fr) !important;
  align-items: start !important;
}

#satoriGameRoot .satori-big-preview-panel {
  cursor: default !important;
  min-height: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#satoriGameRoot .satori-big-preview-content {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: rgba(11, 24, 70, .36) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12) !important;
}

#satoriGameRoot .satori-big-preview-content * {
  pointer-events: none !important;
}

#satoriGameRoot .satori-big-preview-field {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

#satoriGameRoot .satori-big-preview-board-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

#satoriGameRoot .satori-big-preview-pieces {
  position: absolute !important;
  inset: 0 !important;
}

#satoriGameRoot .satori-big-preview-pieces .satori-board-piece {
  width: clamp(13px, 11%, 24px) !important;
  height: clamp(13px, 11%, 24px) !important;
  box-shadow:
    0 3px 7px rgba(0,0,0,.36),
    0 0 0 1px rgba(255,255,255,.82) !important;
}

#satoriGameRoot .satori-big-preview-content .satori-board-overlay {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#satoriGameRoot .satori-big-preview-content .satori-screen-head,
#satoriGameRoot .satori-big-preview-content .satori-return-btn,
#satoriGameRoot .satori-big-preview-content .satori-dice-roll-btn,
#satoriGameRoot .satori-big-preview-content .satori-wheel-spin-btn,
#satoriGameRoot .satori-big-preview-content .satori-sound-btn {
  display: none !important;
}

#satoriGameRoot .satori-big-preview-content .satori-card-grid,
#satoriGameRoot .satori-big-preview-content .satori-dice-space,
#satoriGameRoot .satori-big-preview-content .satori-wheel-space,
#satoriGameRoot .satori-big-preview-content .satori-board-content {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  padding: 6px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-dice-card {
  gap: 6px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-dice-cube {
  width: min(72%, 132px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  padding: 12% !important;
  border-radius: 18% !important;
}

#satoriGameRoot .satori-big-preview-content .satori-dice-dot {
  width: 36% !important;
  height: 36% !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-space,
#satoriGameRoot .satori-big-preview-content .satori-wheel-space.is-projection {
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  align-items: center !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-wrap,
#satoriGameRoot .satori-big-preview-content .satori-wheel-space.is-projection .satori-wheel-wrap {
  width: min(100%, 150px) !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel {
  inset: 8px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-pointer {
  border-left-width: 8px !important;
  border-right-width: 8px !important;
  border-top-width: 15px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-label {
  font-size: 7px !important;
  line-height: 1 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.85) !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-side {
  gap: 4px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-result {
  min-height: 0 !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
}

#satoriGameRoot .satori-big-preview-content .satori-chakra-img,
#satoriGameRoot .satori-big-preview-content .satori-avatar-result {
  width: min(100%, 36px) !important;
  max-height: 36px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-card-stack,
#satoriGameRoot .satori-big-preview-content .satori-card-stack::before,
#satoriGameRoot .satori-big-preview-content .satori-card-stack::after,
#satoriGameRoot .satori-big-preview-content .satori-card-stack .satori-card-back {
  width: 70px !important;
  height: 105px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-card-stack::before {
  transform: translate(5px, 5px) !important;
}

#satoriGameRoot .satori-big-preview-content .satori-card-stack::after {
  transform: translate(2.5px, 2.5px) !important;
}

#satoriGameRoot .satori-big-preview-content .satori-card-back {
  width: 24px !important;
  height: 36px !important;
  border-radius: 5px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-board-large-img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
}

#satoriGameRoot .satori-big-preview-content .satori-hint-nav {
  width: 18px !important;
  height: 18px !important;
  font-size: 16px !important;
  bottom: 5px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-hint-nav-prev {
  left: 5px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-hint-nav-next {
  right: 5px !important;
}

@media (max-width: 980px) {
  #satoriGameRoot .satori-layout-grid {
    grid-template-columns: 1fr !important;
  }

  #satoriGameRoot .satori-big-preview-panel {
    max-width: 260px !important;
    justify-self: center !important;
  }
}


/* SATORI v-big-preview-fixes: исправления миниатюры большого пространства */
#satoriGameRoot .satori-board-piece {
  width: 38px !important;
  height: 38px !important;
}

#satoriGameRoot .satori-board-piece.is-dragging {
  transform: translate(-50%, -50%) scale(1.10) !important;
}

#satoriGameRoot .satori-big-preview-pieces .satori-board-piece {
  width: 18px !important;
  height: 18px !important;
  box-shadow:
    0 2px 5px rgba(0,0,0,.36),
    0 0 0 1px rgba(255,255,255,.82) !important;
}

#satoriGameRoot .satori-big-preview-content .satori-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, 24px) !important;
  grid-auto-rows: 36px !important;
  gap: 6px !important;
  align-content: center !important;
  justify-content: center !important;
  justify-items: center !important;
  align-items: center !important;
  padding: 8px !important;
  overflow: hidden !important;
}

#satoriGameRoot .satori-big-preview-content .satori-card-back {
  display: block !important;
  width: 24px !important;
  height: 36px !important;
  min-height: 0 !important;
  border-radius: 5px !important;
  background: url('/mak/satori/assets/card-back.png') center center / cover no-repeat !important;
  box-shadow: inset 0 1px 3px rgba(255,255,255,.18), 0 3px 7px rgba(0,0,0,.28) !important;
}

#satoriGameRoot .satori-big-preview-content .satori-card-stack,
#satoriGameRoot .satori-big-preview-content .satori-card-stack::before,
#satoriGameRoot .satori-big-preview-content .satori-card-stack::after,
#satoriGameRoot .satori-big-preview-content .satori-card-stack .satori-card-back {
  width: 72px !important;
  height: 108px !important;
  border-radius: 8px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-card-grid.is-single-card {
  grid-template-columns: 82px !important;
  grid-auto-rows: 118px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-dice-space {
  display: grid !important;
  place-items: center !important;
  padding: 10px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-dice-card {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 0 !important;
  max-width: none !important;
}

#satoriGameRoot .satori-big-preview-content .satori-dice-cube {
  display: grid !important;
  width: min(76%, 150px) !important;
  height: min(76%, 150px) !important;
  aspect-ratio: 1 / 1 !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-template-rows: repeat(3, 1fr) !important;
  padding: 13% !important;
  box-sizing: border-box !important;
  border-radius: 22% !important;
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.72), transparent 28%),
    linear-gradient(135deg, #fff4a6 0%, #f2cb61 52%, #dca52e 100%) !important;
  box-shadow:
    inset 0 5px 12px rgba(255,255,255,.58),
    inset 0 -10px 18px rgba(0,0,0,.20),
    0 9px 18px rgba(0,0,0,.32) !important;
}

#satoriGameRoot .satori-big-preview-content .satori-dice-dot {
  width: 42% !important;
  height: 42% !important;
  border-radius: 50% !important;
}

#satoriGameRoot .satori-big-preview-content #satoriAvatarOverlay,
#satoriGameRoot .satori-big-preview-content .satori-avatar-picker {
  display: none !important;
}

@media (max-width: 520px) {
  #satoriGameRoot .satori-board-piece {
    width: 32px !important;
    height: 32px !important;
  }

  #satoriGameRoot .satori-big-preview-pieces .satori-board-piece {
    width: 15px !important;
    height: 15px !important;
  }
}

/* SATORI v-big-preview-hint-fit: карточки подсказок в миниатюре большого пространства */
#satoriGameRoot .satori-big-preview-content .satori-hint-nav,
#satoriGameRoot .satori-big-preview-content .satori-hint-mini-arrow,
#satoriGameRoot .satori-big-preview-content .satori-hint-counter {
  display: none !important;
}

#satoriGameRoot .satori-big-preview-content .satori-hint-board-content,
#satoriGameRoot .satori-big-preview-content .satori-hint-board-card {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
}

#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  transform: none !important;
  box-shadow: none !important;
}

/* 01 — Первые врата: Осознание */
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-01 .satori-hint-gate-inner {
  padding: 5.8cqw 4.6cqw 3.8cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-01 .satori-hint-title {
  font-size: 6.0cqw !important;
  line-height: 1.03 !important;
  margin: 0 0 3.2cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-01 .satori-hint-main-text > p {
  font-size: 3.15cqw !important;
  line-height: 1.10 !important;
  margin: 0 0 .55cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-01 .satori-hint-action {
  margin: 2.2cqw 0 0 !important;
  font-size: 3.15cqw !important;
  line-height: 1.15 !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-01 .satori-hint-answer {
  width: 86cqw !important;
  min-height: 13.5cqw !important;
  margin: 1.4cqw auto 0 !important;
  padding: 1.8cqw 1.8cqw 1.2cqw !important;
  border-width: .55cqw !important;
  border-radius: 2.2cqw !important;
  font-size: 2.75cqw !important;
  line-height: 1.12 !important;
}

/* 02 — Вторые врата: Сдвиг */
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-02 .satori-hint-gate-inner {
  padding: 5.8cqw 4.4cqw 3.8cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-02 .satori-hint-title {
  font-size: 6.0cqw !important;
  line-height: 1.03 !important;
  margin: 0 0 3.0cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-02 .satori-hint-main-text > p {
  font-size: 2.85cqw !important;
  line-height: 1.08 !important;
  margin: 0 0 .45cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-02 .satori-hint-action {
  margin: 1.7cqw 0 0 !important;
  font-size: 2.95cqw !important;
  line-height: 1.12 !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-02 .satori-hint-answer-02 {
  width: 86cqw !important;
  min-height: 13.5cqw !important;
  margin: 1.2cqw auto 0 !important;
  padding: 1.5cqw 1.8cqw 1.1cqw !important;
  border-width: .55cqw !important;
  border-radius: 2.2cqw !important;
  font-size: 2.55cqw !important;
  line-height: 1.08 !important;
}

/* 03 — Третьи врата */
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-03 .satori-hint-accept-inner {
  padding: 1.3cqw 2.4cqw 2.2cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-03 .satori-hint-accept-title {
  font-size: 3.15cqw !important;
  line-height: 1.03 !important;
  margin: 0 0 1.25cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-03 .satori-hint-accept-box {
  width: 94.5cqw !important;
  padding: .75cqw 1.45cqw .6cqw !important;
  border-width: .8cqw !important;
  border-radius: 3.4cqw !important;
  font-size: 2.35cqw !important;
  line-height: 1.04 !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-03 .satori-hint-accept-box > p {
  font-size: 2.35cqw !important;
  line-height: 1.04 !important;
  margin: 0 0 .35cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-03 .satori-hint-accept-action {
  margin: 1.2cqw 0 0 !important;
  font-size: 2.45cqw !important;
  line-height: 1.10 !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-03 .satori-hint-answer-03 {
  min-height: 7.8cqw !important;
  margin: .7cqw auto 0 !important;
  padding: .9cqw 1.3cqw .7cqw !important;
  font-size: 2.25cqw !important;
  line-height: 1.05 !important;
}

/* 04 — Сатори (Пробуждение) */
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-inner {
  padding: 1.3cqw 2.2cqw 2.0cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-title {
  font-size: 4.4cqw !important;
  line-height: 1.03 !important;
  margin: 0 0 1.25cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-box {
  width: 95cqw !important;
  padding: .7cqw 1.35cqw .55cqw !important;
  border-width: .75cqw !important;
  border-radius: 3.2cqw !important;
  font-size: 2.05cqw !important;
  line-height: 1.00 !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-box > p {
  font-size: 2.05cqw !important;
  line-height: 1.00 !important;
  margin: 0 0 .15cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-04 .satori-hint-accept-box br {
  display: none !important;
}

/* 06 — После игры */
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-06 .satori-hint-after-inner {
  padding: 3.2cqw 2.6cqw 2.6cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-06 .satori-hint-after-title {
  font-size: 5.0cqw !important;
  line-height: 1.02 !important;
  margin: 0 0 1.2cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-06 .satori-hint-after-box {
  width: 94cqw !important;
  min-height: 84cqw !important;
  padding: 1.5cqw 1.8cqw 1.4cqw !important;
  border-width: .8cqw !important;
  border-radius: 3.3cqw !important;
}
#satoriGameRoot .satori-big-preview-content .satori-hint-card.is-board.satori-hint-card-06 .satori-hint-after-box > p {
  font-size: 2.2cqw !important;
  line-height: 1.04 !important;
  margin: 0 !important;
}

/* SATORI v-big-preview-mini-fixes-2: наборы карт, кубик и чакры в миниатюре */
#satoriGameRoot .satori-big-preview-content .satori-card-grid:not(.is-single-card) {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: 5px !important;
  align-content: center !important;
  justify-content: center !important;
  justify-items: center !important;
  align-items: center !important;
  padding: 8px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-card-grid:not(.is-single-card) .satori-card-back {
  width: 100% !important;
  max-width: 26px !important;
  height: auto !important;
  aspect-ratio: 2 / 3 !important;
  min-height: 0 !important;
  border-radius: 5px !important;
  background: url('/mak/satori/assets/card-back.png') center center / cover no-repeat !important;
}

#satoriGameRoot .satori-big-preview-content .satori-dice-space {
  display: grid !important;
  place-items: center !important;
  padding: 10px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-dice-card {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  justify-content: center !important;
  gap: 0 !important;
}

#satoriGameRoot .satori-big-preview-content .satori-dice-cube {
  width: 104px !important;
  height: 104px !important;
  min-width: 104px !important;
  min-height: 104px !important;
  max-width: 72% !important;
  max-height: 72% !important;
  aspect-ratio: 1 / 1 !important;
  padding: 18px !important;
  border-radius: 22px !important;
  box-sizing: border-box !important;
  transform: none !important;
}

#satoriGameRoot .satori-big-preview-content .satori-dice-dot {
  width: 13px !important;
  height: 13px !important;
  min-width: 13px !important;
  min-height: 13px !important;
  align-self: center !important;
  justify-self: center !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-wrap,
#satoriGameRoot .satori-big-preview-content .satori-wheel-space.is-projection .satori-wheel-wrap {
  width: min(100%, 144px) !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-label {
  width: 24% !important;
  font-size: 6px !important;
  line-height: .95 !important;
  white-space: normal !important;
  overflow: hidden !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-side {
  gap: 2px !important;
  align-content: start !important;
}

#satoriGameRoot .satori-big-preview-content .satori-chakra-img.is-visible {
  display: block !important;
  width: min(100%, 72px) !important;
  max-height: 48px !important;
  object-fit: contain !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-result {
  font-size: 12px !important;
  line-height: 1.05 !important;
  min-height: 14px !important;
}

/* SATORI API state: пустые места игроков после загрузки из БД */
#satoriGameRoot .satori-player.is-empty {
  opacity: .45 !important;
  cursor: default !important;
  pointer-events: none !important;
}

#satoriGameRoot .satori-player.is-empty:hover {
  transform: none !important;
  background: var(--satori-panel-soft) !important;
  box-shadow: none !important;
}


#satoriGameRoot .satori-empty-player-label {
  display: none !important;
}


/* SATORI: аватар владельца на раскрытой личной игровой карте */
#satoriGameRoot .satori-personal-board-content {
  position: relative !important;
}

#satoriGameRoot .satori-personal-board-wrap {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
}

#satoriGameRoot .satori-personal-board-wrap .satori-board-large-img {
  display: block !important;
}

#satoriGameRoot .satori-personal-board-wrap .satori-personal-avatars {
  top: 1.2% !important;
  right: 1.1% !important;
}


/* SATORI: права перемещения аватаров по полю */
#satoriGameRoot .satori-board-piece.is-locked {
  cursor: default !important;
}

#satoriGameRoot .satori-board-piece.is-movable {
  cursor: grab !important;
}

#satoriGameRoot .satori-board-piece.is-movable.is-dragging {
  cursor: grabbing !important;
}


/* SATORI: кнопка ? для поиска игроков на поле
   НАСТРОЙКА ПОЛОЖЕНИЯ КНОПКИ:
   меняйте right и bottom. */
#satoriGameRoot .satori-show-players-btn {
  position: absolute !important;
  right: 3.5% !important;
  bottom: 3.5% !important;
  top: auto !important;
  left: auto !important;
  z-index: 8 !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.85), transparent 35%),
    linear-gradient(135deg, #fff0a5 0%, #f6d66d 42%, #edbd4d 100%) !important;
  color: #172152 !important;
  font-family: var(--satori-hand-font) !important;
  font-size: 36px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-align: center !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  box-shadow:
    inset 0 3px 10px rgba(255,255,255,.58),
    inset 0 -10px 18px rgba(0,0,0,.18),
    0 10px 22px rgba(0,0,0,.25) !important;
  transform: none !important;
  transform-origin: center center !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
}

#satoriGameRoot .satori-show-players-btn:hover {
  transform: translateY(-2px) scale(1.06) !important;
  filter: brightness(1.04) !important;
}

#satoriGameRoot .satori-board-img.is-hidden ~ .satori-show-players-btn {
  display: none !important;
}

/* SATORI: подсветка игроков на поле
   НАСТРОЙКА ПОДСВЕТКИ:
   scale — насколько увеличивать аватары;
   -30px — насколько приподнимать. */
#satoriGameRoot.is-showing-board-players .satori-board-piece {
  z-index: 30 !important;
  transform:
    translate(calc(-50% + var(--piece-dx, 0px)), calc(-50% + var(--piece-dy, 0px) - 30px))
    scale(1.72) !important;
  box-shadow:
    0 18px 30px rgba(0,0,0,.48),
    0 0 0 4px rgba(255,255,255,.92),
    0 0 0 8px rgba(246,214,109,.82),
    0 0 28px rgba(246,214,109,.95) !important;
  animation: satoriShowPlayersPulse .72s ease-in-out infinite alternate !important;
}

@keyframes satoriShowPlayersPulse {
  from { filter: brightness(1); }
  to { filter: brightness(1.20); }
}

@media (max-width: 520px) {
  #satoriGameRoot .satori-show-players-btn {
    right: 3.5% !important;
    bottom: 3.5% !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    font-size: 28px !important;
  }

  #satoriGameRoot.is-showing-board-players .satori-board-piece {
    transform:
      translate(calc(-50% + var(--piece-dx, 0px)), calc(-50% + var(--piece-dy, 0px) - 22px))
      scale(1.55) !important;
  }
}


/* SATORI: имя игрока на большой личной игровой карте
   НАСТРОЙКА ИМЕНИ:
   top/right — положение блока;
   width — ширина блока;
   font-size — размер шрифта. */
#satoriGameRoot #satoriPersonalOverlay .satori-personal-avatars {
  top: 1.2% !important;
  right: 1.1% !important;
}

#satoriGameRoot #satoriPersonalOverlay .satori-personal-showcase-name {
  position: absolute !important;
  top: 72px !important;
  right: 0 !important;
  width: 260px !important;
  display: block !important;
  color: #4b2b0d !important;
  font-family: var(--satori-hand-font) !important;
  font-size: 24px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  text-align: right !important;
  white-space: normal !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.75) !important;
}

/* SATORI: размер аватара игрока при выпадении чакры
   Большой экран: аватар уменьшен в 2 раза.
   Миниатюра: аватар такой же компактный, как в Проекциях. */
#satoriGameRoot #satoriWheelOverlay .satori-wheel-actor-avatar {
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

#satoriGameRoot #satoriWheelOverlay .satori-wheel-actor {
  display: grid !important;
  justify-items: center !important;
  gap: 6px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-actor-avatar {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-actor {
  display: grid !important;
  justify-items: center !important;
  gap: 2px !important;
}

#satoriGameRoot .satori-big-preview-content .satori-wheel-actor-name {
  font-size: 9px !important;
  line-height: 1.05 !important;
}

/* SATORI: режим игрока без правого блока управления.
   Ведущий остаётся в прежней компоновке с правой колонкой. */
#satoriGameRoot.satori-role-player .satori-wrap {
  max-width: 1120px !important;
}

#satoriGameRoot.satori-role-player .satori-top-layout {
  grid-template-columns: minmax(0, 1120px) !important;
  gap: 0 !important;
  justify-content: center !important;
  align-items: start !important;
}

#satoriGameRoot.satori-role-player .satori-board-frame {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}

#satoriGameRoot.satori-role-player .satori-card-buttons {
  display: none !important;
}


/* SATORI: игроки только видят подсказки, управляет ими только ведущий */
#satoriGameRoot.satori-role-player .satori-hint-nav,
#satoriGameRoot.satori-role-player .satori-hint-mini-arrow {
  display: none !important;
  pointer-events: none !important;
}

@media (max-width: 1120px) {
  #satoriGameRoot.satori-role-player {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  #satoriGameRoot.satori-role-player .satori-top-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* SATORI: предохранитель сброса игры — только для ведущего */
#satoriGameRoot .satori-reset-guard {
  display: none !important;
}

#satoriGameRoot.satori-role-host .satori-reset-guard {
  display: grid !important;
  gap: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 10px !important;
  padding: 10px !important;
  border-radius: 14px !important;
  background: rgba(11, 24, 70, .48) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12) !important;
}

#satoriGameRoot .satori-reset-guard-title,
#satoriGameRoot .satori-reset-slider-label {
  color: var(--satori-muted) !important;
  font-family: var(--satori-hand-font) !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

#satoriGameRoot .satori-reset-slider-wrap {
  display: grid !important;
  gap: 6px !important;
  width: 100% !important;
}

#satoriGameRoot .satori-reset-slider {
  width: 100% !important;
  height: 28px !important;
  margin: 0 !important;
  cursor: pointer !important;
  accent-color: var(--satori-gold) !important;
}

#satoriGameRoot .satori-reset-action {
  width: 100% !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: 11px 12px !important;
  background: linear-gradient(135deg, #fff0a5, #edbd4d) !important;
  color: #172152 !important;
  font-family: var(--satori-hand-font) !important;
  font-size: 17px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow:
    inset 0 3px 10px rgba(255,255,255,.58),
    inset 0 -10px 18px rgba(0,0,0,.18),
    0 10px 22px rgba(0,0,0,.25) !important;
}

#satoriGameRoot .satori-reset-action[hidden] {
  display: none !important;
}

#satoriGameRoot .satori-remove-players-action {
  width: 100% !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: 11px 12px !important;
  background: linear-gradient(135deg, #ff8a7c, #b90000) !important;
  color: #ffffff !important;
  font-family: var(--satori-hand-font) !important;
  font-size: 17px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow:
    inset 0 3px 10px rgba(255,255,255,.36),
    inset 0 -10px 18px rgba(0,0,0,.24),
    0 10px 22px rgba(0,0,0,.25) !important;
}

#satoriGameRoot .satori-remove-players-action:hover {
  transform: translateY(-1px) !important;
  filter: brightness(1.08) saturate(1.08) !important;
}

#satoriGameRoot .satori-remove-players-action[hidden] {
  display: none !important;
}

/* SATORI: блок сброса строго под миниатюрой большого пространства */
#satoriGameRoot.satori-role-host .satori-big-preview-panel {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}

#satoriGameRoot.satori-role-host .satori-big-preview-content {
  flex: 0 0 auto !important;
}

#satoriGameRoot.satori-role-host .satori-reset-guard {
  flex: 0 0 auto !important;
  order: 2 !important;
  margin-top: 10px !important;
}

/* SATORI: карточки на личной игровой карте */
#satoriGameRoot .satori-under-card-wrap,
#satoriGameRoot .satori-personal-board-wrap {
  position: relative !important;
}

#satoriGameRoot .satori-personal-card-layer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  pointer-events: none !important;
}

#satoriGameRoot .satori-personal-placed-card {
  position: absolute !important;
  height: auto !important;
  max-height: 22% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 5px !important;
  box-shadow:
    0 4px 10px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.72) !important;
  transform: translate(-50%, -50%) !important;
  background: rgba(255,255,255,.12) !important;
}

#satoriGameRoot #satoriPersonalOverlay .satori-personal-placed-card {
  border-radius: 9px !important;
  box-shadow:
    0 9px 20px rgba(0,0,0,.34),
    0 0 0 2px rgba(255,255,255,.72) !important;
}

#satoriGameRoot .satori-big-preview-content .satori-personal-placed-card {
  border-radius: 3px !important;
  box-shadow:
    0 2px 5px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.65) !important;
}

/* SATORI v4: карточки личной карты — реальные пропорции, верхнее выравнивание и drag */
#satoriGameRoot .satori-personal-card-layer {
  pointer-events: none !important;
}

#satoriGameRoot .satori-personal-placed-card {
  width: 30% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  transform: translateX(-50%) !important;
  transform-origin: top center !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  touch-action: none !important;
}

#satoriGameRoot .satori-personal-placed-card.is-personal-draggable {
  pointer-events: auto !important;
  cursor: grab !important;
}

#satoriGameRoot .satori-personal-placed-card.is-personal-dragging {
  cursor: grabbing !important;
  z-index: 40 !important;
  box-shadow:
    0 12px 24px rgba(0,0,0,.42),
    0 0 0 3px rgba(246,214,109,.92) !important;
}

#satoriGameRoot .satori-big-preview-content .satori-personal-placed-card {
  width: 30% !important;
  max-height: none !important;
  transform: translateX(-50%) !important;
}

  position: absolute !important;
}

#satoriGameRoot #satoriCardsOverlay .satori-deck-main-title {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 10px !important;
  z-index: 30 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 22px !important;
  color: var(--satori-gold) !important;
  font-family: var(--satori-hand-font) !important;
  font-size: clamp(24px, 3.2vw, 36px) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-shadow: 0 2px 5px rgba(0,0,0,.78) !important;
  pointer-events: none !important;
  user-select: none !important;
}

#satoriGameRoot .satori-big-preview-content .satori-deck-main-title {
  display: none !important;
}

/* SATORI: показ вытянутой карты "Что случилось?" под стопкой */
#satoriGameRoot .satori-happened-draw-space {
  display: grid !important;
  justify-items: center !important;
  align-content: center !important;
  gap: 18px !important;
  overflow: visible !important;
}

#satoriGameRoot .satori-happened-drawn-holder {
  display: none !important;
  width: var(--satori-card-w, 180px) !important;
  height: calc(var(--satori-card-w, 180px) * 1532 / 2616) !important;
  overflow: visible !important;
}

#satoriGameRoot .satori-happened-drawn-holder.is-visible {
  display: block !important;
}

#satoriGameRoot .satori-happened-drawn-button {
  display: block !important;
  width: var(--satori-card-w, 180px) !important;
  height: calc(var(--satori-card-w, 180px) * 1532 / 2616) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  cursor: pointer !important;
  overflow: hidden !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.30) !important;
}

#satoriGameRoot .satori-happened-drawn-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 30px rgba(0,0,0,.36) !important;
}

#satoriGameRoot .satori-happened-drawn-card {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 10px !important;
}

/* SATORI: индикатор режима Свет. Стоит в той же зоне, что кнопка ?, но не зависит от текущего экрана. */
#satoriGameRoot .satori-light-indicator {
  position: absolute !important;
  right: 3.5% !important;
  bottom: 3.5% !important;
  top: auto !important;
  left: auto !important;
  z-index: 120 !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.96), transparent 36%),
    radial-gradient(circle at 50% 48%, #fff9bd 0%, #ffd859 48%, #f1a52d 100%) !important;
  color: #2b1a00 !important;
  font-size: 38px !important;
  line-height: 1 !important;
  box-shadow:
    0 0 18px rgba(255, 231, 111, .95),
    0 0 42px rgba(255, 202, 54, .72),
    0 10px 24px rgba(0,0,0,.28) !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: scale(.82) !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

#satoriGameRoot .satori-light-indicator.is-active {
  opacity: 1 !important;
  transform: scale(1) !important;
}

#satoriGameRoot .satori-light-indicator[hidden] {
  display: none !important;
}

#satoriGameRoot .satori-light-btn.is-active {
  filter: brightness(1.18) saturate(1.18) !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.72), 0 0 22px rgba(255,221,83,.9) !important;
}

/* SATORI: кнопка просмотра отпущенных убеждений */
#satoriGameRoot .satori-belief-review-btn {
  display: block !important;
  width: calc(100% - 20px) !important;
  margin: 12px 10px 10px !important;
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #ffe9e9, #d94a3a) !important;
  color: #ffffff !important;
  font-family: var(--satori-hand-font) !important;
  font-size: 15px !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow:
    inset 0 2px 8px rgba(255,255,255,.45),
    inset 0 -8px 16px rgba(0,0,0,.18),
    0 8px 18px rgba(0,0,0,.22) !important;
}

#satoriGameRoot .satori-belief-review-btn:hover {
  transform: translateY(-1px) !important;
  box-shadow:
    inset 0 2px 8px rgba(255,255,255,.5),
    inset 0 -8px 16px rgba(0,0,0,.18),
    0 11px 22px rgba(0,0,0,.28) !important;
}

#satoriGameRoot .satori-belief-review-btn.is-active {
  filter: brightness(1.13) saturate(1.15) !important;
  box-shadow:
    0 0 0 3px rgba(255,255,255,.68),
    0 0 22px rgba(220,70,48,.72),
    0 11px 22px rgba(0,0,0,.28) !important;
}

#satoriGameRoot.satori-role-player .satori-belief-review-btn,
#satoriGameRoot.satori-role-unknown .satori-belief-review-btn {
  display: none !important;
}

#satoriGameRoot .satori-personal-placed-card.satori-belief-review-card {
  outline: 4px solid rgba(220, 30, 30, .96) !important;
  outline-offset: 2px !important;
  border-radius: 8px !important;
  filter: drop-shadow(0 0 10px rgba(220,30,30,.48)) !important;
  z-index: 18 !important;
}

#satoriGameRoot .satori-personal-placed-card.satori-belief-review-card.is-personal-dragging {
  outline-color: rgba(255, 40, 40, 1) !important;
  filter: drop-shadow(0 0 16px rgba(255,40,40,.68)) !important;
  z-index: 80 !important;
}

/* SATORI DEMO: отдельная площадка без серверных действий */
#satoriGameRoot.satori-demo-mode .satori-board-overlay,
#satoriGameRoot.satori-demo-mode .satori-belief-review-btn,
#satoriGameRoot.satori-demo-mode .satori-invite-players-btn,
#satoriGameRoot.satori-demo-mode .satori-show-players-btn,
#satoriGameRoot.satori-demo-mode .satori-light-indicator,
#satoriGameRoot.satori-demo-mode .satori-trash-indicator,
#satoriGameRoot.satori-demo-mode .satori-exchange-indicator {
  display: none !important;
}

#satoriGameRoot.satori-demo-mode .satori-card-buttons > button,
#satoriGameRoot.satori-demo-mode .satori-player,
#satoriGameRoot.satori-demo-mode .satori-side-player,
#satoriGameRoot.satori-demo-mode #satoriResetAction,
#satoriGameRoot.satori-demo-mode #satoriRemovePlayersAction {
  cursor: default !important;
}

#satoriGameRoot.satori-demo-mode .satori-card-buttons > button:hover,
#satoriGameRoot.satori-demo-mode .satori-player:hover,
#satoriGameRoot.satori-demo-mode .satori-side-player:hover,
#satoriGameRoot.satori-demo-mode #satoriResetAction:hover,
#satoriGameRoot.satori-demo-mode #satoriRemovePlayersAction:hover {
  transform: none !important;
}

#satoriGameRoot.satori-demo-mode .satori-under-card-wrap,
#satoriGameRoot.satori-demo-mode .satori-big-preview-field {
  position: relative !important;
  width: 100% !important;
}

#satoriGameRoot.satori-demo-mode .satori-big-preview-field {
  display: block !important;
  aspect-ratio: 1 / 1 !important;
}

#satoriGameRoot.satori-demo-mode .satori-big-preview-board-img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

#satoriGameRoot.satori-demo-mode .satori-history-line {
  font-family: var(--satori-hand-font) !important;
}


/* SATORI DEMO v2: компактная правая колонка, одинаковые кнопки, мягкое движение */
#satoriGameRoot.satori-demo-mode .satori-top-layout {
  grid-template-columns: minmax(0, 1fr) 176px !important;
  gap: 14px !important;
  align-items: start !important;
}

#satoriGameRoot.satori-demo-mode .satori-card-buttons {
  gap: 7px !important;
  align-content: start !important;
}

#satoriGameRoot.satori-demo-mode .satori-card-buttons > button {
  width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 10px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  line-height: 1.05 !important;
  cursor: pointer !important;
  transform: translateY(0) scale(1) !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
  will-change: transform !important;
}

#satoriGameRoot.satori-demo-mode .satori-card-buttons > button:hover {
  transform: translateY(-2px) scale(1.012) !important;
  filter: brightness(1.04) saturate(1.03) !important;
  box-shadow:
    inset 0 3px 10px rgba(255,255,255,.62),
    inset 0 -9px 16px rgba(0,0,0,.16),
    0 12px 22px rgba(0,0,0,.28) !important;
}

#satoriGameRoot.satori-demo-mode .satori-card-buttons > button:active {
  transform: translateY(1px) scale(.992) !important;
  filter: brightness(.98) !important;
  box-shadow:
    inset 0 2px 8px rgba(255,255,255,.50),
    inset 0 -6px 12px rgba(0,0,0,.20),
    0 6px 12px rgba(0,0,0,.22) !important;
}

#satoriGameRoot.satori-demo-mode .satori-side-players {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 7px !important;
  padding: 8px !important;
  margin-top: 1px !important;
}

#satoriGameRoot.satori-demo-mode .satori-side-player {
  cursor: pointer !important;
  transform: translateY(0) scale(1) !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
}

#satoriGameRoot.satori-demo-mode .satori-side-player:hover {
  transform: translateY(-2px) scale(1.045) !important;
  filter: brightness(1.05) !important;
  box-shadow:
    inset 0 0 0 3px rgba(255,214,109,.85),
    0 12px 20px rgba(0,0,0,.30) !important;
}

#satoriGameRoot.satori-demo-mode .satori-side-player:active {
  transform: translateY(1px) scale(.98) !important;
}

#satoriGameRoot.satori-demo-mode .satori-player {
  cursor: pointer !important;
  transform: translateY(0) !important;
  transition: transform .16s ease, background .16s ease, box-shadow .16s ease !important;
}

#satoriGameRoot.satori-demo-mode .satori-player:hover {
  transform: translateY(-1px) !important;
  background: rgba(255,255,255,.13) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 8px 16px rgba(0,0,0,.16) !important;
}

#satoriGameRoot.satori-demo-mode .satori-player:active {
  transform: translateY(1px) !important;
}

#satoriGameRoot.satori-demo-mode .satori-avatar.has-avatar,
#satoriGameRoot.satori-demo-mode .satori-side-player {
  background: rgba(255,255,255,.12) !important;
  overflow: hidden !important;
}

#satoriGameRoot.satori-demo-mode .satori-avatar.has-avatar img,
#satoriGameRoot.satori-demo-mode .satori-side-player img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  pointer-events: none !important;
}

#satoriGameRoot.satori-demo-mode #satoriResetAction,
#satoriGameRoot.satori-demo-mode #satoriRemovePlayersAction {
  cursor: pointer !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
}

#satoriGameRoot.satori-demo-mode #satoriResetAction:hover,
#satoriGameRoot.satori-demo-mode #satoriRemovePlayersAction:hover {
  transform: translateY(-1px) !important;
  filter: brightness(1.04) !important;
}

#satoriGameRoot.satori-demo-mode #satoriResetAction:active,
#satoriGameRoot.satori-demo-mode #satoriRemovePlayersAction:active {
  transform: translateY(1px) scale(.992) !important;
}

@media (max-width: 980px) {
  #satoriGameRoot.satori-demo-mode .satori-top-layout {
    grid-template-columns: 1fr !important;
  }

  #satoriGameRoot.satori-demo-mode .satori-card-buttons {
    grid-template-columns: repeat(4, minmax(120px, 1fr)) !important;
  }
}

/* SATORI DEMO v3: отдельная страница SM без белой подложки */
body:has(#satoriGameRoot) {
  min-height: 100% !important;
  background-color: #1face5 !important;
  background-image:
    linear-gradient(
      to bottom,
      #092189 0%,
      #092189 48%,
      #0d2c96 62%,
      #1244ad 74%,
      #1769c6 84%,
      #1b8fda 93%,
      #1face5 100%
    ) !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
}

body:has(#satoriGameRoot) #content,
body:has(#satoriGameRoot) #wrapper,
body:has(#satoriGameRoot) #main,
body:has(#satoriGameRoot) .main,
body:has(#satoriGameRoot) .main-content,
body:has(#satoriGameRoot) .content,
body:has(#satoriGameRoot) .content-page,
body:has(#satoriGameRoot) .page-content,
body:has(#satoriGameRoot) .page-wrapper,
body:has(#satoriGameRoot) .content-wrapper,
body:has(#satoriGameRoot) .content-wrap,
body:has(#satoriGameRoot) .maincol,
body:has(#satoriGameRoot) .maincol_min,
body:has(#satoriGameRoot) .content-with-sidebar,
body:has(#satoriGameRoot) .lesson,
body:has(#satoriGameRoot) .lesson-inner,
body:has(#satoriGameRoot) .lesson-content,
body:has(#satoriGameRoot) .training-content,
body:has(#satoriGameRoot) .training-view,
body:has(#satoriGameRoot) .container,
body:has(#satoriGameRoot) .container-fluid,
body:has(#satoriGameRoot) .white-block,
body:has(#satoriGameRoot) .card,
body:has(#satoriGameRoot) .box,
body:has(#satoriGameRoot) .panel,
body:has(#satoriGameRoot) .block {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

#satoriGameRoot.satori-demo-mode {
  background: transparent !important;
}


/* SATORI DEMO v4: нижние регистрационные кнопки */
#satoriGameRoot.satori-demo-mode .satori-demo-cta-panel {
  padding: 18px !important;
}

#satoriGameRoot.satori-demo-mode .satori-demo-registration-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 16px !important;
  margin-top: 22px !important;
  flex-wrap: wrap !important;
}

#satoriGameRoot.satori-demo-mode .satori-demo-registration-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: min(100%, 360px) !important;
  min-height: 58px !important;
  box-sizing: border-box !important;
  padding: 12px 22px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #fff7b7 0%, #ffe071 46%, #edbd1f 100%) !important;
  color: #172152 !important;
  font-family: var(--satori-hand-font) !important;
  font-size: 18px !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow:
    inset 0 3px 10px rgba(255,255,255,.62),
    inset 0 -10px 18px rgba(0,0,0,.16),
    0 12px 24px rgba(0,0,0,.28) !important;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease !important;
}

#satoriGameRoot.satori-demo-mode .satori-demo-registration-btn:hover {
  transform: translateY(-2px) scale(1.01) !important;
  filter: brightness(1.04) saturate(1.03) !important;
  box-shadow:
    inset 0 3px 10px rgba(255,255,255,.66),
    inset 0 -9px 16px rgba(0,0,0,.15),
    0 16px 30px rgba(0,0,0,.32) !important;
}

#satoriGameRoot.satori-demo-mode .satori-demo-registration-btn:active {
  transform: translateY(1px) scale(.992) !important;
  filter: brightness(.98) !important;
}

@media (max-width: 760px) {
  #satoriGameRoot.satori-demo-mode .satori-demo-registration-actions {
    gap: 12px !important;
  }

  #satoriGameRoot.satori-demo-mode .satori-demo-registration-btn {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 16px !important;
  }
}


/* SATORI DEMO: вторая кнопка регистрации является button, но выглядит как ссылка-кнопка */
#satoriGameRoot.satori-demo-mode button.satori-demo-registration-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  text-decoration: none !important;
}
#satoriGameRoot.satori-demo-mode button.satori-demo-registration-btn:disabled {
  opacity: .72 !important;
  cursor: wait !important;
  transform: none !important;
}
