:root {
  --oraculum-sitebar-h: 58px;
  --oraculum-shell-bg: #0f0b22;
  --oraculum-shell-panel: #1a1438;
  --oraculum-shell-line: rgba(216, 187, 97, .2);
  --oraculum-shell-text: #f2edf9;
  --oraculum-shell-muted: #aba1c1;
}

html.rewarded-ad-active,
html.rewarded-ad-active body {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

html.rewarded-ad-active .oraculum-sitebar,
html.rewarded-ad-active .oraculum-web-notice,
html.rewarded-ad-active .oh-header {
  visibility: hidden !important;
  pointer-events: none !important;
}

html[data-oraculum-app] {
  background: var(--oraculum-shell-bg);
  scrollbar-gutter: stable;
}

html.oraculum-auth-pending body > *,
html.oraculum-auth-pending body > #oraculum-practice-header,
html.oraculum-auth-pending body > .oraculum-practice-loader {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Astroscope used to defer its first render for 1.8 seconds while the shared
   footer was already mounted. Keep the shell background/header visible, but
   never expose the footer as a standalone first frame. */
html[data-oraculum-app="astroscope"].astroscope-ui-pending #app,
html[data-oraculum-app="astroscope"].astroscope-ui-pending #ob-wrap,
html[data-oraculum-app="astroscope"].astroscope-ui-pending .oraculum-practice-footer {
  visibility: hidden !important;
}

#oraculum-practice-header { visibility: visible !important; }

/* Единая стартовая заставка всех практик. Она закрывает пустой кадр, пока
   сервер восстанавливает профиль, баланс и уже оплаченные результаты. */
.oraculum-practice-loader {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  box-sizing: border-box;
  padding: 24px;
  color: #ece8f7;
  background: #0f0b22;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .38s ease, visibility 0s linear .38s;
}

.opl-mark {
  width: 52px;
  height: 52px;
  color: #e6b842;
  filter: drop-shadow(0 0 16px rgba(230, 184, 66, .34));
  animation: opl-pulse 2s ease-in-out infinite;
}

.opl-title {
  margin: 4px 0 0;
  color: #ece8f7;
  font: 800 34px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  letter-spacing: -.03em;
}

.opl-subtitle {
  color: #71698f;
  font: 500 12px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  letter-spacing: .16em;
  text-align: center;
  text-transform: uppercase;
}

@keyframes opl-pulse {
  0%, 100% { transform: scale(1); opacity: .9; }
  50% { transform: scale(1.07); opacity: 1; filter: drop-shadow(0 0 30px rgba(230, 184, 66, .58)); }
}

@media (prefers-reduced-motion: reduce) {
  .opl-mark { animation: none; }
  .oraculum-practice-loader { transition: none; }
}

/* Загрузочные состояния во всех практиках должны быть спокойными. Бесконечное
   вращение и пульсация перегружали мобильную отрисовку, а blur под оверлеем
   вызывал мерцание всего экрана. Оставляем статичный знак и понятный текст. */
html[data-oraculum-app] .oraculum-practice-loader,
html[data-oraculum-app] .oraculum-practice-loader *,
html[data-oraculum-app] #ov.on,
html[data-oraculum-app] #ov .orb,
html[data-oraculum-app] #ov .orb::before,
html[data-oraculum-app] #ov .orb::after,
html[data-oraculum-app] #ov .ov-txt,
html[data-oraculum-app] #ov .ov-dots::after,
html[data-oraculum-app] #ov .ltext,
html[data-oraculum-app] #ov .ldots::after,
html[data-oraculum-app] .ai-loading,
html[data-oraculum-app] .ai-loading::before,
html[data-oraculum-app] .ai-loading::after,
html[data-oraculum-app] #s-loading .ritual-text {
  animation: none !important;
  transition: none !important;
}

html[data-oraculum-app] #ov.on {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-oraculum-app] #ov .orb,
html[data-oraculum-app] #ov .orb::before {
  transform: none !important;
}

html[data-oraculum-app] #ov .orb::after {
  transform: translate(-50%, -50%) !important;
}

/* Маленький border-spinner без вращения выглядит как сломанное кольцо, поэтому
   во время ожидания показываем только текст. */
html[data-oraculum-app] .loader,
html[data-oraculum-app] #s-loading .ritual-ring {
  display: none !important;
  animation: none !important;
}

/* Сквозной нижний раздел портала внутри собственного скролла каждой практики. */
.oraculum-practice-footer {
  width: 100vw;
  width: 100dvw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-left: calc(50% - 50dvw);
  flex: 0 0 auto;
  align-self: stretch;
  grid-column: 1 / -1 !important;
  justify-self: stretch;
  height: max-content;
  min-height: max-content;
  position: relative;
  z-index: 12;
  box-sizing: border-box;
  margin-top: var(--opf-margin-top, 64px);
  color: #a79fc6;
  background: rgba(15, 11, 34, .92);
  border-top: 1px solid rgba(255, 255, 255, .06);
  font: 14px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
.opf-inner { width: min(1120px, 100%); box-sizing: border-box; margin: 0 auto; padding: 38px 24px 28px; }
.opf-guest-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px; margin: 0 0 28px; padding: 18px 20px; border: 1px solid rgba(230,207,134,.34); border-radius: 18px; background: linear-gradient(135deg,rgba(46,36,86,.92),rgba(28,22,57,.94)); box-shadow: 0 12px 32px rgba(4,2,15,.2); }
.opf-guest-copy { display: grid; gap: 5px; min-width: 0; }
.opf-guest-copy > span { color: #e6cf86; font-size: 11px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; }
.opf-guest-copy strong { color: #f4f0ff; font-size: 18px; line-height: 1.3; }
.opf-guest-copy p { margin: 0; color: #bcb4d6; font-size: 13px; line-height: 1.55; }
.opf-guest-action { display: grid; justify-items: center; min-width: 245px; padding: 12px 18px; border: 1px solid #f2d77e; border-radius: 13px; color: #1b1326; background: linear-gradient(135deg,#f0d77e,#c9a84c); text-decoration: none; box-shadow: 0 8px 22px rgba(201,168,76,.16); }
.opf-guest-action:hover { color: #140e20; filter: brightness(1.05); }
.opf-guest-action span { font-weight: 800; font-size: 14px; line-height: 1.2; }
.opf-guest-action small { margin-top: 3px; font-size: 11px; line-height: 1.2; }
.opf-columns { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr)); gap: 30px; }
.opf-columns h2 { margin: 0 0 12px; color: #71698f; font: 700 12px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; letter-spacing: 1.4px; text-transform: uppercase; }
.opf-columns a, .opf-columns span { display: block; width: fit-content; padding: 4px 0; color: #a79fc6; text-decoration: none; }
.opf-columns a:hover, .opf-legal a:hover { color: #e6cf86; }
.opf-columns span { color: #71698f; opacity: .62; }
.opf-brand > a { display: inline-flex; flex-direction: column; align-items: center; gap: 8px; padding: 0; color: #ece8f7; font: 700 22px/1 Georgia, "Times New Roman", serif; }
.opf-brand b { color: #e6cf86; }
.opf-logo { width: 72px; height: 72px; color: #c9a84c; }
.opf-legal { margin-top: 28px; padding-top: 20px; color: #71698f; border-top: 1px solid rgba(255, 255, 255, .06); font-size: 12px; line-height: 1.7; }
.opf-legal a { color: #a79fc6; text-decoration: none; }

@media (max-width: 899px) {
  .oraculum-practice-footer { margin-top: var(--opf-margin-top, 36px); }
  .opf-inner { padding: 28px 18px calc(92px + env(safe-area-inset-bottom, 0px)); }
  .opf-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; }
  .opf-brand { grid-column: 1 / -1; }
  .opf-brand > a { margin: 0 auto; }
  .opf-guest-card { grid-template-columns: 1fr; align-items: stretch; padding: 16px; }
  .opf-guest-action { min-width: 0; }
}

@media (max-width: 430px) {
  .opf-columns { grid-template-columns: 1fr 1fr; font-size: 13px; }
  .opf-columns > div:nth-child(3), .opf-columns > div:nth-child(4) { min-width: 0; }
  .opf-columns a { overflow-wrap: anywhere; }
}

/* На закрытом тесте действия бесплатны: никаких старых значков валюты и нулевых цен. */
html.oraculum-test-free #sbtn-price,
html.oraculum-test-free .btn-price {
  display: none !important;
}
html.oraculum-test-free .coin-priced::after {
  content: none !important;
  display: none !important;
}

/* На сайте нет автономных заставок и обучающих окон мобильных приложений. */
html[data-oraculum-app="morfey"] #splash,
html[data-oraculum-app="taroscope"] #splash-screen,
html[data-oraculum-app="astroscope"] #splash,
html[data-oraculum-app="taroscope"] #onboarding-overlay {
  display: none !important;
}

html[data-oraculum-app] body {
  overscroll-behavior-y: contain;
  -webkit-tap-highlight-color: transparent;
}

/* Keep the native `hidden` contract stronger than responsive modal fixes.
   Several Taroscope mobile dialog rules intentionally use display:flex, but
   must never make a closed overlay visible. */
html[data-oraculum-app="taroscope"] [hidden] {
  display: none !important;
}

/* Морфей сохраняет свою символику, но использует дизайн-систему Символума. */
html[data-oraculum-app="morfey"] {
  --bg-void: #0f0b22;
  --bg-deep: #14102b;
  --bg-surface: #171231;
  --bg-raised: #211a44;
  --bg-overlay: rgba(201, 168, 76, .04);
  --accent: #c9a84c;
  --accent-soft: #e6cf86;
  --accent-dim: rgba(201, 168, 76, .15);
  --accent-2: #9787e6;
  --t1: #ece8f7;
  --t2: #a79fc6;
  --t3: #71698f;
  --border: rgba(201, 168, 76, .18);
  --border-accent: rgba(201, 168, 76, .42);
  --border-glow: rgba(151, 135, 230, .38);
  --grad-hero: radial-gradient(900px 520px at 78% -8%, rgba(111, 140, 255, .10), transparent 62%), radial-gradient(720px 480px at 0 16%, rgba(201, 168, 76, .08), transparent 58%), #0f0b22;
  --grad-card: linear-gradient(180deg, #211a44, #1a1438);
  --grad-btn: linear-gradient(135deg, #c9a84c, #e6cf86);
  --glow-accent: 0 10px 30px rgba(201, 168, 76, .24);
  --glow-soft: 0 0 50px rgba(151, 135, 230, .10);
  --card: rgba(255, 255, 255, .025);
  --card2: rgba(201, 168, 76, .08);
  --p: #c9a84c;
  --pl: #e6cf86;
  --pglow: rgba(201, 168, 76, .28);
  --ind: #9787e6;
  --ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --dr: Georgia, "Times New Roman", serif;
}

html[data-oraculum-app="astroscope"] {
  --bg: #0f0b22;
  --bg2: #14102b;
  --bg3: #1a1438;
  --bg-raise: #211a44;
  --accent: #c9a84c;
  --accent-s: #e6cf86;
  --accent-dim: rgba(201, 168, 76, .12);
  --accent-2: #9787e6;
  --accent-2-dim: rgba(151, 135, 230, .12);
  --t1: #ece8f7;
  --t2: #a79fc6;
  --t3: #6d6690;
  --border: rgba(201, 168, 76, .14);
  --border-b: rgba(201, 168, 76, .34);
  --border-g: rgba(201, 168, 76, .42);
}

html[data-oraculum-app="morfey"] body { background: var(--grad-hero) !important; }
html[data-oraculum-app="morfey"] #cv,
html[data-oraculum-app="morfey"] #pts { opacity: .22 !important; }
html[data-oraculum-app="morfey"] img[src$="logo.png"] {
  filter: grayscale(1) sepia(1) saturate(2.2) hue-rotate(354deg) brightness(1.14) contrast(1.05) drop-shadow(0 8px 20px rgba(201, 168, 76, .22)) !important;
}

html[data-oraculum-app="morfey"] #splash,
html[data-oraculum-app="morfey"] #ov {
  background: rgba(15, 11, 34, .97) !important;
}

html[data-oraculum-app="morfey"] #splash .sp-logo {
  color: #ece8f7 !important;
}

html[data-oraculum-app="morfey"] #splash .sp-tag,
html[data-oraculum-app="morfey"] #splash .sp-foot,
html[data-oraculum-app="morfey"] #ov .ltext {
  color: #e6cf86 !important;
}

html[data-oraculum-app="morfey"] .card {
  background: var(--grad-card) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .35) !important;
}

html[data-oraculum-app="morfey"] .card::before { background: radial-gradient(ellipse at 50% 0%, rgba(201, 168, 76, .07), transparent 65%) !important; }
html[data-oraculum-app="morfey"] .card::after { background: linear-gradient(90deg, transparent, var(--accent), transparent) !important; }

html[data-oraculum-app="morfey"] .btn-p {
  color: #1a1206 !important;
  background: var(--grad-btn) !important;
  box-shadow: 0 8px 26px rgba(201, 168, 76, .25) !important;
}

html[data-oraculum-app="morfey"] .btn-g {
  color: var(--t1) !important;
  background: rgba(255, 255, 255, .03) !important;
  border: 1px solid var(--border) !important;
}

html[data-oraculum-app="morfey"] .si {
  color: var(--t1) !important;
  background: #14102b !important;
  border-color: var(--border) !important;
}

html[data-oraculum-app="morfey"] .si:focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px rgba(201, 168, 76, .10) !important;
}

html[data-oraculum-app="morfey"] .dream-date-field {
  position: relative;
}
html[data-oraculum-app="morfey"] .dream-date-text {
  margin: 0 !important;
  padding-right: 16px !important;
  font-variant-numeric: tabular-nums;
}
html[data-oraculum-app="morfey"] .dream-date-text[aria-invalid="true"] {
  border-color: #d45a6b !important;
}
html[data-oraculum-app="morfey"] .dream-date-calendar-trigger {
  display: none;
  position: absolute;
  top: 50%;
  right: 8px;
  width: 38px;
  height: 38px;
  padding: 0;
  transform: translateY(-50%);
  align-items: center;
  justify-content: center;
  color: var(--accent);
  border: 0;
  border-radius: 10px;
  background: transparent;
  cursor: pointer;
}
html[data-oraculum-app="morfey"] #sbtn,
html[data-oraculum-app="morfey"] #sbtn-price {
  font-family: var(--ui) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
html[data-oraculum-app="morfey"] #sbtn-price { margin-left: 2px; opacity: 1; }

html[data-oraculum-app="morfey"] .dcal-sheet {
  border-color: rgba(201, 168, 76, .42) !important;
  background: linear-gradient(165deg, #211a44 0%, #14102b 78%) !important;
  box-shadow: 0 -18px 60px rgba(0, 0, 0, .58), 0 0 35px rgba(201, 168, 76, .10) !important;
}
html[data-oraculum-app="morfey"] .dcal-nav {
  color: #e6cf86 !important;
  border-color: rgba(201, 168, 76, .24) !important;
  background: rgba(201, 168, 76, .06) !important;
}
html[data-oraculum-app="morfey"] .dcal-day:hover {
  color: #ece8f7 !important;
  border-color: rgba(201, 168, 76, .42) !important;
  background: rgba(201, 168, 76, .08) !important;
}
html[data-oraculum-app="morfey"] .dcal-day.today { color: #e6cf86 !important; border-color: rgba(201, 168, 76, .46) !important; }
html[data-oraculum-app="morfey"] .dcal-day.selected { color: #1a1206 !important; background: #d8b957 !important; box-shadow: 0 4px 16px rgba(201, 168, 76, .24) !important; }

html[data-oraculum-app="morfey"] .gpill {
  color: var(--t2) !important;
  background: rgba(255, 255, 255, .025) !important;
  border-color: var(--border) !important;
}

html[data-oraculum-app="morfey"] .gpill.on {
  color: var(--accent-soft) !important;
  background: var(--accent-dim) !important;
  border-color: var(--accent) !important;
}

html[data-oraculum-app="morfey"] nav { color: var(--t2) !important; background: rgba(15, 11, 34, .94) !important; }
html[data-oraculum-app="morfey"] nav .ni.on { color: var(--accent-soft) !important; }

/* Единая палитра Символума: тёмный фиолетовый фон, золотой акцент, светлый текст. */
html[data-oraculum-app="jyotish"] {
  --bg-void: #0f0b22;
  --bg-deep: #14102b;
  --bg-surface: #1a1438;
  --bg-raised: #211a44;
  --accent: #c9a84c;
  --accent-deep: #b59238;
  --accent-2: #e6cf86;
  --accent-glow: rgba(201, 168, 76, .28);
  --gold: #c9a84c;
  --gold-light: #e6cf86;
  --gold-dim: #8c7a3f;
  --text: #ece8f7;
  --text-dim: #a79fc6;
  --text-faint: #6d6690;
  --border-subtle: rgba(201, 168, 76, .16);
  --border-glow: rgba(201, 168, 76, .34);
  --border-gold: rgba(201, 168, 76, .30);
}

html[data-oraculum-app="taroscope"],
html[data-oraculum-app="taroscope"] body,
html[data-oraculum-app="taroscope"] body.theme-light {
  --bg-deep: #0f0b22;
  --bg-card: #1a1438;
  --bg-surface: #171231;
  --bg-elevated: #211a44;
  --gold: #c9a84c;
  --gold-light: #e6cf86;
  --gold-dim: #8c7a3f;
  --purple: #c9a84c;
  --purple-light: #e6cf86;
  --teal: #c9a84c;
  --text-main: #ece8f7;
  --text-dim: #a79fc6;
  --text-gold: #e6cf86;
  --glow-gold: 0 0 20px rgba(201, 168, 76, .28), 0 0 42px rgba(201, 168, 76, .10);
  --glow-purple: 0 0 20px rgba(201, 168, 76, .24), 0 0 42px rgba(201, 168, 76, .08);
  --border-gold: 1px solid rgba(201, 168, 76, .22);
}

/* Тароскоп: его иллюстрации карт остаются авторскими, а весь интерфейс
   использует одну дизайн-систему Символума. */
html[data-oraculum-app="taroscope"] #app,
html[data-oraculum-app="taroscope"] .screen,
html[data-oraculum-app="taroscope"] .app-header {
  background-color: transparent !important;
}

html[data-oraculum-app="taroscope"] #splash-screen {
  background: #0f0b22 !important;
}

html[data-oraculum-app="taroscope"] .app-header,
html[data-oraculum-app="taroscope"] .bottom-nav {
  background: rgba(15, 11, 34, .96) !important;
  border-color: rgba(201, 168, 76, .18) !important;
  box-shadow: none !important;
}

/* На экране «Сегодня» старая внутренняя шапка содержит только скрытые
   магазин и настройки, поэтому не должна оставлять пустую полосу. */
html[data-oraculum-app="taroscope"] #screen-home > .app-header {
  display: none !important;
}

html[data-oraculum-app="taroscope"] .logo-text,
html[data-oraculum-app="taroscope"] .header-title,
html[data-oraculum-app="taroscope"] .hero-title,
html[data-oraculum-app="taroscope"] .result-title,
html[data-oraculum-app="taroscope"] .summary-title {
  color: #ece8f7 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  text-shadow: none !important;
}

html[data-oraculum-app="taroscope"] .summary-card,
html[data-oraculum-app="taroscope"] .daily-card,
html[data-oraculum-app="taroscope"] .advice-card,
html[data-oraculum-app="taroscope"] .bonus-card,
html[data-oraculum-app="taroscope"] .card-interpretation,
html[data-oraculum-app="taroscope"] .collection-summary,
html[data-oraculum-app="taroscope"] .legacy-result-card,
html[data-oraculum-app="taroscope"] .settings-row,
html[data-oraculum-app="taroscope"] .shop-intro-compact,
html[data-oraculum-app="taroscope"] .shop-pack-row,
html[data-oraculum-app="taroscope"] .reward-pack,
html[data-oraculum-app="taroscope"] .ts-modal-card,
html[data-oraculum-app="taroscope"] .question-input,
html[data-oraculum-app="taroscope"] .note-input {
  color: #ece8f7 !important;
  background: #1a1438 !important;
  border-color: rgba(201, 168, 76, .18) !important;
  box-shadow: none !important;
}

html[data-oraculum-app="taroscope"] button.btn-primary,
html[data-oraculum-app="taroscope"] a.btn-primary {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  color: #1a1206 !important;
  -webkit-text-fill-color: #1a1206 !important;
  forced-color-adjust: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background: linear-gradient(135deg, #c9a84c, #e6cf86) !important;
  border-color: transparent !important;
  box-shadow: 0 8px 26px rgba(201, 168, 76, .20) !important;
}

/* Цена является частью подписи золотой primary-кнопки и должна иметь тот же
   тёмный контрастный цвет, в том числе на узком мобильном экране. */
html[data-oraculum-app="taroscope"] .btn-primary > *,
html[data-oraculum-app="taroscope"] .btn-primary .btn-price {
  color: #1a1206 !important;
  -webkit-text-fill-color: #1a1206 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

html[data-oraculum-app="taroscope"] .btn-primary svg {
  color: #1a1206 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

html[data-oraculum-app="taroscope"] .btn-primary:hover {
  background: linear-gradient(135deg, #d5b65d, #edd994) !important;
  border-color: transparent !important;
}

html[data-oraculum-app="taroscope"] .btn-secondary,
html[data-oraculum-app="taroscope"] .header-btn,
html[data-oraculum-app="taroscope"] .card-select-btn,
html[data-oraculum-app="taroscope"] .reflection-btn {
  color: #a79fc6 !important;
  background: rgba(255, 255, 255, .025) !important;
  border-color: rgba(201, 168, 76, .22) !important;
  box-shadow: none !important;
}

html[data-oraculum-app="taroscope"] .btn-secondary:hover,
html[data-oraculum-app="taroscope"] .header-btn:hover,
html[data-oraculum-app="taroscope"] .card-select-btn:hover,
html[data-oraculum-app="taroscope"] .card-select-btn.selected,
html[data-oraculum-app="taroscope"] .reflection-btn.active {
  color: #e6cf86 !important;
  background: rgba(201, 168, 76, .10) !important;
  border-color: rgba(201, 168, 76, .5) !important;
}

@media (max-width: 899px) {
  /* Нижняя навигация фиксирована поверх экрана. Оставляем после последнего
     элемента место высотой панели плюс визуальный зазор, чтобы конец списка
     полностью прокручивался выше меню. */
  html[data-oraculum-app="taroscope"] #screen-spreads,
  html[data-oraculum-app="taroscope"] #screen-collection,
  html[data-oraculum-app="taroscope"] #screen-history {
    padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }
}

html[data-oraculum-app="taroscope"] .hero-orb {
  background: radial-gradient(circle at 35% 35%, #211a44, #14102b 72%) !important;
  border-color: rgba(201, 168, 76, .24) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, .28), inset 0 0 36px rgba(151, 135, 230, .10) !important;
}

html[data-oraculum-app="taroscope"] input,
html[data-oraculum-app="taroscope"] textarea,
html[data-oraculum-app="taroscope"] select {
  color: #ece8f7 !important;
  background: #14102b !important;
  border-color: rgba(201, 168, 76, .18) !important;
}

html[data-oraculum-app="morfey"] {
  --accent-2: #c9a84c;
  --border-glow: rgba(201, 168, 76, .34);
  --ind: #c9a84c;
}

html[data-oraculum-app="jyotish"] body,
html[data-oraculum-app="taroscope"] body,
html[data-oraculum-app="morfey"] body,
html[data-oraculum-app="astroscope"] body {
  background:
    radial-gradient(900px 520px at 78% -8%, rgba(201, 168, 76, .07), transparent 62%),
    radial-gradient(720px 480px at 0 18%, rgba(118, 94, 178, .07), transparent 58%),
    #0f0b22 !important;
  color: #ece8f7 !important;
}

html[data-oraculum-app="astroscope"] .btn-p,
html[data-oraculum-app="astroscope"] .btn-gold {
  color: #171023 !important;
  -webkit-text-fill-color: #171023 !important;
  forced-color-adjust: none !important;
  color-scheme: only light !important;
  background: linear-gradient(135deg, #c9a84c, #e6cf86) !important;
  box-shadow: 0 8px 26px rgba(201, 168, 76, .22) !important;
}

html[data-oraculum-app="astroscope"] .btn-p > *,
html[data-oraculum-app="astroscope"] .btn-gold > * {
  color: #171023 !important;
  -webkit-text-fill-color: #171023 !important;
  text-shadow: none !important;
}

html[data-oraculum-app="astroscope"] .compat-submit {
  min-height: 68px;
  flex-direction: column;
  gap: 3px;
  padding: 12px 24px;
  line-height: 1.15;
  text-align: center;
}

html[data-oraculum-app="astroscope"] .compat-submit-label {
  font-size: 16px;
  font-weight: 700;
}

html[data-oraculum-app="astroscope"] .compat-submit-price {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  white-space: nowrap;
}

html[data-oraculum-app="astroscope"] .card,
html[data-oraculum-app="astroscope"] .bcard,
html[data-oraculum-app="astroscope"] .set-row,
html[data-oraculum-app="astroscope"] .pack-card {
  background: linear-gradient(155deg, rgba(31, 24, 65, .98), rgba(16, 12, 38, .98)) !important;
  border-color: rgba(201, 168, 76, .18) !important;
}

html[data-oraculum-app="jyotish"] .btn,
html[data-oraculum-app="taroscope"] .btn-primary {
  color: #1a1206 !important;
  -webkit-text-fill-color: #1a1206 !important;
  forced-color-adjust: none !important;
  color-scheme: only light !important;
  background: linear-gradient(135deg, #c9a84c, #e6cf86) !important;
  box-shadow: 0 8px 26px rgba(201, 168, 76, .22) !important;
}

/* Final paint-layer guard for Android/Samsung forced-dark modes. brightness(0)
   converts whatever glyph colour the browser chooses to black without
   changing the gold background of the parent button. */
html[data-oraculum-app="astroscope"] :is(.btn-p, .btn-gold) > .oraculum-contrast-label,
html[data-oraculum-app="jyotish"] .btn:not(.secondary):not(.tertiary):not(.danger) > .oraculum-contrast-label,
html[data-oraculum-app="morfey"] .btn-p > .oraculum-contrast-label,
html[data-oraculum-app="taroscope"] .btn-primary > .oraculum-contrast-label {
  display: inline-block !important;
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  filter: brightness(0) saturate(100%) !important;
  forced-color-adjust: none !important;
  color-scheme: only light !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

html[data-oraculum-app="jyotish"] .btn.secondary {
  color: #c8c1dc !important;
  -webkit-text-fill-color: #c8c1dc !important;
  background: rgba(15, 11, 34, .38) !important;
  border: 1px solid rgba(201, 168, 76, .28) !important;
  box-shadow: none !important;
}

html[data-oraculum-app="jyotish"] .btn.secondary:hover {
  color: #ece8f7 !important;
  background: rgba(201, 168, 76, .08) !important;
  border-color: rgba(201, 168, 76, .48) !important;
}

html[data-oraculum-app="jyotish"] .btn.tertiary {
  color: #9189aa !important;
  -webkit-text-fill-color: #9189aa !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html[data-oraculum-app="jyotish"] .btn.tertiary:hover {
  color: #c8c1dc !important;
  background: rgba(255, 255, 255, .035) !important;
}

/* Mobile WebKit and forced-dark modes can repaint the label of gold profile
   actions white. Keep every profile confirmation label explicitly dark. */
@media (max-width: 899px) {
  html[data-oraculum-app="jyotish"] #screen-onboarding #ob-save-btn,
  html[data-oraculum-app="morfey"] #onb-start,
  html[data-oraculum-app="morfey"] #psave,
  html[data-oraculum-app="astroscope"] #ob-wrap .btn-p,
  html[data-oraculum-app="astroscope"] #profile-picker .btn-gold {
    color: #171023 !important;
    -webkit-text-fill-color: #171023 !important;
    forced-color-adjust: none !important;
    color-scheme: only light !important;
    text-shadow: none !important;
  }

  html[data-oraculum-app="jyotish"] #screen-onboarding #ob-save-btn *,
  html[data-oraculum-app="morfey"] #onb-start *,
  html[data-oraculum-app="morfey"] #psave *,
  html[data-oraculum-app="astroscope"] #ob-wrap .btn-p *,
  html[data-oraculum-app="astroscope"] #profile-picker .btn-gold * {
    color: #171023 !important;
    -webkit-text-fill-color: #171023 !important;
    text-shadow: none !important;
  }
}

html[data-oraculum-app="jyotish"] input:focus,
html[data-oraculum-app="jyotish"] select:focus,
html[data-oraculum-app="jyotish"] textarea:focus,
html[data-oraculum-app="taroscope"] input:focus,
html[data-oraculum-app="taroscope"] textarea:focus {
  border-color: #c9a84c !important;
  box-shadow: 0 0 0 3px rgba(201, 168, 76, .10) !important;
}

html[data-oraculum-app="jyotish"] #map-picker-ov {
  top: calc(var(--oraculum-sitebar-h) + env(safe-area-inset-top)) !important;
  height: calc(var(--map-picker-height, 100dvh) - var(--oraculum-sitebar-h) - env(safe-area-inset-top)) !important;
}

/* В мобильном выборе места обе кнопки каждой строки должны быть одной высоты.
   Явная высота не даёт primary-кнопке раздуваться из-за переноса подписи. */
html[data-oraculum-app="jyotish"] .map-picker-search-form {
  align-items: stretch !important;
}

html[data-oraculum-app="jyotish"] #map-search-input,
html[data-oraculum-app="jyotish"] #map-search-submit {
  box-sizing: border-box !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
}

html[data-oraculum-app="jyotish"] .map-picker-footer {
  align-items: stretch !important;
}

html[data-oraculum-app="jyotish"] .map-picker-footer > .btn {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  padding-block: 0 !important;
  line-height: 1.15 !important;
}

/* Старые сборки Ведаскопа оставляли кнопку обновления рядом с уже сохранённым
   прогнозом пары. Актуальный дневной/месячный результат повторно не продаём. */
html[data-oraculum-app="jyotish"] #compat-forecast-day-panel:has(#compat-forecast-day:not(:empty)) > button,
html[data-oraculum-app="jyotish"] #compat-forecast-month-panel:has(#compat-forecast-month:not(:empty)) > button {
  display: none !important;
}

html[data-oraculum-app] :where(
  h1, h2, h3, h4, h5, h6,
  button, a, label,
  .oraculum-sitebar, .bottom-nav, .nav-item, .tab
) {
  -webkit-user-select: none;
  user-select: none;
}

html[data-oraculum-app] :where(input, textarea, [contenteditable="true"]) {
  -webkit-user-select: text;
  user-select: text;
}

.oraculum-desktop-select {
  display: none;
}

html[data-oraculum-app] [data-oraculum-hidden="1"],
html[data-oraculum-app] #privacy-consent-overlay,
html[data-oraculum-app] #privacy-consent-modal,
html[data-oraculum-app] #ads-privacy-ov,
html[data-oraculum-app] #ads-privacy-overlay,
html[data-oraculum-app] #privacy-ads-modal {
  display: none !important;
}

.oraculum-sitebar {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto;
  width: 100vw;
  height: calc(var(--oraculum-sitebar-h) + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) 0 0;
  color: var(--oraculum-shell-text);
  background: rgba(12, 8, 27, .94);
  border-bottom: 1px solid var(--oraculum-shell-line);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .24);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  font: 500 15px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

.oraculum-sitebar-inner {
  width: min(1120px, 100vw);
  height: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  position: absolute;
  top: env(safe-area-inset-top);
  left: 0;
  margin: 0;
  padding: 0 20px;
}

.oraculum-sitebar-brand,
.oraculum-sitebar-home,
.oraculum-sitebar-account {
  color: inherit;
  text-decoration: none;
}

.oraculum-sitebar-home {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  padding: 0 12px;
  color: #a79fc6;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 500;
}

.oraculum-sitebar-home:hover {
  color: var(--oraculum-shell-text);
  background: rgba(255, 255, 255, .05);
}

.oraculum-sitebar-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 700;
  white-space: nowrap;
}
.oraculum-sitebar-brand b { color: #e6cf86; }

.oraculum-sitebar-logo {
  width: 30px;
  height: 30px;
  flex: none;
  display: block;
  color: #c9a84c;
}

.oraculum-sitebar-practice-group,
.oraculum-sitebar-mainnav {
  display: flex;
  align-items: center;
}

.oraculum-sitebar-mark {
  position: relative;
  width: 24px;
  height: 24px;
  flex: none;
  border: 1px solid #d8bb61;
  border-radius: 50%;
}

.oraculum-sitebar-mark::before,
.oraculum-sitebar-mark::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
}

.oraculum-sitebar-mark::before {
  width: 8px;
  height: 8px;
  background: #d8bb61;
}

.oraculum-sitebar-mark::after {
  width: 16px;
  height: 8px;
  border: 1px solid rgba(216, 187, 97, .72);
}

.oraculum-sitebar-separator {
  width: 1px;
  height: 22px;
  background: var(--oraculum-shell-line);
}

.oraculum-sitebar-practice {
  min-width: 0;
  overflow: hidden;
  color: #e6cf86;
  font: 500 15px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.oraculum-sitebar-navslot {
  display: none;
  min-width: 0;
}

.oraculum-sitebar-contextslot {
  display: none;
  min-width: 0;
}

.oraculum-sitebar-account {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  color: #f1d77f;
  border: 1px solid rgba(216, 187, 97, .32);
  border-radius: 999px;
  background: rgba(216, 187, 97, .08);
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap;
}

.oraculum-sitebar-account.is-authenticated {
  justify-content: flex-end;
  gap: 9px;
  padding: 0;
  color: #a79fc6;
  border: 0;
  background: transparent;
}
.oraculum-account-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.oraculum-account-balance {
  flex: none;
  padding: 5px 9px;
  color: #e6cf86;
  border: 1px solid var(--oraculum-shell-line);
  border-radius: 999px;
  background: rgba(201,168,76,.08);
  font-size: 11px;
}

.oraculum-sitebar a:focus-visible {
  outline: 2px solid #efd87f;
  outline-offset: 3px;
}

/* У сайта один профиль и один баланс: внутренние магазины и настройки не показываем. */
html[data-oraculum-app="jyotish"] .app-header .h-btn[onclick*="openSettings"],
html[data-oraculum-app="jyotish"] #pro-badge,
html[data-oraculum-app="jyotish"] #screen-settings,
html[data-oraculum-app="jyotish"] #screen-subscription,
html[data-oraculum-app="morfey"] nav .ni[data-s="cfg"],
html[data-oraculum-app="morfey"] .balance-badge,
html[data-oraculum-app="morfey"] #s-cfg,
html[data-oraculum-app="taroscope"] .app-header [onclick*="settings"],
html[data-oraculum-app="taroscope"] .app-header [onclick*="shop"],
html[data-oraculum-app="taroscope"] #screen-settings,
html[data-oraculum-app="taroscope"] #screen-shop {
  display: none !important;
}

html[data-oraculum-app="taroscope"] #home-candles {
  display: none !important;
}

/* Общая верхняя панель не перекрывает интерфейсы практик. */
html[data-oraculum-app="jyotish"] .app-header {
  top: calc(var(--oraculum-sitebar-h) + env(safe-area-inset-top)) !important;
}

html[data-oraculum-app="jyotish"] .screen {
  padding-top: calc(var(--oraculum-sitebar-h) + var(--header-h) + var(--safe-top, 0px) + 12px) !important;
}

html[data-oraculum-app="morfey"] #app {
  top: calc(var(--oraculum-sitebar-h) + env(safe-area-inset-top)) !important;
}

html[data-oraculum-app="morfey"] .sc {
  min-height: calc(100vh - var(--oraculum-sitebar-h) - var(--nav)) !important;
}

html[data-oraculum-app="taroscope"] #app {
  height: calc(100vh - var(--oraculum-sitebar-h) - env(safe-area-inset-top)) !important;
  margin-top: calc(var(--oraculum-sitebar-h) + env(safe-area-inset-top));
}

html[data-oraculum-app="taroscope"] #splash-screen {
  top: calc(var(--oraculum-sitebar-h) + env(safe-area-inset-top)) !important;
}

/* Нормализуем основные поверхности, не вмешиваясь в логику самих практик. */
html[data-oraculum-app="jyotish"] .app-header,
html[data-oraculum-app="taroscope"] .app-header,
html[data-oraculum-app="morfey"] nav {
  border-color: var(--oraculum-shell-line) !important;
}

html[data-oraculum-app="jyotish"] .card,
html[data-oraculum-app="morfey"] .card,
html[data-oraculum-app="taroscope"] .card {
  border-color: var(--oraculum-shell-line) !important;
  border-radius: 16px !important;
}

html[data-oraculum-app="jyotish"] button,
html[data-oraculum-app="morfey"] button,
html[data-oraculum-app="taroscope"] button {
  touch-action: manipulation;
}

.oraculum-web-notice {
  position: fixed;
  z-index: 1200;
  left: 50%;
  bottom: calc(86px + env(safe-area-inset-bottom));
  width: min(420px, calc(100% - 28px));
  transform: translate(-50%, 24px);
  padding: 13px 16px;
  color: #f7edd2;
  background: rgba(17, 12, 34, .96);
  border: 1px solid rgba(224, 187, 104, .46);
  border-radius: 14px;
  box-shadow: 0 16px 50px rgba(0, 0, 0, .45);
  font: 600 13px/1.45 system-ui, -apple-system, sans-serif;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}

.oraculum-web-notice.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* Пока обязательный профиль не заполнен, навигация практики скрыта на любой ширине. */
html[data-oraculum-app] [data-oraculum-flow-hidden] {
  display: none !important;
}

@media (max-width: 520px) {
  :root { --oraculum-sitebar-h: 54px; }

  .oraculum-sitebar-inner { gap: 8px; padding-right: 10px; padding-left: 10px; }

  .oraculum-sitebar-brand {
    gap: 7px;
    font-size: 17px;
  }

  .oraculum-sitebar-logo {
    width: 22px;
    height: 22px;
  }

  .oraculum-sitebar-separator { height: 18px; }
  .oraculum-sitebar-practice { font-size: 12px; }
  .oraculum-sitebar-home { min-height: 34px; padding: 0 8px; font-size: 11px; }
  .oraculum-sitebar-account { min-height: 34px; padding: 0 11px; font-size: 11px; }

  html[data-oraculum-app="jyotish"] .screen,
  html[data-oraculum-app="morfey"] .sc {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  html[data-oraculum-app="morfey"] .card { padding: 18px !important; }
  html[data-oraculum-app="taroscope"] .app-header { padding-right: 14px !important; padding-left: 14px !important; }
  html[data-oraculum-app="taroscope"] .logo-text { font-size: 17px !important; letter-spacing: 1.5px !important; }
}

@media (max-width: 899px) {
  html[data-oraculum-app="jyotish"] {
    --oraculum-sitebar-h: 102px;
  }

  html[data-oraculum-app="jyotish"] .app-header {
    display: none !important;
  }

  html[data-oraculum-app="jyotish"] .screen {
    padding-top: calc(var(--oraculum-sitebar-h) + var(--safe-top, 0px) + 12px) !important;
  }

  /* The Vedascope toast used a fixed 70px offset and sat underneath the
     102px mobile practice header. Keep validation hints below that header. */
  html[data-oraculum-app="jyotish"] #toast {
    top: calc(var(--oraculum-sitebar-h) + var(--safe-top, 0px) + 12px) !important;
    z-index: 1102 !important;
    width: max-content;
    max-width: calc(100vw - 32px) !important;
    text-align: center;
    white-space: normal;
  }

  /* Astroscope has an 86px two-row mobile header; its legacy 62px toast
     offset placed notifications underneath the practice-name row. */
  html[data-oraculum-app="astroscope"] #toast {
    top: calc(var(--oraculum-sitebar-h) + var(--safe-top, 0px) + 12px) !important;
    z-index: 1102 !important;
    width: max-content;
    max-width: calc(100vw - 32px) !important;
    text-align: center;
    white-space: normal;
  }
}

@media (min-width: 900px) {
  :root { --oraculum-sitebar-h: 66px; }

  /* Барабаны — мобильный паттерн. На компьютере используются системные поля. */
  html[data-oraculum-app="jyotish"] #wheel-ov {
    display: none !important;
  }

  html[data-oraculum-app="jyotish"] #list-ov {
    display: none !important;
  }

  html[data-oraculum-app="jyotish"] input[data-wheelified] {
    display: block !important;
  }

  html[data-oraculum-app="jyotish"] .wheel-field {
    display: none !important;
  }

  html[data-oraculum-app="jyotish"] .select-field {
    display: none !important;
  }

  html[data-oraculum-app="jyotish"] .oraculum-desktop-select {
    width: 100%;
    min-height: 44px;
    display: block !important;
    margin-bottom: 12px;
    padding: 10px 42px 10px 12px;
    color: var(--text);
    color-scheme: dark;
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    font: inherit;
    cursor: pointer;
  }

  .oraculum-sitebar {
    box-shadow: none;
  }

  .oraculum-sitebar-inner {
    display: grid;
    grid-template-columns: 180px 118px minmax(0, 1fr) 190px;
    gap: 18px;
  }

  .oraculum-sitebar-brand { width: 180px; gap: 11px; font-size: 22px; }
  .oraculum-sitebar-practice-group { width: 118px; gap: 10px; }
  .oraculum-sitebar-practice { min-width: 0; }
  .oraculum-sitebar-mainnav { min-width: 0; gap: 2px; }
  .oraculum-sitebar-home { width: auto; flex: none; justify-content: center; margin-left: 0; padding: 0 11px; }
  .oraculum-sitebar-account { width: 190px; min-height: 38px; padding: 0 10px; overflow: hidden; text-overflow: ellipsis; }

  .oraculum-sitebar-contextslot {
    display: none !important;
    width: 0;
    min-width: 0;
    align-items: center;
    justify-content: center;
  }

  .oraculum-sitebar-contextslot:empty { display: none !important; }

  .oraculum-sitebar-contextslot #header-profile-btn {
    width: auto !important;
    max-width: 150px !important;
    min-height: 38px !important;
    display: inline-flex !important;
    padding: 4px 10px !important;
    border: 1px solid rgba(216, 187, 97, .18) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .025) !important;
  }

  .oraculum-sitebar-contextslot #header-profile-btn .h-title {
    font-size: 12px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  .oraculum-sitebar-contextslot #header-profile-btn .h-title::before { display: none !important; }

  .oraculum-sitebar-contextslot #header-profile-btn .h-name {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    max-width: 170px !important;
    overflow: hidden !important;
    color: var(--oraculum-shell-text) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .oraculum-sitebar-contextslot #header-profile-btn .h-name::after {
    content: '' !important;
    width: 6px !important;
    height: 6px !important;
    flex: 0 0 auto !important;
    border-right: 1.5px solid var(--gold-light) !important;
    border-bottom: 1.5px solid var(--gold-light) !important;
    transform: translateY(-2px) rotate(45deg) !important;
  }
  .oraculum-sitebar-contextslot #header-profile-btn .h-role { display: none !important; }

  html[data-oraculum-app="jyotish"] #profile-modal {
    inset: calc(var(--oraculum-sitebar-h) + 8px) max(28px, calc((100vw - 1320px) / 2)) auto auto !important;
    width: 360px !important;
    height: auto !important;
    display: none !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    animation: none !important;
    pointer-events: none !important;
  }
  html[data-oraculum-app="jyotish"] #profile-modal.show { display: block !important; }
  html[data-oraculum-app="jyotish"] #profile-modal .modal-card {
    width: 360px !important;
    max-width: 360px !important;
    max-height: min(520px, calc(100vh - var(--oraculum-sitebar-h) - 24px)) !important;
    padding: 18px !important;
    border-radius: 14px !important;
    background: rgba(26, 20, 56, .98) !important;
    border: 1px solid rgba(216, 187, 97, .3) !important;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .42) !important;
    animation: none !important;
    pointer-events: auto !important;
  }
  html[data-oraculum-app="jyotish"] #profile-modal .modal-card h3 {
    margin: 0 0 4px !important;
    font-size: 18px !important;
  }
  html[data-oraculum-app="jyotish"] #profile-modal .term-orig-big { display: none !important; }
  html[data-oraculum-app="jyotish"] #profile-modal .prof-row {
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 10px !important;
  }
  html[data-oraculum-app="jyotish"] #profile-modal .prof-glyph {
    width: 34px !important;
    height: 34px !important;
  }
  html[data-oraculum-app="jyotish"] #profile-modal .prof-add {
    padding: 11px !important;
    font-size: 13px !important;
  }
  html[data-oraculum-app="jyotish"] #profile-modal .close-row { display: none !important; }

  .oraculum-sitebar-navslot {
    min-width: 0;
    height: 100%;
    display: flex;
    flex: 0 1 auto;
    align-items: center;
    justify-content: flex-start;
    margin-left: 0;
  }

  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot .bottom-nav,
  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot #bottom-nav,
  html[data-oraculum-app="morfey"] .oraculum-sitebar .oraculum-sitebar-navslot nav {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: none !important;
    height: 100% !important;
    display: flex !important;
    flex: 0 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    padding: 0 !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot .nav-btn,
  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot .nav-item,
  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot .bottom-tab,
  html[data-oraculum-app="morfey"] .oraculum-sitebar .oraculum-sitebar-navslot .ni {
    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;
    flex: 0 1 auto !important;
    flex-direction: row !important;
    gap: 0 !important;
    padding: 7px 11px !important;
    border-radius: 9px !important;
    color: #a79fc6 !important;
    font: 500 15px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot .active,
  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot [aria-current="page"] {
    color: #e6cf86 !important;
    background: rgba(201, 168, 76, .08) !important;
  }

  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot svg {
    display: none !important;
  }

  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot .oraculum-redundant-home {
    display: none !important;
  }

  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot .nav-item::after,
  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot .ni::after {
    display: none !important;
  }

  html[data-oraculum-app] .oraculum-sitebar [data-oraculum-flow-hidden],
  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot [style*="display: none"],
  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot [style*="display:none"] {
    display: none !important;
  }

  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot #bottom-nav[data-oraculum-flow-hidden],
  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot #bottom-nav[style*="display: none"],
  html[data-oraculum-app] .oraculum-sitebar .oraculum-sitebar-navslot #bottom-nav[style*="display:none"],
  html[data-oraculum-app="morfey"] .oraculum-sitebar .oraculum-sitebar-navslot nav[data-oraculum-flow-hidden],
  html[data-oraculum-app="morfey"] .oraculum-sitebar .oraculum-sitebar-navslot nav[style*="display: none"],
  html[data-oraculum-app="morfey"] .oraculum-sitebar .oraculum-sitebar-navslot nav[style*="display:none"] {
    display: none !important;
  }

  html[data-oraculum-app],
  html[data-oraculum-app] body {
    width: 100%;
    max-width: none !important;
  }

  html[data-oraculum-app] #app {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
  }

  html[data-oraculum-app="jyotish"] #app,
  html[data-oraculum-app="taroscope"] #app {
    margin-left: 0 !important;
  }

  html[data-oraculum-app="morfey"] #app {
    right: 0 !important;
    left: 0 !important;
  }

  html[data-oraculum-app] .screen,
  html[data-oraculum-app] .sc {
    padding-right: max(32px, calc((100vw - 1240px) / 2)) !important;
    padding-left: max(32px, calc((100vw - 1240px) / 2)) !important;
  }

  html[data-oraculum-app] body > .bottom-nav,
  html[data-oraculum-app] body > #bottom-nav,
  html[data-oraculum-app="morfey"] body > nav {
    top: auto !important;
    right: auto !important;
    bottom: 18px !important;
    left: 50% !important;
    width: min(920px, calc(100% - 48px)) !important;
    max-width: 920px !important;
    height: 78px !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    padding: 8px 14px !important;
    transform: translateX(-50%);
    border: 1px solid var(--oraculum-shell-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 42px rgba(0, 0, 0, .38) !important;
  }

  html[data-oraculum-app] body > .bottom-nav .nav-btn,
  html[data-oraculum-app] body > .bottom-nav .nav-item,
  html[data-oraculum-app] body > #bottom-nav .bottom-tab,
  html[data-oraculum-app="morfey"] body > nav .ni {
    width: 100%;
    min-width: 0;
    min-height: 58px !important;
    gap: 6px !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
  }

  html[data-oraculum-app] body > .bottom-nav .nav-btn,
  html[data-oraculum-app] body > .bottom-nav .nav-item,
  html[data-oraculum-app] body > #bottom-nav .bottom-tab {
    min-height: 58px !important;
    gap: 6px !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
  }

  html[data-oraculum-app] body > .bottom-nav svg,
  html[data-oraculum-app] body > #bottom-nav svg,
  html[data-oraculum-app="morfey"] body > nav svg {
    width: 23px !important;
    height: 23px !important;
  }

  html[data-oraculum-app="jyotish"] .app-header {
    left: 0 !important;
  }

  html[data-oraculum-app="taroscope"] .spread-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html[data-oraculum-app="taroscope"] .collection-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  html[data-oraculum-app="morfey"] .agrid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html[data-oraculum-app="morfey"] .egrid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  }

  /* На широком экране нижней панели нет: навигация живёт только в общей шапке. */
html[data-oraculum-app] body > .bottom-nav,
html[data-oraculum-app] body > #bottom-nav,
html[data-oraculum-app="morfey"] body > nav {
  display: none !important;
}

  /* Ведаскоп: самостоятельная десктопная компоновка вместо растянутой мобильной. */
  html[data-oraculum-app="jyotish"] .app-header { display: none !important; }

  html[data-oraculum-app="jyotish"] .screen {
    width: calc(100% - 64px) !important;
    max-width: 1120px !important;
    min-height: 100vh !important;
    margin: 0 auto !important;
    padding: calc(var(--oraculum-sitebar-h) + 30px) 0 48px !important;
    font-size: 15px;
  }

  html[data-oraculum-app="jyotish"] .greeting {
    margin-bottom: 22px !important;
    font-size: 28px !important;
    line-height: 1.25 !important;
  }

  html[data-oraculum-app="jyotish"] h1 { font-size: 32px !important; }
  html[data-oraculum-app="jyotish"] h2 { font-size: 26px !important; }
  html[data-oraculum-app="jyotish"] h3 { font-size: 18px !important; }
  html[data-oraculum-app="jyotish"] .small { font-size: 13px !important; line-height: 1.55 !important; }

  html[data-oraculum-app="jyotish"] .panel {
    margin-bottom: 16px;
    padding: 20px 22px !important;
    border-radius: 14px !important;
  }

  html[data-oraculum-app="jyotish"] .panel .label {
    margin-bottom: 12px;
    font-size: 11px !important;
    letter-spacing: .13em !important;
  }

  html[data-oraculum-app="jyotish"] #home-no-profile {
    max-width: 820px;
    margin: 0 auto;
    padding: 34px 38px !important;
  }

  html[data-oraculum-app="jyotish"] #screen-home.profile-empty.active {
    min-height: auto !important;
    padding-top: calc(var(--oraculum-sitebar-h) + 44px) !important;
  }

  html[data-oraculum-app="jyotish"] .profile-empty-card h1 {
    max-width: none;
    font-size: 36px !important;
  }

  html[data-oraculum-app="jyotish"] .profile-empty-lead {
    max-width: 650px;
    margin: 12px 0 20px;
    font-size: 15px;
  }

  html[data-oraculum-app="jyotish"] .profile-empty-fields {
    margin-bottom: 22px;
  }

  html[data-oraculum-app="jyotish"] .profile-empty-action {
    display: inline-flex;
    width: auto !important;
    min-width: 220px;
  }

  html[data-oraculum-app="jyotish"] #home-content:not([style*="display: none"]):not([style*="display:none"]) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  html[data-oraculum-app="jyotish"] #home-content > .panel { margin-bottom: 0 !important; }
  html[data-oraculum-app="jyotish"] #home-content > #streak-panel { grid-column: 1 / -1; }
  html[data-oraculum-app="jyotish"] #home-content > .panel:last-child { grid-column: 1 / -1; }
  html[data-oraculum-app="jyotish"] #home-content .btn {
    width: auto !important;
    min-width: 210px !important;
    margin-top: 16px !important;
    padding: 11px 18px !important;
  }
  html[data-oraculum-app="jyotish"] #chart-content:not([style*="display: none"]):not([style*="display:none"]) {
    display: block !important;
  }
  html[data-oraculum-app="jyotish"] #chart-content > .chart-overview {
    display: grid;
    grid-template-columns: minmax(390px, .95fr) minmax(300px, .65fr);
    gap: 18px;
    align-items: start;
    width: 100%;
  }
  html[data-oraculum-app="jyotish"] #chart-content .chart-facts {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 14px;
  }
  html[data-oraculum-app="jyotish"] #chart-content .chart-visual-stack {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 14px;
  }
  html[data-oraculum-app="jyotish"] #chart-content .chart-overview > .panel,
  html[data-oraculum-app="jyotish"] #chart-content .chart-visual-stack > .panel,
  html[data-oraculum-app="jyotish"] #chart-content .chart-facts > .panel {
    width: 100%;
    margin: 0 !important;
  }
  html[data-oraculum-app="jyotish"] #chart-content .chart-visual-stack > .chart-visual-panel {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  html[data-oraculum-app="jyotish"] #chart-content .chart-facts > .chart-lagna-panel {
    padding-block: 16px !important;
  }
  html[data-oraculum-app="jyotish"] #chart-content .chart-grid {
    width: min(100%, 390px);
    max-width: 390px;
  }
  html[data-oraculum-app="jyotish"] #chart-content .chart-visual-stack > #yogas-panel {
    align-items: initial;
    justify-content: initial;
  }
  html[data-oraculum-app="jyotish"] #chart-content #yogas-list,
  html[data-oraculum-app="jyotish"] #chart-content #yogas-list .yoga-row {
    width: 100%;
  }
  html[data-oraculum-app="jyotish"] #chart-content .chart-facts #planets-list > div {
    padding: 7px 0 !important;
  }
  html[data-oraculum-app="jyotish"] #chart-content > #yogas-panel,
  html[data-oraculum-app="jyotish"] #chart-content > #chart-interpret-panel {
    width: 100%;
    margin: 18px 0 0 !important;
  }
  html[data-oraculum-app="jyotish"] #chart-content > .panel { margin-bottom: 0 !important; }
  html[data-oraculum-app="jyotish"] #chart-content > .panel:last-child {
    width: 100%;
    margin-top: 18px !important;
  }
  html[data-oraculum-app="jyotish"] #chart-interpret-panel .btn,
  html[data-oraculum-app="jyotish"] #dasha-interpret-panel .btn,
  html[data-oraculum-app="jyotish"] #day-intervals-panel .btn {
    width: auto !important;
    min-width: 220px !important;
    padding: 11px 18px !important;
  }

  html[data-oraculum-app="jyotish"] #dasha-content:not([style*="display: none"]):not([style*="display:none"]) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
  }
  html[data-oraculum-app="jyotish"] #dasha-content > .panel { margin-bottom: 0 !important; }
  html[data-oraculum-app="jyotish"] #dasha-content > #dasha-interpret-panel { grid-column: 1 / -1; }
  html[data-oraculum-app="jyotish"] #dasha-content > .panel:last-child { grid-column: 1 / -1; }

  html[data-oraculum-app="jyotish"] #muhurta-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 16px;
    align-items: start;
  }
  html[data-oraculum-app="jyotish"] #muhurta-content > .panel { margin-bottom: 0 !important; }
  html[data-oraculum-app="jyotish"] #muhurta-content > .panel:first-child { grid-row: span 2; }
  html[data-oraculum-app="jyotish"] #muhurta-content > #muh-result { grid-column: 1 / -1; }
  html[data-oraculum-app="jyotish"] #muhurta-content .btn {
    width: 100% !important;
    min-width: 0 !important;
    padding: 11px 18px !important;
  }
  html[data-oraculum-app="jyotish"] .vedic-calendar-grid { gap: 7px !important; }

  /* Морфей: рабочая область фиксированной читаемой ширины и плотные сетки. */
  html[data-oraculum-app="morfey"] #app { bottom: 0 !important; }
  html[data-oraculum-app="morfey"] .sc {
    width: calc(100% - 64px) !important;
    max-width: 1120px !important;
    min-height: calc(100vh - var(--oraculum-sitebar-h)) !important;
    margin: 0 auto !important;
    padding: 34px 0 52px !important;
    font-size: 15px !important;
  }
  html[data-oraculum-app="morfey"] .sc-title { font-size: 29px !important; }
  html[data-oraculum-app="morfey"] .sc-sub { font-size: 14px !important; }
  html[data-oraculum-app="morfey"] .card { padding: 26px !important; border-radius: 14px !important; }
  html[data-oraculum-app="morfey"] .agrid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; }
  html[data-oraculum-app="morfey"] .egrid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 12px !important; }
html[data-oraculum-app="morfey"] .sc[style*="justify-content:center"] {
    width: min(720px, calc(100% - 64px)) !important;
    min-height: auto !important;
    margin: 64px auto !important;
    padding: 44px 64px !important;
    border: 1px solid var(--oraculum-shell-line);
    border-radius: 18px;
    background: linear-gradient(160deg, rgba(33, 26, 68, .96), rgba(20, 16, 43, .96));
    box-shadow: 0 28px 80px rgba(0, 0, 0, .34);
  }

  /* Тароскоп: главная становится десктопным дашбордом, остальные разделы — широкими рабочими экранами. */
  html[data-oraculum-app="taroscope"] .app-header { display: none !important; }
  html[data-oraculum-app="taroscope"] #app { height: calc(100vh - var(--oraculum-sitebar-h)) !important; }
  html[data-oraculum-app="taroscope"] .screen {
    /* Нижняя навигация на десктопе скрыта, поэтому резерв под ней не нужен.
       Иначе после сквозного футера остаётся видимая полоса высотой 48px. */
    padding: 34px max(32px, calc((100vw - 1120px) / 2)) 0 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-home.active {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: auto auto auto minmax(24px, 1fr) auto;
    align-content: start;
    align-items: stretch;
    gap: 16px;
    min-height: 100%;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .hero-zone {
    grid-column: span 5;
    width: 100% !important;
    min-height: 164px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 24px 26px !important;
    text-align: left !important;
    border: 1px solid var(--oraculum-shell-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, .025);
  }
  html[data-oraculum-app="taroscope"] #screen-home > .hero-zone .hero-tagline,
  html[data-oraculum-app="taroscope"] #screen-home > .hero-zone .hero-title {
    text-align: left !important;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .hero-zone .hero-title {
    font-size: clamp(25px, 2.1vw, 32px) !important;
    line-height: 1.12 !important;
    margin: 0 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .daily-card {
    grid-column: span 7;
    width: 100% !important;
    margin: 0 !important;
    min-height: 164px;
    padding: 24px 26px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 310px);
    grid-template-areas:
      "daily-top daily-action"
      "daily-text daily-action";
    column-gap: 28px;
    row-gap: 8px;
    align-content: center;
    align-items: center;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .daily-card .daily-topline {
    grid-area: daily-top;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .daily-card .daily-text {
    grid-area: daily-text;
    margin: 0 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .daily-card .daily-actions {
    grid-area: daily-action;
    width: 100%;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .daily-card .daily-actions .btn-primary,
  html[data-oraculum-app="taroscope"] #screen-home > .daily-card .daily-actions .btn-secondary {
    width: 100% !important;
  }
  html[data-oraculum-app="taroscope"] #screen-home > [style*="padding:4px"] {
    grid-column: span 7;
    padding: 0 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-home > [style*="padding:4px"] .btn-primary,
  html[data-oraculum-app="taroscope"] #screen-home > .achievements-button {
    min-height: 52px;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .achievements-button {
    grid-column: span 5;
    width: 100% !important;
    margin: 0 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .weekly-card {
    grid-column: 1 / -1;
    width: 100% !important;
    margin: 0 !important;
    padding: 20px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .weekly-card .daily-topline {
    margin-bottom: 14px;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .weekly-card .weekly-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .weekly-card .weekly-metric {
    min-width: 0;
    padding: 14px 16px;
  }
  html[data-oraculum-app="taroscope"] #screen-home > .disclaimer-card {
    grid-row: 5;
    grid-column: 1 / -1;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 2px 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(201, 168, 76, .14) !important;
    background: transparent !important;
    min-height: 0 !important;
    text-align: center;
  }

  html[data-oraculum-app="taroscope"] #screen-instruction.active {
    display: grid !important;
    grid-template-columns: minmax(360px, .9fr) minmax(460px, 1.1fr);
    grid-template-rows: auto 420px 216px auto;
    column-gap: 28px;
    row-gap: 16px;
    align-content: start;
    align-items: start;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .progress-bar {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100% !important;
    margin: 0 0 6px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .instruction-left-column {
    grid-column: 1;
    grid-row: 2 / span 3;
    width: 100% !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-self: stretch;
    min-height: 0;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .instruction-left-column > .intent-panel {
    width: 100% !important;
    min-height: 420px;
    flex: 1 1 auto;
    margin: 0 !important;
    padding: 22px !important;
    border-radius: 16px !important;
    display: flex;
    flex-direction: column;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .instruction-left-column > .intent-panel::before {
    content: "Ваш вопрос";
    display: block;
    margin-bottom: 12px;
    color: var(--oraculum-shell-text);
    font: 700 22px/1.2 Georgia, "Times New Roman", serif;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction .question-input {
    flex: 1 1 auto;
    min-height: 0 !important;
    resize: none !important;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction .instruction-selection {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 8px;
    margin: -2px 0 14px;
    color: var(--oraculum-shell-muted);
    font-size: 12px;
    line-height: 1.45;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction #instruction-selection-spread {
    color: var(--oraculum-shell-gold);
    font-weight: 700;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .instruction-left-column > .variant-panel {
    width: 100% !important;
    height: 216px;
    min-height: 216px;
    flex: 0 0 216px;
    margin: 0 !important;
    overflow: hidden;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .instruction-left-column > .variant-panel[hidden] {
    display: none !important;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .mode-bar {
    grid-column: 1;
    grid-row: 4;
    width: 100% !important;
    margin: 0 !important;
    padding: 4px !important;
    gap: 4px !important;
    border: 1px solid var(--oraculum-shell-line);
    border-radius: 14px;
    background: rgba(20, 16, 42, .76);
  }
  html[data-oraculum-app="taroscope"] #screen-instruction .mode-btn {
    min-height: 44px;
    padding: 10px 16px !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction .mode-btn.active {
    background: rgba(201, 168, 76, .14) !important;
    box-shadow: inset 0 0 0 1px rgba(201, 168, 76, .72) !important;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .instruction-diagram {
    grid-column: 2;
    grid-row: 2 / span 2;
    width: 100% !important;
    height: 100% !important;
    min-height: 318px !important;
    align-self: stretch;
    margin: 0 !important;
    padding: 46px 32px 32px !important;
    position: relative;
    overflow: hidden;
    border-radius: 16px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .instruction-diagram::before {
    content: "Схема расклада";
    position: absolute;
    top: 20px;
    left: 22px;
    color: var(--oraculum-shell-text);
    font: 700 22px/1.2 Georgia, "Times New Roman", serif;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction .instruction-diagram .spread-layout {
    transform: scale(1.38);
    transform-origin: center;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .steps-list {
    grid-column: 2;
    grid-row: 4;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    gap: 8px;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction .step-item {
    min-height: 48px;
    margin: 0 !important;
    padding: 10px 14px !important;
    align-items: center !important;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction .step-num {
    width: 26px;
    height: 26px;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction .step-text {
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .instruction-left-column > #btn-start-reading {
    width: 100% !important;
    min-width: 0;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 14px 28px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-instruction > .ts-bottom-spacer { display: none !important; }

  html[data-oraculum-app="taroscope"] .spread-grid {
    width: 100% !important;
    max-width: 1120px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: 0 !important;
  }
  html[data-oraculum-app="taroscope"] .spread-card { min-height: 150px; padding: 22px !important; }

  html[data-oraculum-app="taroscope"] #screen-deck.active {
    display: block !important;
    padding-bottom: 32px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck > .progress-bar {
    width: min(1120px, 100%) !important;
    margin: 0 auto 16px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck > #virtual-mode {
    width: min(1040px, 100%);
    display: grid !important;
    grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
    margin: 0 auto;
  }
  html[data-oraculum-app="taroscope"] #screen-deck > #virtual-mode:has(.positions-panel[data-count="1"]) {
    width: min(414px, 100%);
  }
  html[data-oraculum-app="taroscope"] #screen-deck > #virtual-mode:has(.positions-panel[data-count="3"]) {
    width: min(724px, 100%);
  }
  html[data-oraculum-app="taroscope"] #screen-deck > #virtual-mode:has(.positions-panel[data-count="4"]) {
    width: min(880px, 100%);
  }
  html[data-oraculum-app="taroscope"] #screen-deck .deck-area {
    width: 100% !important;
    min-height: 250px;
    justify-content: center;
    padding: 18px !important;
    border: 1px solid var(--oraculum-shell-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, .025);
  }
  html[data-oraculum-app="taroscope"] #screen-deck .positions-panel {
    width: 100% !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-auto-rows: 1fr;
    align-content: start;
    gap: 10px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck .positions-panel[data-count="1"] {
    grid-template-columns: minmax(0, 150px) !important;
    justify-content: center;
  }
  html[data-oraculum-app="taroscope"] #screen-deck .positions-panel[data-count="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck .positions-panel[data-count="4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck .pos-item {
    min-height: 250px !important;
    height: 100%;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 1fr auto;
    justify-items: center;
    gap: 7px !important;
    padding: 14px 8px 12px !important;
    border-radius: 14px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck .pos-label {
    width: 100%;
    font-size: 11px !important;
    letter-spacing: .8px !important;
    text-align: center !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck .pos-card-mini {
    width: clamp(82px, 7.2vw, 104px) !important;
    height: clamp(127px, 11.15vw, 161px) !important;
    border-radius: 8px !important;
    align-self: center;
  }
  html[data-oraculum-app="taroscope"] #screen-deck .pos-card-name {
    width: 100%;
    min-height: 19px;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck .drawn-cards-row {
    display: none !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck .deck-pile,
  html[data-oraculum-app="taroscope"] #screen-deck .deck-pile-card {
    width: 112px !important;
    height: 173px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck .deck-hint {
    max-width: 230px;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck > #btn-reveal {
    width: min(760px, calc(100% - 240px)) !important;
    min-width: 0;
    margin: 14px auto 0 !important;
    padding: 14px 26px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-deck > .ts-bottom-spacer { display: none !important; }

  html[data-oraculum-app="taroscope"] #screen-result.active { display: block !important; }
  html[data-oraculum-app="taroscope"] #screen-result {
    padding-right: max(32px, calc((100vw - 1240px) / 2)) !important;
    padding-left: max(32px, calc((100vw - 1240px) / 2)) !important;
    font-size: 15px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result > .result-header {
    width: min(1240px, 100%) !important;
    margin: 0 auto 18px !important;
    padding: 6px 0 !important;
    text-align: left !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result > .result-header .result-title {
    margin: 0 !important;
    font: 700 30px/1.15 Georgia, "Times New Roman", serif !important;
    color: var(--oraculum-shell-text) !important;
    text-shadow: none !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result > .divider {
    display: none !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result > .ts-result-hero {
    width: min(1240px, 100%);
    margin: 0 auto 18px;
    display: block;
    gap: 18px;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero > .result-cards-row {
    width: 100% !important;
    min-height: 270px;
    margin: 0 0 16px !important;
    padding: 28px 32px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: center;
    gap: 20px !important;
    border: 1px solid var(--oraculum-shell-line);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(35, 27, 68, .9), rgba(19, 16, 39, .9));
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero > .result-cards-row .tarot-card-large {
    width: 152px !important;
    height: 236px !important;
    border-radius: 11px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero > .result-cards-row .card-face,
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero > .result-cards-row .card-back {
    border-radius: 13px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero > #result-interpretations {
    width: 100% !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero > .summary-card {
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    margin: 16px 0 0 !important;
    padding: 20px 22px !important;
    border-radius: 16px !important;
    background: rgba(26, 20, 56, .82) !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result #result-interpretations {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    align-content: start;
    overflow: hidden;
    border: 1px solid var(--oraculum-shell-line);
    border-radius: 16px;
    background: rgba(27, 20, 56, .72);
  }
  html[data-oraculum-app="taroscope"] #screen-result .card-interpretation {
    grid-column: auto !important;
    width: 100% !important;
    min-height: 0;
    margin: 0 !important;
    padding: 16px 18px !important;
    border: 0 !important;
    border-right: 1px solid var(--oraculum-shell-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .card-interpretation:last-child {
    border-right: 0 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .card-interp-art-wrap,
  html[data-oraculum-app="taroscope"] #screen-result .card-keywords {
    display: none !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .card-interp-header {
    align-items: flex-start !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .card-interp-name {
    font-size: 15px !important;
    line-height: 1.3 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .card-interp-pos {
    font-size: 12px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .card-interp-badge {
    padding: 2px 6px !important;
    font-size: 8px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .card-interpretation .card-interp-text {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .card-interp-text,
  html[data-oraculum-app="taroscope"] #screen-result .summary-text,
  html[data-oraculum-app="taroscope"] #screen-result .advice-item,
  html[data-oraculum-app="taroscope"] #screen-result .practice-text {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result #result-interpretations .card-interp-text {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .card-interp-art {
    width: 66px !important;
    height: 102px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero:has(.result-cards-row > :nth-child(2)) > .result-cards-row {
    min-height: 290px;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero:not(:has(.result-cards-row > :nth-child(2))) > .result-cards-row .tarot-card-large {
    width: 220px !important;
    height: 341px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero:has(.result-cards-row > :only-child) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px minmax(0, 1fr);
    grid-template-areas: "message card summary";
    gap: 0;
    align-items: stretch;
    min-height: 405px;
    padding: 26px 28px;
    overflow: hidden;
    border: 1px solid var(--oraculum-shell-line);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(35, 27, 68, .9), rgba(19, 16, 39, .9));
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero:has(.result-cards-row > :only-child) > .result-cards-row {
    grid-area: card;
    width: 250px !important;
    min-height: 350px;
    margin: 0 !important;
    padding: 0 15px !important;
    align-self: center;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero:has(.result-cards-row > :only-child) > #result-interpretations {
    grid-area: message;
    display: flex !important;
    align-items: center;
    min-width: 0;
    padding-right: 28px;
    border: 0;
    border-right: 1px solid var(--oraculum-shell-line);
    border-radius: 0;
    background: transparent;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero:has(.result-cards-row > :only-child) > #result-interpretations .card-interpretation {
    padding: 0 !important;
    border: 0 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-hero:has(.result-cards-row > :only-child) > .summary-card {
    grid-area: summary;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    margin: 0 !important;
    padding: 0 0 0 28px !important;
    border: 0 !important;
    border-left: 1px solid var(--oraculum-shell-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result > .ts-result-columns {
    width: min(1240px, 100%);
    margin: 0 auto 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > .advice-card,
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > .bonus-card,
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > .practice-card,
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > .note-card {
    width: 100% !important;
    height: 100% !important;
    min-height: 0;
    margin: 0 !important;
    padding: 20px 22px !important;
    border-radius: 16px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > [hidden] { display: none !important; }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > .advice-card {
    background: rgba(26, 20, 56, .82) !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > .practice-card,
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > .note-card {
    background: rgba(17, 13, 38, .72) !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > #bonus-card-panel {
    grid-column: 1;
    grid-row: 1;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > #advice-card { grid-column: 1; grid-row: 2; }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > #deep-panel {
    grid-column: 2;
    grid-row: 1 / span 2;
    padding: 22px 26px 24px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > #practice-card { grid-column: 1; grid-row: 3; }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > #note-card { grid-column: 2; grid-row: 3; }
  html[data-oraculum-app="taroscope"] #screen-result #deep-panel .bonus-head {
    align-items: center;
  }
  html[data-oraculum-app="taroscope"] #screen-result #deep-panel .bonus-text {
    width: 100%;
    margin: 18px 0 0;
    columns: 2;
    column-gap: 36px;
    column-rule: 1px solid var(--oraculum-shell-line);
    font-size: 15px !important;
    line-height: 1.7 !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result #advice-card .advice-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  html[data-oraculum-app="taroscope"] #screen-result #advice-card .advice-item {
    height: 100%;
    padding: 14px 16px;
  }
  html[data-oraculum-app="taroscope"] #screen-result .ts-result-columns > #bonus-card-panel {
    width: 100% !important;
    min-height: 0;
    margin: 0 !important;
    padding: 20px 22px !important;
    border-radius: 16px !important;
    background: rgba(26, 20, 56, .82) !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result #bonus-card-panel .bonus-card-row {
    display: grid;
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    margin-top: 20px;
  }
  html[data-oraculum-app="taroscope"] #screen-result #bonus-card-panel .bonus-card-row > :first-child {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  html[data-oraculum-app="taroscope"] #screen-result #bonus-card-panel .bonus-card-row .tarot-card-small,
  html[data-oraculum-app="taroscope"] #screen-result #bonus-card-panel .bonus-card-row .tarot-card {
    width: 150px;
    height: 233px;
    margin: 0 auto;
  }
  html[data-oraculum-app="taroscope"] #screen-result #bonus-card-panel .bonus-title {
    margin-bottom: 12px;
    font-size: 20px;
  }
  html[data-oraculum-app="taroscope"] #screen-result #bonus-card-panel .bonus-text {
    max-width: 820px;
    font-size: 16px;
    line-height: 1.75;
  }
  html[data-oraculum-app="taroscope"] #screen-result > .result-action-bar,
  html[data-oraculum-app="taroscope"] #screen-result > .result-main-btn {
    width: min(1240px, 100%) !important;
    margin: 0 auto 14px !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result > .result-action-bar {
    padding: 10px !important;
    gap: 10px !important;
    background: rgba(17, 13, 38, .92) !important;
  }
  html[data-oraculum-app="taroscope"] #screen-result > .ts-bottom-spacer { display: none !important; }
  html[data-oraculum-app="taroscope"] .collection-summary,
  html[data-oraculum-app="taroscope"] .collection-controls,
  html[data-oraculum-app="taroscope"] .history-toolbar,
  html[data-oraculum-app="taroscope"] .history-controls,
  html[data-oraculum-app="taroscope"] #history-list,
  html[data-oraculum-app="taroscope"] .collection-grid {
    width: 100% !important;
    max-width: 1120px !important;
  }

  html[data-oraculum-app="taroscope"] #screen-history {
    display: block !important;
    padding-right: max(32px, calc((100vw - 1180px) / 2)) !important;
    padding-left: max(32px, calc((100vw - 1180px) / 2)) !important;
  }
  html[data-oraculum-app="taroscope"] #screen-history > .ts-history-heading,
  html[data-oraculum-app="taroscope"] #screen-history > .ts-history-tools,
  html[data-oraculum-app="taroscope"] #screen-history > #history-list {
    width: min(1180px, 100%) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  html[data-oraculum-app="taroscope"] .ts-history-heading {
    margin-bottom: 22px;
  }
  html[data-oraculum-app="taroscope"] .ts-history-heading h1 {
    margin: 0 0 5px;
    color: var(--oraculum-shell-text);
    font: 700 32px/1.15 Georgia, "Times New Roman", serif;
  }
  html[data-oraculum-app="taroscope"] .ts-history-heading p {
    margin: 0;
    color: var(--oraculum-shell-muted);
    font-size: 14px;
  }
  html[data-oraculum-app="taroscope"] .ts-history-tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px !important;
    padding: 12px 14px;
    border: 1px solid var(--oraculum-shell-line);
    border-radius: 14px;
    background: rgba(30, 23, 61, .72);
  }
  html[data-oraculum-app="taroscope"] .ts-history-tools .history-controls {
    width: auto !important;
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }
  html[data-oraculum-app="taroscope"] .ts-history-tools .history-filter-row {
    flex-wrap: nowrap;
    gap: 6px;
  }
  html[data-oraculum-app="taroscope"] .ts-history-tools .history-filter-btn {
    min-height: 36px;
    padding: 7px 13px;
    font-size: 13px;
    white-space: nowrap;
  }
  html[data-oraculum-app="taroscope"] .ts-history-tools .history-filter-meta {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: var(--oraculum-shell-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  html[data-oraculum-app="taroscope"] .ts-history-tools .history-toolbar {
    width: auto !important;
    flex: 0 0 auto;
    gap: 6px;
    margin: 0 !important;
  }
  html[data-oraculum-app="taroscope"] .ts-history-tools .history-toolbar .btn-secondary {
    width: auto !important;
    min-width: 0;
    min-height: 36px;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 7px 13px !important;
    border-radius: 9px !important;
    font-size: 13px !important;
  }
  html[data-oraculum-app="taroscope"] #history-list .history-day-group {
    margin: 0 0 24px !important;
    padding: 0 !important;
  }
  html[data-oraculum-app="taroscope"] #history-list .history-day-header {
    position: static !important;
    margin: 0 0 10px !important;
    padding: 0 2px 9px !important;
    background: transparent !important;
    border-bottom-color: var(--oraculum-shell-line) !important;
    font-size: 12px;
  }
  html[data-oraculum-app="taroscope"] #history-list .history-item {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) 24px;
    gap: 18px !important;
    margin: 0 !important;
    padding: 20px 22px !important;
    border-radius: 16px !important;
    align-items: start !important;
  }
  html[data-oraculum-app="taroscope"] #history-list .history-item:hover {
    transform: translateY(-1px) !important;
  }
  html[data-oraculum-app="taroscope"] #history-list .history-icon-svg {
    width: 64px !important;
    height: 84px !important;
    border-radius: 10px !important;
  }
  html[data-oraculum-app="taroscope"] #history-list .history-icon-svg svg {
    width: 34px !important;
    height: 34px !important;
  }
  html[data-oraculum-app="taroscope"] #history-list .history-spread {
    font-size: 17px !important;
    font-weight: 600;
  }
  html[data-oraculum-app="taroscope"] #history-list .history-tags {
    margin-top: 6px !important;
  }
  html[data-oraculum-app="taroscope"] #history-list .history-cards {
    margin-top: 7px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
  html[data-oraculum-app="taroscope"] #history-list .history-summary {
    max-width: 920px;
    margin-top: 10px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  html[data-oraculum-app="taroscope"].ts-achievements-open,
  html[data-oraculum-app="taroscope"].ts-achievements-open body {
    overflow: hidden !important;
  }
  html[data-oraculum-app="taroscope"] #achievements-overlay {
    inset: var(--oraculum-sitebar-h) 0 0 !important;
    z-index: 2147483645 !important;
    padding: 24px 32px !important;
    align-items: center !important;
    background: rgba(7, 6, 15, .76) !important;
    backdrop-filter: blur(10px) !important;
  }
  html[data-oraculum-app="taroscope"] #achievements-overlay > .ts-modal-card {
    width: min(1120px, 100%) !important;
    max-width: 1120px !important;
    max-height: calc(100dvh - var(--oraculum-sitebar-h) - 48px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background: linear-gradient(160deg, rgba(34, 27, 69, .98), rgba(20, 16, 42, .98)) !important;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .52) !important;
  }
  html[data-oraculum-app="taroscope"] #achievements-overlay .ts-modal-close {
    top: 18px !important;
    right: 20px !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    display: grid;
    place-items: center;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--oraculum-shell-muted) !important;
    font: 400 28px/1 Arial, sans-serif !important;
  }
  html[data-oraculum-app="taroscope"] #achievements-overlay .ts-modal-close:hover {
    color: #e6cf86 !important;
    background: rgba(201, 168, 76, .08) !important;
  }
  html[data-oraculum-app="taroscope"] #achievements-overlay .ts-modal-card > div:nth-of-type(1) {
    margin: 0 !important;
    padding: 22px 76px 18px 26px !important;
    text-align: left !important;
    border-bottom: 1px solid var(--oraculum-shell-line);
  }
  html[data-oraculum-app="taroscope"] #achievements-overlay .ts-modal-card > div:nth-of-type(1) > div:first-child {
    color: var(--oraculum-shell-text) !important;
    font: 700 28px/1.15 Georgia, "Times New Roman", serif !important;
    letter-spacing: 0 !important;
  }
  html[data-oraculum-app="taroscope"] #achievements-overlay #ach-modal-progress {
    margin-top: 6px !important;
    color: var(--oraculum-shell-muted) !important;
    font-size: 13px !important;
  }
  html[data-oraculum-app="taroscope"] #achievements-list-modal {
    max-height: calc(100dvh - var(--oraculum-sitebar-h) - 145px);
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: start;
    gap: 12px !important;
    padding: 20px 22px 24px !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
  html[data-oraculum-app="taroscope"] #achievements-list-modal .achievement-badge {
    width: auto !important;
    min-height: 104px;
    padding: 16px !important;
    align-items: flex-start !important;
    gap: 12px !important;
    border-radius: 14px !important;
  }
  html[data-oraculum-app="taroscope"] #achievements-list-modal .achievement-icon {
    width: 42px;
    height: 42px;
    display: grid;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, .03);
  }
  html[data-oraculum-app="taroscope"] #achievements-list-modal .achievement-icon svg {
    width: 26px !important;
    height: 26px !important;
  }
  html[data-oraculum-app="taroscope"] #achievements-list-modal .achievement-name {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    letter-spacing: .7px !important;
  }
  html[data-oraculum-app="taroscope"] #achievements-list-modal .achievement-desc {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  html[data-oraculum-app="taroscope"] #achievements-list-modal .achievement-status {
    margin-top: 5px !important;
  }
}

html[data-oraculum-app="morfey"] .dream-compose-actions {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 12px;
  margin-top: 22px;
}

/* The embedded Morfey balance sheet is legacy UI. All insufficient-balance
   states must use the single portal dialog so closing it can never leave the
   practice blurred or blocked. */
html[data-oraculum-app="morfey"] #bal-modal {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html[data-oraculum-app="morfey"] .dream-compose-actions .btn {
  width: 100%;
  margin: 0 !important;
}
html[data-oraculum-app="morfey"] .saved-dream-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
html[data-oraculum-app="morfey"] .saved-dream-actions .btn {
  width: 100%;
  margin: 0 !important;
}

/* Astroscope uses the same portal shell as the other practices. Its original
   fixed mobile canvas remains intact below 900px; desktop gets a real page
   width and the shared top navigation instead of a stretched phone screen. */
@media (min-width: 900px) {
  html[data-oraculum-app="astroscope"] #app {
    top: var(--oraculum-sitebar-h) !important;
    bottom: 0 !important;
  }
  html[data-oraculum-app="astroscope"] #nav {
    display: none !important;
  }
  html[data-oraculum-app="astroscope"] .screen {
    width: min(1120px, calc(100% - 64px));
    min-height: calc(100vh - var(--oraculum-sitebar-h));
    margin: 0 auto;
    padding: 34px 0 52px !important;
  }
  html[data-oraculum-app="astroscope"] .screen.active > div {
    width: 100%;
  }
  html[data-oraculum-app="astroscope"] .sc-head {
    padding-bottom: 24px;
  }
  html[data-oraculum-app="astroscope"] .sc-title {
    font: 700 clamp(34px, 4vw, 54px)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: -.025em;
  }
  html[data-oraculum-app="astroscope"] .sc-sub {
    max-width: 760px;
    font-size: 15px;
  }
  html[data-oraculum-app="astroscope"] .bento {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 16px;
  }
  html[data-oraculum-app="astroscope"] .card,
  html[data-oraculum-app="astroscope"] .bcard {
    border-radius: 16px;
  }
  html[data-oraculum-app="astroscope"] .bcard {
    min-height: 150px;
    padding: 22px;
  }
}

@media (max-width: 899px) {
  /* Astroscope onboarding is a fixed layer while html/body are intentionally
     locked. It therefore needs to own vertical scrolling on short mobile
     viewports instead of centring content outside the reachable scroll area. */
  html[data-oraculum-app="astroscope"] #ob-wrap {
    justify-content: flex-start !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y !important;
    padding-top: calc(var(--oraculum-sitebar-h) + var(--safe-top, 0px) + 28px) !important;
    padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html[data-oraculum-app="astroscope"] #ob-wrap > .ob-step,
  html[data-oraculum-app="astroscope"] #ob-wrap > .ob-dots {
    flex: 0 0 auto;
  }

  html[data-oraculum-app="morfey"] .dream-date-text { padding-right: 54px !important; }
  html[data-oraculum-app="morfey"] .dream-date-calendar-trigger { display: inline-flex; }
  html[data-oraculum-app="morfey"] .dream-compose-actions {
    grid-template-columns: 1fr;
  }
  html[data-oraculum-app="morfey"] .dream-compose-actions #sbtn { order: -1; }
  html[data-oraculum-app="morfey"] .saved-dream-actions {
    grid-template-columns: 1fr;
  }
}
