/* ══════════════════════════════════════════════════════════════════════
   KAAHIN2 — RITUALS  (v1)
   ──────────────────────────────────────────────────────────────────────
   Şekil rail'indeki her ikonun arkasına bağlanan deneyimsel
   mini-modüller. Tek ortak sahne (#ritualStage) — tüm modüller aynı
   yerden açılır, aynı kapatma davranışı, aynı palet.

   Palet:  #000 · #E92038 · #fff · rgba(255,255,255, 0.55 / 0.18 / 0.06)
   Font:   Cinzel (xl başlık) · JetBrains Mono (etiket) · Cormorant (cevap)
   Açılış: clip-path inset(50% 0) → inset(0 0)
   ══════════════════════════════════════════════════════════════════════ */

:root {
  --r-bg:        #050306;
  --r-bg-2:      #0c0608;
  --r-accent:    #E92038;
  --r-accent-2:  #ff3b54;
  --r-ink:       #ffffff;
  --r-ink-dim:   rgba(255, 255, 255, 0.55);
  --r-ink-mute:  rgba(255, 255, 255, 0.32);
  --r-line:      rgba(255, 255, 255, 0.14);
  --r-line-2:    rgba(255, 255, 255, 0.06);
  --r-glow:      rgba(233, 32, 56, 0.42);

  /* v68.6 — TR Fallback Serif/Mono önce gelir → ç/ğ/ı/İ/ö/ş/ü için
     sistem fontu otomatik devreye girer (kutu görünme sorunu engellenir). */
  /* v68.9 — Marcellus + EB Garamond (TR FULL destekli) */
  --r-font-display: 'Marcellus', 'EB Garamond', Georgia, serif;
  --r-font-mono:    'JetBrains Mono', ui-monospace, monospace;
  --r-font-serif:   'EB Garamond', Georgia, serif;
}

/* ──────────────────────────────────────────────────────────
   SAHNE (tek ortak overlay)
────────────────────────────────────────────────────────── */
.ritual-stage {
  position: fixed;
  inset: 0;
  z-index: 9500;            /* topbar (9200) üstünde, daily-card altında */
  display: flex;
  align-items: center;
  justify-content: center;
  /* v83 — SESSİZ MABET · ritüel ekranı TAM SİYAH, kırmızı yok */
  background: #000000;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 360ms cubic-bezier(.22,1,.36,1),
              visibility 0s linear 360ms;
}
.ritual-stage.is-open {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  transition: opacity 360ms cubic-bezier(.22,1,.36,1),
              visibility 0s linear 0s;
}

/* v83 — SESSİZ MABET · kırmızı vinyet TAMAMEN KALDIRILDI */
.ritual-stage::before {
  content: '';
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
}

/* v83 — SESSİZ MABET · film grain KAPALI (tamamen temiz siyah) */
.ritual-stage::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background-image: none;
}

/* v85.3 — Ritüel partikül sistemi geri çekildi (kullanıcı isteği üzerine) */
#ritualParticleBg { display: none !important; }

/* ──────────────────────────────────────────────────────────
   FRAME — her modülün kullandığı ortak iskelet
────────────────────────────────────────────────────────── */
.ritual-frame {
  position: relative;
  width: min(880px, 92vw);
  /* v82 — STABİL LAYOUT: min-height + max-height + center justify
     ile içerik geç gelse bile başlıklar zıplamaz */
  min-height: min(72vh, 640px);
  max-height: 88vh;
  justify-content: center;
  contain: layout style;
  margin-bottom: 0;                 /* exit-bar artık sağ üstte, alt boşluk gerekmez */
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  /* v83 — header öğeleri sıkışsın */
  gap: 8px;
  padding: 36px 40px 32px;
  z-index: 2;
  /* İçerik fazla olursa scroll → frame boyutu sabit kalır */
  overflow-y: auto;
  scrollbar-width: none;

  /* v68.94 — Açılış: tüm frame sabit yerinde fade+hafif scale.
     ESKİ clip-path inset(50% 0) → 0 efekti, alt içerik geldikçe
     başlıkların yukarı kayma izlenimi yaratıyordu. Şimdi pozisyon sabit. */
  opacity: 0;
  transform: scale(0.985);
  transform-origin: center center;
  transition:
    opacity 380ms ease-out,
    transform 460ms cubic-bezier(.22, 1, .36, 1);
}
.ritual-stage.is-open .ritual-frame {
  opacity: 1;
  transform: scale(1);
}

/* v83 — Eyebrow KÜÇÜK + title'a yakın dursun */
.r-eyebrow {
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-family: var(--r-font-display);
  font-size: 12px;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--r-ink-mute);
  min-height: 14px;
  margin: 0 0 2px 0;
  line-height: 1;
  flex-shrink: 0;
}
.r-eyebrow__l {
  color: var(--r-accent);
  position: relative;
  /* v69.04 — kırmızı dairenin yerini açan sol padding KALDIRILDI */
  padding-left: 0;
}
/* v69.04 — kırmızı pulse daire iptal */
.r-eyebrow__l::before { content: none !important; display: none !important; }
@keyframes r-pulse {
  0%, 100% { opacity: 0.5; transform: translateY(-50%) scale(1); }
  50%      { opacity: 1;   transform: translateY(-50%) scale(1.4); }
}

/* ── Büyük başlık — v68.55: chat fontu (EB Garamond) + büyütüldü ── */
.r-title {
  /* v68.55 — chat'teki font ile aynı: var(--k-font-script) */
  font-family: var(--k-font-script, 'EB Garamond', 'Palatino Linotype', Palatino, Georgia, serif);
  /* v68.55 — büyütüldü: clamp(2rem, 5vw, 3.6rem) → clamp(2.8rem, 6.5vw, 5rem) */
  font-size: clamp(2.8rem, 6.5vw, 5rem);
  font-weight: 500;
  letter-spacing: .04em;
  color: var(--r-ink);
  margin: 0;
  line-height: 1;
  text-align: center;
  /* v82 — stabilite: title alanı sabit min-height */
  min-height: clamp(2.8rem, 6.5vw, 5rem);
  flex-shrink: 0;
}
.r-title em {
  color: var(--r-accent);
  font-style: normal;
}

/* ── Alt başlık / yönerge — v68.3: ORTALI ── */
/* v68.52 — Ortalama pekiştirildi: display:block + width + margin:auto + text-align:center */
/* v68.54 — Font %50 küçültüldü: 1.05rem → 0.525rem */
/* v68.55 — Büyütüldü: 0.525rem → 1.1rem (yaklaşık 2x) */
.r-sub {
  font-family: var(--r-font-serif);
  font-size: 1.1rem;
  font-style: italic;
  color: var(--r-ink-dim);
  display: block;
  width: 100%;
  /* v83 — title'a yakın dursun */
  margin: 4px auto 0;
  max-width: 56ch;
  letter-spacing: .01em;
  line-height: 1.4;
  text-align: center;
  min-height: 1.4em;
  flex-shrink: 0;
}

/* ── Bölme çizgisi ── */
.r-divider {
  height: 1px;
  background: linear-gradient(90deg,
                transparent 0%,
                var(--r-line) 30%,
                var(--r-accent) 50%,
                var(--r-line) 70%,
                transparent 100%);
  margin: 4px 0;
}

/* ── Body alanı ── */
.r-body {
  flex: 1 1 auto;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 18px;
}

/* ──────────────────────────────────────────────────────────
   CEVAP — DEV TYPOGRAFİ (chat kutusu DEĞİL)
   Tüm modüller cevabı buraya basar, ortak stiller.
────────────────────────────────────────────────────────── */
.r-answer {
  font-family: var(--r-font-display);
  /* v68.35 — %20 küçültüldü: 5rem → 4rem, 2rem → 1.6rem, 7vw → 5.6vw */
  /* v68.51 — %30 küçültüldü: 4rem → 2.8rem, 1.6rem → 1.12rem, 5.6vw → 3.92vw */
  font-size: clamp(1.12rem, 3.92vw, 2.8rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: .02em;
  color: var(--r-ink);
  text-align: center;
  margin: 12px 0 8px;
  min-height: 1em;
  position: relative;
}

/* v68.51 — TAROT modülünde .r-answer hiç görünmesin.
   Tarot kendi okumasını (.r-tarot-reading) kullanır; kartlar açıldıktan
   sonra fade-in ile alttan çıkar. Üstte boş büyük tipografi yer kaplamasın. */
.ritual-stage[data-ritual="eyeofkaahin"] #rAnswer,
.ritual-stage[data-ritual="eyeofkaahin"] .r-answer {
  display: none !important;
}
.r-answer .r-accent { color: var(--r-accent); }
.r-answer.is-typing::after {
  content: '|';
  color: var(--r-accent);
  margin-left: 4px;
  animation: r-caret 0.9s steps(2) infinite;
}
@keyframes r-caret {
  0%, 50%   { opacity: 1; }
  51%, 100% { opacity: 0; }
}

.r-answer-sub {
  font-family: var(--r-font-serif);
  font-style: italic;
  /* v68.35 — %20 küçültüldü: 1.35 → 1.08, 1.8vw → 1.44vw */
  font-size: clamp(0.8rem, 1.44vw, 1.08rem);
  color: var(--r-ink-dim);
  text-align: center;
  margin: 0 auto;
  max-width: 60ch;
  line-height: 1.4;
}

/* ──────────────────────────────────────────────────────────
   FOOTER — sayı + kapatma ipucu
────────────────────────────────────────────────────────── */
/* ── v68.3 kaldırıldı: .r-foot artık DOM'da yok ── */


/* ──────────────────────────────────────────────────────────
   ÇIKIŞ BAR — sahnenin EN ALTINDA, ortalı
   [ Gerçeğe Dön  X ]   veya ESC
   v68.3 — Üst sağ köşe X'i kaldırıldı; tek birleşik buton.
────────────────────────────────────────────────────────── */
.r-exit-bar {
  /* v69.00 — SAĞ ÜST KÖŞE (eskiden alt-orta) */
  position: absolute;
  top: 16px;
  right: 18px;
  left: auto;
  bottom: auto;
  transform: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  z-index: 5;
  opacity: 0;
  transition: opacity 280ms ease 240ms;
}
.ritual-stage.is-open .r-exit-bar { opacity: 1; }

.r-foot-exit {
  /* v69.01 — X butonu da ESC kbd ile AYNI görünüm: kompakt kare pill */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 0;
  font-family: var(--r-font-mono);
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--r-ink-dim);
  background: rgba(8, 6, 10, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 4px 8px;
  cursor: pointer;
  transition: color 220ms ease, border-color 220ms ease, background 220ms ease;
  border-radius: 4px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  line-height: 1;
}
.r-foot-exit__label { display: none; }
.r-foot-exit__label {
  white-space: nowrap;
}
.r-foot-exit__x {
  /* v69.01 — ESC kbd ile aynı oluşum: içte sadece X glyph */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0;
  transition: color 220ms ease;
  padding: 0;
  margin: 0;
  color: var(--r-ink-dim);
}
.r-foot-exit:hover {
  border-color: rgba(233, 32, 56, 0.4);
  background: rgba(20, 8, 12, 0.7);
  color: var(--r-accent);
}
.r-foot-exit:hover .r-foot-exit__x { color: var(--r-accent); }
/* v68.33 — Hover'da sadece UFAK renk değişimi (transform yok, padding shift yok) */
.r-foot-exit:hover {
  color: var(--r-accent);
  background: transparent;
}
.r-foot-exit:hover .r-foot-exit__x {
  color: var(--r-accent);
}
.r-foot-exit:focus-visible {
  outline: 1px solid var(--r-accent);
  outline-offset: 4px;
}

/* v69.01 — sağ üst köşede pill'in içindeki "veya" yazısını gizle, sadece ESC kbd kalsın */
.r-exit-hint {
  font-family: var(--r-font-mono);
  font-size: 9px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--r-ink-mute);
  white-space: nowrap;
  user-select: none;
  /* "veya" kelimesini gizle — sadece <kbd>ESC</kbd> görünsün */
  font-size: 0 !important;
  letter-spacing: 0 !important;
}
.r-exit-hint kbd {
  font-family: var(--r-font-mono);
  font-size: 10px;
  padding: 4px 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(8, 6, 10, 0.55);
  color: var(--r-ink-dim);
  border-radius: 4px;
  margin-left: 0;
  letter-spacing: .22em;
  line-height: 1;
  display: inline-block;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* ──────────────────────────────────────────────────────────
   BUTON STİLLERİ — modüllerin kullandığı ortak butonlar
────────────────────────────────────────────────────────── */
.r-btn {
  font-family: var(--r-font-mono);
  font-size: 11px;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--r-ink);
  background: transparent;
  border: 1px solid var(--r-line);
  padding: 12px 22px;
  cursor: pointer;
  transition: all 220ms ease;
  border-radius: 0;
  position: relative;
  overflow: hidden;
}
.r-btn:hover {
  border-color: var(--r-accent);
  color: var(--r-accent);
  background: rgba(233, 32, 56, 0.08);
}
.r-btn--primary {
  background: var(--r-accent);
  border-color: var(--r-accent);
  color: #fff;
}
.r-btn--primary:hover {
  background: var(--r-accent-2);
  border-color: var(--r-accent-2);
  color: #fff;
  box-shadow: 0 0 18px var(--r-glow);
}
.r-btn--ghost {
  border-color: transparent;
  color: var(--r-ink-dim);
}
.r-btn--ghost:hover {
  border-color: var(--r-line);
  color: var(--r-ink);
  background: rgba(255, 255, 255, 0.04);
}

/* ── Input alanı (rüya / aşk falı için) ── */
.r-input {
  width: 100%;
  font-family: var(--r-font-serif);
  font-size: 1.2rem;
  font-style: italic;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--r-line);
  color: var(--r-ink);
  padding: 12px 4px;
  outline: none;
  transition: border-color 220ms ease;
  letter-spacing: .01em;
}
.r-input::placeholder {
  color: var(--r-ink-mute);
  font-style: italic;
}
.r-input:focus {
  border-bottom-color: var(--r-accent);
}

/* ══════════════════════════════════════════════════════════════════════
   v68.43 — RİTÜEL SAHNE ARKA PLANLARI (her modüle özel · siyah + kırmızı)
   ──────────────────────────────────────────────────────────────────────
   Her ritüelin kendine has atmosferi var ama hepsi SİYAH zemin üzerine
   farklı KIRMIZI tonları kullanır:
     • TAROT     → crimson + ember (mum ışığı kırmızısı)
     • KEHANET   → blood orb (kürede dönen kırmızı puslar)
     • NEFES     → ember pulse (yavaş nefes alan tek halka)
     • AURA      → multi-ring (3 katman parlak crimson halka)
     • YALAN     → split (sol koyu kırmızı / sağ parlak kırmızı)
     • APHORİZMA → ember vignette (alttan yükselen sıcak kırmızı duman)
     • RÜYA      → wine drift (yumuşak dağılan koyu şarap)
     • ORACLE    → scarlet beam (üstten net kırmızı ışın)
     • AŞK FALI  → twin hearts (iki dairesel pembe-kırmızı halo)
   ══════════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────────────
   ORTAK ANİMASYONLAR (tüm ritüeller paylaşır)
───────────────────────────────────────────────────── */
@keyframes r-bg-breathe {
  0%, 100% { opacity: .55; transform: scale(1); }
  50%      { opacity: .95; transform: scale(1.05); }
}
@keyframes r-bg-pulse-slow {
  0%, 100% { opacity: .50; }
  50%      { opacity: .90; }
}
@keyframes r-bg-shift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%      { transform: translate(8px, -6px) scale(1.04); }
}
@keyframes r-bg-spin-slow {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ───────────── 1. TAROT — crimson + ember (mum) ───────────── */
.ritual-stage[data-ritual="eyeofkaahin"] {
  background:
    radial-gradient(ellipse 65% 50% at 20% 20%, rgba(180, 14, 36, 0.40) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 82% 80%, rgba(110, 8, 22, 0.45) 0%, transparent 65%),
    radial-gradient(ellipse 35% 22% at 50% 4%, rgba(220, 60, 60, 0.10) 0%, transparent 70%),
    radial-gradient(ellipse at center, rgba(18, 4, 8, 0.92) 0%, rgba(2, 1, 2, 0.99) 80%) !important;
}
.ritual-stage[data-ritual="eyeofkaahin"]::before {
  background:
    radial-gradient(circle at 50% 50%,
      transparent 0%,    transparent 28%,
      rgba(220, 30, 50, 0.06) 30%, transparent 32%,
      transparent 42%,
      rgba(180, 20, 40, 0.05) 44%, transparent 46%,
      transparent 58%,
      rgba(140, 14, 28, 0.04) 60%, transparent 62%) !important;
  animation: r-bg-breathe 9s ease-in-out infinite !important;
}

/* ───────────── 2. KEHANET / KÜRE — v69.05: SADE arka plan ───────────── */
/* v69.05 — Önceki yoğun conic-spin + 3 katmanlı ateş efekti kaldırıldı.
   Sadece tek koyu radial + içeride yumuşak nefes alan tek halka kalıyor. */
.ritual-stage[data-ritual="sphere"] {
  background:
    radial-gradient(circle 45% at 50% 50%, rgba(120, 10, 24, 0.22) 0%, transparent 65%),
    radial-gradient(ellipse at center, rgba(10, 3, 5, 0.96) 0%, rgba(0, 0, 0, 0.99) 80%) !important;
}
.ritual-stage[data-ritual="sphere"]::before {
  background:
    radial-gradient(circle at 50% 50%,
      transparent 0%, transparent 38%,
      rgba(220, 30, 50, 0.05) 42%, transparent 48%,
      transparent 100%) !important;
  animation: r-bg-breathe 8s ease-in-out infinite !important;
  opacity: .9 !important;
}

/* ───────────── 3. NEFES SEANSI — ember pulse (yavaş tek halka) ───────────── */
.ritual-stage[data-ritual="meditation"] {
  background:
    radial-gradient(circle 50% at 50% 50%, rgba(140, 12, 28, 0.36) 0%, transparent 65%),
    radial-gradient(ellipse at center, rgba(12, 3, 5, 0.94) 0%, rgba(1, 0, 1, 0.99) 80%) !important;
}
.ritual-stage[data-ritual="meditation"]::before {
  background:
    radial-gradient(circle at 50% 50%,
      transparent 0%, transparent 35%,
      rgba(220, 30, 50, 0.07) 38%, transparent 42%,
      transparent 100%) !important;
  animation: r-bg-breathe 6s ease-in-out infinite !important;
}

/* ───────────── 4. AURA OKUMA — multi-ring crimson halkalar ───────────── */
.ritual-stage[data-ritual="spirit"] {
  background:
    radial-gradient(circle 55% at 50% 50%, rgba(160, 16, 34, 0.38) 0%, transparent 60%),
    radial-gradient(ellipse at center, rgba(10, 3, 5, 0.94) 0%, rgba(2, 0, 1, 0.99) 80%) !important;
}
.ritual-stage[data-ritual="spirit"]::before {
  background:
    radial-gradient(circle at 50% 50%,
      transparent 0%,  transparent 22%,
      rgba(240, 50, 70, 0.07) 24%, transparent 26%,
      transparent 36%,
      rgba(200, 30, 50, 0.06) 38%, transparent 40%,
      transparent 50%,
      rgba(160, 20, 38, 0.05) 52%, transparent 54%,
      transparent 64%,
      rgba(120, 12, 28, 0.04) 66%, transparent 68%) !important;
  animation: r-bg-breathe 7s ease-in-out infinite !important;
}

/* ───────────── 5. YALAN MAKİNESİ — split (sol koyu / sağ parlak) ───────────── */
.ritual-stage[data-ritual="eyeofkaahin2"] {
  background:
    radial-gradient(ellipse 55% 80% at 18% 50%, rgba(70, 6, 14, 0.55) 0%, transparent 70%),
    radial-gradient(ellipse 55% 80% at 82% 50%, rgba(220, 30, 50, 0.32) 0%, transparent 70%),
    linear-gradient(90deg, rgba(8, 2, 4, 0.98) 0%, rgba(2, 0, 1, 0.99) 50%, rgba(8, 2, 4, 0.98) 100%) !important;
}
.ritual-stage[data-ritual="eyeofkaahin2"]::before {
  background:
    linear-gradient(90deg,
      transparent 0%,
      transparent 49.5%,
      rgba(220, 30, 50, 0.20) 50%,
      transparent 50.5%,
      transparent 100%) !important;
  animation: r-bg-pulse-slow 4s ease-in-out infinite !important;
}

/* ───────────── 6. APHORİZMA (BAYKUŞ) — ember vignette alttan duman ───────────── */
.ritual-stage[data-ritual="owl"] {
  background:
    radial-gradient(ellipse 80% 50% at 50% 100%, rgba(160, 18, 36, 0.45) 0%, transparent 65%),
    radial-gradient(ellipse 60% 30% at 50% 0%, rgba(60, 6, 14, 0.50) 0%, transparent 70%),
    radial-gradient(ellipse at center, rgba(8, 2, 4, 0.95) 0%, rgba(1, 0, 0, 0.99) 80%) !important;
}
.ritual-stage[data-ritual="owl"]::before {
  background:
    radial-gradient(ellipse 70% 35% at 50% 95%,
      rgba(220, 40, 60, 0.10) 0%,
      rgba(180, 20, 40, 0.05) 40%,
      transparent 70%) !important;
  animation: r-bg-shift 11s ease-in-out infinite !important;
}

/* ───────────── 7. RÜYA YORUMU — wine drift (yumuşak dağılan şarap) ───────────── */
.ritual-stage[data-ritual="thirdeye"] {
  background:
    radial-gradient(ellipse 70% 55% at 30% 70%, rgba(100, 8, 24, 0.50) 0%, transparent 65%),
    radial-gradient(ellipse 55% 45% at 75% 25%, rgba(150, 12, 30, 0.35) 0%, transparent 70%),
    radial-gradient(ellipse at center, rgba(10, 3, 5, 0.94) 0%, rgba(1, 0, 1, 0.99) 80%) !important;
}
.ritual-stage[data-ritual="thirdeye"]::before {
  background:
    radial-gradient(ellipse 50% 40% at 30% 70%, rgba(200, 30, 50, 0.07) 0%, transparent 60%),
    radial-gradient(ellipse 40% 35% at 75% 25%, rgba(220, 40, 60, 0.06) 0%, transparent 60%) !important;
  animation: r-bg-shift 14s ease-in-out infinite !important;
  opacity: .8 !important;
}

/* ───────────── 8. ORACLE (EVET/HAYIR) — scarlet beam üstten ışın ───────────── */
.ritual-stage[data-ritual="oracle"] {
  background:
    radial-gradient(ellipse 60% 40% at 50% 0%, rgba(220, 30, 50, 0.32) 0%, transparent 65%),
    radial-gradient(ellipse 80% 50% at 50% 100%, rgba(40, 4, 10, 0.55) 0%, transparent 70%),
    radial-gradient(ellipse at center, rgba(8, 2, 4, 0.96) 0%, rgba(1, 0, 0, 0.99) 80%) !important;
}
.ritual-stage[data-ritual="oracle"]::before {
  background:
    linear-gradient(180deg,
      rgba(240, 40, 60, 0.08) 0%,
      rgba(180, 20, 40, 0.04) 35%,
      transparent 70%) !important;
  animation: r-bg-pulse-slow 5s ease-in-out infinite !important;
}

/* ───────────── 9. AŞK FALI — twin crimson hearts (iki kırmızı kalp halo) ───────────── */
.ritual-stage[data-ritual="kahinwoman"] {
  background:
    radial-gradient(circle 32% at 35% 45%, rgba(200, 30, 50, 0.34) 0%, transparent 60%),
    radial-gradient(circle 32% at 65% 55%, rgba(220, 40, 65, 0.34) 0%, transparent 60%),
    radial-gradient(ellipse at center, rgba(12, 3, 6, 0.94) 0%, rgba(2, 0, 1, 0.99) 80%) !important;
}
.ritual-stage[data-ritual="kahinwoman"]::before {
  background:
    radial-gradient(circle 18% at 35% 45%, rgba(240, 60, 90, 0.10) 0%, transparent 65%),
    radial-gradient(circle 18% at 65% 55%, rgba(240, 60, 90, 0.10) 0%, transparent 65%) !important;
  animation: r-bg-breathe 5s ease-in-out infinite !important;
}

/* ══════════════════════════════════════════════════════════════════════
   v68.46 — RİTÜELE ÖZGÜ ATMOSFER KATMANLARI
   Her ritüel için ::after katmanı + benzersiz hareket/simge
   ══════════════════════════════════════════════════════════════════════ */

/* 1) TAROT — yanan mum parıltısı + üç dikey kart silüeti */
.ritual-stage[data-ritual="eyeofkaahin"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    /* sol kart */
    linear-gradient(180deg, transparent 18%, rgba(220,30,50,0.05) 22%, rgba(220,30,50,0.05) 78%, transparent 82%) 18% 50% / 90px 70% no-repeat,
    /* orta kart */
    linear-gradient(180deg, transparent 14%, rgba(220,30,50,0.07) 18%, rgba(220,30,50,0.07) 82%, transparent 86%) 50% 50% / 110px 78% no-repeat,
    /* sağ kart */
    linear-gradient(180deg, transparent 18%, rgba(220,30,50,0.05) 22%, rgba(220,30,50,0.05) 78%, transparent 82%) 82% 50% / 90px 70% no-repeat;
  opacity: 0.5;
  mix-blend-mode: screen;
  animation: r-tarot-candle 5s ease-in-out infinite;
}
@keyframes r-tarot-candle {
  0%, 100% { opacity: 0.4; filter: blur(2px); }
  50%      { opacity: 0.7; filter: blur(0); }
}

/* v69.05 — Küre ritueli ::after KALDIRILDI (önceki büyük orb silueti + box-shadow
   kalabalık görünüyordu). Yerine sade, durağan, hafif merkez glow. */
.ritual-stage[data-ritual="sphere"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%,
      rgba(220, 30, 50, 0.08) 0%,
      transparent 35%);
  opacity: 0.7;
  mix-blend-mode: screen;
  animation: r-bg-breathe 8s ease-in-out infinite;
}

/* 3) NEFES — soft, kalın, dağılmış nefes halkaları (şafak gibi) */
.ritual-stage[data-ritual="meditation"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%,
      transparent 0%,    transparent 10%,
      rgba(220,30,50,0.22) 14%, transparent 22%,
      transparent 28%,
      rgba(200,25,45,0.18) 32%, transparent 40%,
      transparent 46%,
      rgba(180,20,40,0.14) 50%, transparent 58%,
      transparent 64%,
      rgba(160,15,32,0.10) 68%, transparent 76%);
  opacity: 0.85;
  mix-blend-mode: screen;
  filter: blur(8px);
  animation: r-breath-wave 9s ease-in-out infinite;
}
@keyframes r-breath-wave {
  0%, 100% { transform: scale(0.90); opacity: 0.55; filter: blur(10px); }
  50%      { transform: scale(1.08); opacity: 0.90; filter: blur(6px); }
}

/* 4) AURA — büyük soft 8-ışınlı ışık hüzmesi (conic) */
.ritual-stage[data-ritual="spirit"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    /* MERKEZ: 8-ışınlı conic halo (mandala yerine soft ışık hüzmeleri) */
    conic-gradient(from 0deg at 50% 50%,
      rgba(220,30,50,0.18) 0deg,    transparent 22deg,
      rgba(220,30,50,0.18) 45deg,   transparent 67deg,
      rgba(220,30,50,0.18) 90deg,   transparent 112deg,
      rgba(220,30,50,0.18) 135deg,  transparent 157deg,
      rgba(220,30,50,0.18) 180deg,  transparent 202deg,
      rgba(220,30,50,0.18) 225deg,  transparent 247deg,
      rgba(220,30,50,0.18) 270deg,  transparent 292deg,
      rgba(220,30,50,0.18) 315deg,  transparent 337deg,
      rgba(220,30,50,0.18) 360deg),
    /* merkez parlak nokta */
    radial-gradient(circle at 50% 50%, rgba(255,80,100,0.22) 0%, transparent 18%),
    /* dış halo */
    radial-gradient(circle at 50% 50%, transparent 30%, rgba(255,180,80,0.06) 38%, transparent 50%),
    /* parıltı noktaları */
    radial-gradient(circle 2px at 22% 28%, rgba(255,220,180,0.5), transparent 60%),
    radial-gradient(circle 1.5px at 78% 22%, rgba(255,180,220,0.4), transparent 60%),
    radial-gradient(circle 2px at 18% 78%, rgba(180,220,255,0.4), transparent 60%),
    radial-gradient(circle 1.5px at 84% 76%, rgba(255,200,150,0.5), transparent 60%),
    radial-gradient(circle 1.5px at 50% 14%, rgba(255,220,200,0.5), transparent 60%);
  mix-blend-mode: screen;
  filter: blur(6px);
  opacity: 0.75;
  animation: r-aura-shimmer 7s ease-in-out infinite;
}
@keyframes r-aura-shimmer {
  0%, 100% { opacity: 0.6; filter: blur(8px) hue-rotate(0deg); transform: rotate(0deg); }
  50%      { opacity: 0.9; filter: blur(4px) hue-rotate(-8deg); transform: rotate(6deg); }
}

/* 5) YALAN MAKİNESİ — büyük soft sorgu gözü silueti + tarama çizgisi */
.ritual-stage[data-ritual="eyeofkaahin2"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    /* MERKEZ: yatay oval göz silueti (badem şekli) — soft gradient */
    radial-gradient(ellipse 38% 14% at 50% 50%, rgba(220,30,50,0.22) 0%, rgba(220,30,50,0.10) 45%, transparent 75%),
    /* gözbebeği parlaması */
    radial-gradient(circle 4% at 50% 50%, rgba(255,80,100,0.35) 0%, transparent 70%),
    /* tarama çizgisi */
    linear-gradient(180deg,
      transparent 0%,
      transparent 48%,
      rgba(255,80,100,0.16) 49.5%,
      rgba(255,80,100,0.16) 50.5%,
      transparent 52%,
      transparent 100%);
  mix-blend-mode: screen;
  filter: blur(4px);
  opacity: 0.8;
  animation: r-truth-scan 3.5s linear infinite;
}
@keyframes r-truth-scan {
  0%   { background-position: 0 0, 0 -100%; }
  100% { background-position: 0 0, 0 200%; }
}

/* 6) BAYKUŞ / APHORİZMA — büyük oval baykuş yüz silueti + 2 soft göz parlaması */
.ritual-stage[data-ritual="owl"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    /* sol göz (büyük) */
    radial-gradient(circle 80px at 38% 38%, rgba(255,140,80,0.28) 0%, rgba(220,30,50,0.18) 35%, transparent 70%),
    /* sağ göz (büyük) */
    radial-gradient(circle 80px at 62% 38%, rgba(255,140,80,0.28) 0%, rgba(220,30,50,0.18) 35%, transparent 70%),
    /* yüz silueti (oval) */
    radial-gradient(ellipse 30% 38% at 50% 50%, rgba(220,30,50,0.10) 0%, transparent 65%),
    /* alttan yükselen duman */
    radial-gradient(ellipse 70% 30% at 50% 110%, rgba(120,12,28,0.30) 0%, transparent 70%);
  mix-blend-mode: screen;
  filter: blur(6px);
  opacity: 0.85;
  animation: r-owl-blink 7s ease-in-out infinite;
}
@keyframes r-owl-blink {
  0%, 88%, 100% { opacity: 0.85; filter: blur(6px); }
  92%           { opacity: 0.20; filter: blur(10px); }   /* göz kırpma */
  94%           { opacity: 0.85; filter: blur(6px); }
}

/* 7) RÜYA — büyük soft üçgen ışık + merkez parıltı (3. göz silueti) */
.ritual-stage[data-ritual="thirdeye"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    /* MERKEZ: üçgen silueti — 3 şal alttan yukarı daralan parlama */
    linear-gradient(to top right, transparent 48%, rgba(220,30,50,0.18) 50%, transparent 52%) 50% 50% / 400px 380px no-repeat,
    linear-gradient(to top left,  transparent 48%, rgba(220,30,50,0.18) 50%, transparent 52%) 50% 50% / 400px 380px no-repeat,
    linear-gradient(180deg, transparent 78%, rgba(220,30,50,0.18) 79%, rgba(220,30,50,0.18) 81%, transparent 82%) 50% 50% / 400px 380px no-repeat,
    /* merkez göz parıltısı */
    radial-gradient(ellipse 90px 40px at 50% 56%, rgba(255,80,100,0.28) 0%, transparent 70%),
    radial-gradient(circle 18px at 50% 56%, rgba(255,80,100,0.45) 0%, transparent 80%),
    /* kızıl sis (rüyanın dağıldığı bulutlar) */
    radial-gradient(ellipse 40% 30% at 65% 30%, rgba(180,30,50,0.10) 0%, transparent 60%),
    radial-gradient(ellipse 35% 25% at 30% 70%, rgba(140,20,40,0.10) 0%, transparent 60%),
    /* yıldızlar */
    radial-gradient(circle 1.5px at 12% 14%, rgba(255,240,200,0.7), transparent 60%),
    radial-gradient(circle 1px   at 28% 32%, rgba(255,255,220,0.6), transparent 60%),
    radial-gradient(circle 2px   at 78% 18%, rgba(255,230,180,0.75), transparent 60%),
    radial-gradient(circle 1.5px at 88% 38%, rgba(220,200,255,0.6), transparent 60%),
    radial-gradient(circle 1px   at 16% 58%, rgba(255,220,220,0.55), transparent 60%),
    radial-gradient(circle 1.5px at 70% 72%, rgba(255,200,160,0.65), transparent 60%),
    radial-gradient(circle 1px   at 42% 86%, rgba(255,240,210,0.55), transparent 60%),
    radial-gradient(circle 2px   at 92% 88%, rgba(255,220,180,0.7), transparent 60%);
  mix-blend-mode: screen;
  filter: blur(4px);
  opacity: 0.85;
  animation: r-dream-twinkle 6s ease-in-out infinite;
}
@keyframes r-dream-twinkle {
  0%, 100% { opacity: 0.85; filter: blur(5px); }
  50%      { opacity: 0.60; filter: blur(3px); }
}

/* 8) ORACLE — büyük soft daire silueti (kehanet mührü) + dikey ilahi ışın */
.ritual-stage[data-ritual="oracle"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    /* MERKEZ: büyük halka silueti */
    radial-gradient(circle at 50% 50%, transparent 35%, rgba(220,30,50,0.22) 41%, rgba(220,30,50,0.22) 43%, transparent 50%) 50% 50% / 480px 480px no-repeat,
    /* iç nokta */
    radial-gradient(circle 14px at 50% 50%, rgba(255,80,100,0.40) 0%, transparent 80%) 50% 50% / 480px 480px no-repeat,
    /* dikey ışın */
    linear-gradient(180deg,
      rgba(255,80,100,0.18) 0%,
      rgba(220,30,50,0.10) 25%,
      transparent 55%) 50% 0% / 220px 55% no-repeat,
    /* alt kemerler */
    radial-gradient(ellipse 30% 12% at 25% 100%, rgba(220,30,50,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 30% 12% at 75% 100%, rgba(220,30,50,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 36% 14% at 50% 100%, rgba(255,60,80,0.10) 0%, transparent 65%);
  mix-blend-mode: screen;
  filter: blur(4px);
  opacity: 0.8;
  animation: r-oracle-beam 6s ease-in-out infinite;
}
@keyframes r-oracle-beam {
  0%, 100% { opacity: 0.65; transform: scaleY(1);     filter: blur(5px); }
  50%      { opacity: 0.95; transform: scaleY(1.05);  filter: blur(2.5px); }
}

/* 9) AŞK FALI — iki büyük soft kalp halosu (parlayan iki yumru) + bağlayıcı ip */
.ritual-stage[data-ritual="kahinwoman"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    /* sol kalp — büyük soft halo */
    radial-gradient(circle 160px at 32% 50%, rgba(255,80,120,0.25) 0%, rgba(220,30,50,0.12) 35%, transparent 75%),
    /* sağ kalp — büyük soft halo */
    radial-gradient(circle 160px at 68% 50%, rgba(255,80,120,0.25) 0%, rgba(220,30,50,0.12) 35%, transparent 75%),
    /* iki kalbi bağlayan ince kırmızı yatay çizgi */
    linear-gradient(90deg, transparent 30%, rgba(255,80,100,0.22) 50%, transparent 70%) 0 50% / 100% 2px no-repeat,
    /* sol kalp parıltısı */
    radial-gradient(circle 80px at 35% 50%, rgba(255,80,120,0.16) 0%, transparent 70%),
    /* sağ kalp parıltısı */
    radial-gradient(circle 80px at 65% 50%, rgba(255,80,120,0.16) 0%, transparent 70%);
  mix-blend-mode: screen;
  filter: blur(2px);
  opacity: 0.85;
  animation: r-love-pulse 1.4s ease-in-out infinite;
}
@keyframes r-love-pulse {
  0%, 100% { opacity: 0.65; transform: scale(1);     filter: blur(8px); }
  20%      { opacity: 0.95; transform: scale(1.04);  filter: blur(4px); }
  40%      { opacity: 0.70; transform: scale(1);     filter: blur(8px); }
  60%      { opacity: 0.95; transform: scale(1.04);  filter: blur(4px); }
}

/* ══════════════════════════════════════════════════════════════════════
   MODÜL — 1. TAROT  (Past / Present / Future)
   ────────────────────────────────────────────────────────────────────── */
.r-tarot-deck {
  display: flex;
  justify-content: center;
  gap: 22px;
  margin: 28px auto;
  perspective: 1400px;
}
/* v68.33 — Kartlar daha büyük: 170×280 → 210×340 */
/* v68.36 — %20 küçültüldü: 210×340 → 168×272 */
.r-tarot-card {
  width: 168px;
  height: 272px;
  position: relative;
  cursor: pointer;
  transform-style: preserve-3d;
  transition: transform 700ms cubic-bezier(.22, 1, .36, 1);
}
.r-tarot-card.is-flipped {
  transform: rotateY(180deg);
}
/* v84 — FALSE START · kart yarıya kadar açılır, sonra fikir değiştirir */
.r-tarot-card.is-fakeflip {
  transform: rotateY(85deg);
  transition: transform 320ms cubic-bezier(.22, 1, .36, 1);
}
.r-tarot-card.is-fakeflip-back {
  transform: rotateY(0deg);
  transition: transform 260ms cubic-bezier(.4, 0, .2, 1);
}
.r-tarot-card.is-locked {
  cursor: default;
  pointer-events: none;
}
.r-tarot-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px;
  background: #0a0508;
  border: 1px solid var(--r-line);
  text-align: center;
  overflow: hidden;
}
/* v68.33 — Kart arkası: mistik dolu desen — çift çerçeve + iç yanıcı desen */
.r-tarot-back {
  background:
    radial-gradient(circle at 30% 20%, rgba(233, 32, 56, 0.22) 0%, transparent 50%),
    radial-gradient(circle at 70% 80%, rgba(180, 30, 56, 0.18) 0%, transparent 55%),
    linear-gradient(135deg, #1d0810 0%, #060205 100%);
  border-color: rgba(233, 32, 56, 0.55);
  box-shadow:
    inset 0 0 24px rgba(233, 32, 56, 0.18),
    0 6px 22px rgba(0,0,0,0.55);
}
.r-tarot-back::before {
  content: '';
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(233, 32, 56, 0.40);
  background:
    radial-gradient(circle at center, rgba(233, 32, 56, 0.16) 0%, transparent 65%);
}
.r-tarot-back::after {
  content: '';
  position: absolute;
  inset: 18px;
  border: 1px dashed rgba(233, 32, 56, 0.22);
  pointer-events: none;
}
.r-tarot-back-sigil {
  position: relative;
  z-index: 1;
  font-family: var(--r-font-display);
  font-size: 3.04rem;
  color: var(--r-accent);
  text-shadow:
    0 0 18px var(--r-glow),
    0 0 36px rgba(233, 32, 56, 0.45);
  letter-spacing: -0.05em;
  animation: r-sigil-rotate 6s linear infinite;
}
@keyframes r-sigil-rotate {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
/* v68.33 — Kart önü: mistik dolu, içerik ORTADA */
.r-tarot-front {
  background:
    radial-gradient(circle at 50% 18%, rgba(233, 32, 56, 0.22) 0%, transparent 55%),
    radial-gradient(circle at 50% 100%, rgba(140, 20, 36, 0.18) 0%, transparent 50%),
    linear-gradient(180deg, #150509 0%, #060204 100%);
  border-color: rgba(233, 32, 56, 0.65);
  transform: rotateY(180deg);
  gap: 14px;
  justify-content: center;
  box-shadow:
    inset 0 0 28px rgba(233, 32, 56, 0.18),
    inset 0 0 0 1px rgba(255, 200, 210, 0.04);
}
.r-tarot-front::before {
  content: '';
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(233, 32, 56, 0.30);
  pointer-events: none;
}
.r-tarot-front::after {
  content: '';
  position: absolute;
  inset: 18px;
  border: 1px dashed rgba(233, 32, 56, 0.18);
  pointer-events: none;
}
/* Roma rakamı — büyük ve görünür */
.r-tarot-front .r-tc-rune {
  position: relative;
  z-index: 2;
  font-family: var(--r-font-display);
  font-size: 2.72rem;
  font-weight: 600;
  color: var(--r-accent);
  line-height: 1;
  text-shadow:
    0 0 14px rgba(233, 32, 56, 0.65),
    0 0 28px rgba(233, 32, 56, 0.35);
  letter-spacing: -0.02em;
}
/* Kart ismi — ortada, büyük, gerekirse 2 satır */
.r-tarot-front .r-tc-name {
  position: relative;
  z-index: 2;
  font-family: var(--r-font-display);
  font-size: 1.08rem;
  font-weight: 500;
  letter-spacing: .14em;
  color: var(--r-ink);
  text-transform: uppercase;
  line-height: 1.18;
  text-align: center;
  max-width: 92%;
  word-break: break-word;
  white-space: normal;
  text-shadow: 0 0 10px rgba(233, 32, 56, 0.25);
}
/* Pozisyon etiketi — alt sınırda kalır */
.r-tarot-front .r-tc-pos {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  font-family: var(--r-font-mono);
  font-size: 7px;
  letter-spacing: .35em;
  color: var(--r-ink-mute);
  text-transform: uppercase;
  padding-top: 8px;
  border-top: 1px solid rgba(233, 32, 56, 0.30);
  width: 60%;
  text-align: center;
}
.r-tarot-card:hover:not(.is-flipped):not(.is-locked) {
  transform: translateY(-8px);
}
.r-tarot-card:hover:not(.is-flipped):not(.is-locked) .r-tarot-back {
  border-color: var(--r-accent);
  box-shadow: 0 12px 32px rgba(0,0,0,0.6), 0 0 28px var(--r-glow);
}

/* Tarot reading sonuç */
.r-tarot-reading {
  max-width: 640px;
  margin: 8px auto 0;
  font-family: var(--r-font-serif);
  /* v68.35 — %20 küçültüldü: 1.1 → 0.88rem */
  /* v68.36 — %20 büyütüldü: 0.88 → 1.056rem · renk beyaz */
  font-size: 1.056rem;
  font-style: italic;
  line-height: 1.55;
  color: #fff;
  text-align: center;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 480ms ease 200ms, transform 480ms ease 200ms;
}
.r-tarot-reading.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ══════════════════════════════════════════════════════════════════════
   MODÜL — 2. APHORISM  (Owl)
   ────────────────────────────────────────────────────────────────────── */
.r-aphorism {
  text-align: center;
  padding: 20px 0;
}
.r-aphorism-mark {
  font-family: var(--r-font-display);
  font-size: 6rem;
  color: var(--r-accent);
  line-height: 1;
  opacity: 0.65;
  text-shadow: 0 0 22px var(--r-glow);
}

/* ══════════════════════════════════════════════════════════════════════
   MODÜL — 3. PROPHECY  (Sphere — v69.07: yeniden tasarım, cam küre + iç sis)
   Mobilde küçülmesin → sabit 220px (240 yerine), mobile-friendly,
   min-width ile dikey daraltmaya direnir.
   ────────────────────────────────────────────────────────────────────── */
.r-sphere {
  width: 220px;
  height: 220px;
  min-width: 220px;
  min-height: 220px;
  margin: 0 auto;
  border-radius: 50%;
  position: relative;
  /* v69.07 — Yeni: cam görünüm + iç merkez ışık + alttan koyu (3D) */
  background:
    radial-gradient(circle at 38% 30%,
      rgba(255, 220, 230, 0.32) 0%,
      rgba(255, 80, 100, 0.18) 10%,
      transparent 35%),
    radial-gradient(circle at 50% 55%,
      rgba(233, 32, 56, 0.22) 0%,
      rgba(60, 4, 12, 0.85) 45%,
      rgba(0, 0, 0, 1) 85%);
  box-shadow:
    inset 0 0 50px rgba(0, 0, 0, 0.7),
    inset -30px -30px 60px rgba(0, 0, 0, 0.55),
    inset 30px 30px 40px rgba(233, 32, 56, 0.08),
    0 0 60px rgba(233, 32, 56, 0.28),
    0 0 120px rgba(233, 32, 56, 0.12);
  animation: r-sphere-orbit 6s ease-in-out infinite;
  flex-shrink: 0;
  overflow: hidden;
}
@keyframes r-sphere-orbit {
  0%, 100% {
    box-shadow:
      inset 0 0 50px rgba(0, 0, 0, 0.7),
      inset -30px -30px 60px rgba(0, 0, 0, 0.55),
      inset 30px 30px 40px rgba(233, 32, 56, 0.08),
      0 0 60px rgba(233, 32, 56, 0.28),
      0 0 120px rgba(233, 32, 56, 0.12);
  }
  50% {
    box-shadow:
      inset 0 0 60px rgba(0, 0, 0, 0.7),
      inset -30px -30px 60px rgba(0, 0, 0, 0.55),
      inset 30px 30px 50px rgba(233, 32, 56, 0.18),
      0 0 90px rgba(233, 32, 56, 0.45),
      0 0 180px rgba(233, 32, 56, 0.22);
  }
}
/* v69.07 — Yeni: iç sis (yavaşça dönen yumuşak parıltı) */
.r-sphere::before {
  content: '';
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 40%, rgba(255, 180, 200, 0.22) 0%, transparent 35%),
    radial-gradient(circle at 70% 60%, rgba(255, 100, 130, 0.16) 0%, transparent 40%);
  filter: blur(8px);
  animation: r-sphere-mist 14s linear infinite;
  mix-blend-mode: screen;
}
@keyframes r-sphere-mist {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
/* v69.07 — üst parlama (cam küre yansıması) */
.r-sphere::after {
  content: '';
  position: absolute;
  top: 12%;
  left: 22%;
  width: 38%;
  height: 22%;
  border-radius: 50%;
  background: radial-gradient(ellipse at center,
    rgba(255, 240, 245, 0.32) 0%,
    rgba(255, 240, 245, 0.08) 35%,
    transparent 70%);
  filter: blur(4px);
  pointer-events: none;
}

/* ══════════════════════════════════════════════════════════════════════
   MODÜL — 4. BREATH SESSION  (Meditation — v69.07: yeniden tasarım)
   Yumuşak ışıklı çiçek nefesi: 3 katman halka + iç parıltı.
   Mobilde sabit 220px, küçülmez.
   ────────────────────────────────────────────────────────────────────── */
.r-breath-ring {
  width: 220px;
  height: 220px;
  min-width: 220px;
  min-height: 220px;
  margin: 24px auto;
  border-radius: 50%;
  border: 1px solid rgba(233, 32, 56, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  /* v69.07 — Yeni: iç dolgu radial gradient + dış glow */
  background:
    radial-gradient(circle at center,
      rgba(233, 32, 56, 0.18) 0%,
      rgba(233, 32, 56, 0.06) 40%,
      transparent 70%);
  box-shadow:
    0 0 40px rgba(233, 32, 56, 0.32),
    inset 0 0 30px rgba(233, 32, 56, 0.18);
  transform: scale(0.6);
  transition: transform 4s cubic-bezier(.4, 0, .6, 1),
              box-shadow 4s cubic-bezier(.4, 0, .6, 1),
              border-color 4s ease;
}
/* v69.07 — Dış halkalar: iki ekstra katman, faz değişiminde çiçek gibi açılır */
.r-breath-ring::before,
.r-breath-ring::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  transition: inherit;
}
.r-breath-ring::before {
  inset: -16px;
  border: 1px solid rgba(233, 32, 56, 0.22);
  opacity: 0.7;
}
.r-breath-ring::after {
  inset: -32px;
  border: 1px solid rgba(233, 32, 56, 0.12);
  opacity: 0.4;
}
.r-breath-ring.phase-in {
  transform: scale(1);
  box-shadow: 0 0 70px rgba(233, 32, 56, 0.55), inset 0 0 40px rgba(233, 32, 56, 0.3);
  border-color: rgba(255, 80, 100, 0.85);
}
.r-breath-ring.phase-hold {
  transform: scale(1);
  box-shadow: 0 0 90px rgba(255, 220, 230, 0.35), inset 0 0 50px rgba(255, 220, 230, 0.2);
  border-color: rgba(255, 220, 230, 0.7);
  transition-duration: 4s;
}
.r-breath-ring.phase-out {
  transform: scale(0.55);
  box-shadow: 0 0 25px rgba(233, 32, 56, 0.22), inset 0 0 15px rgba(233, 32, 56, 0.12);
  border-color: rgba(233, 32, 56, 0.4);
  transition-duration: 6s;
}
.r-breath-ring.phase-rest {
  transform: scale(0.55);
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.1), inset 0 0 10px rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.25);
  transition-duration: 2s;
}
.r-breath-label {
  font-family: var(--r-font-display);
  font-size: 1.5rem;
  letter-spacing: .3em;
  color: var(--r-ink);
  text-transform: uppercase;
}
.r-breath-counter {
  text-align: center;
  font-family: var(--r-font-mono);
  font-size: 11px;
  letter-spacing: .3em;
  color: var(--r-ink-mute);
  margin-top: -12px;
}

/* ══════════════════════════════════════════════════════════════════════
   MODÜL — 5. AŞK FALI  (Kahinwoman)
   ────────────────────────────────────────────────────────────────────── */
.r-love-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 480px;
  margin: 8px auto 0;
  align-items: stretch;
}
.r-love-pair {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
}
.r-love-amp {
  font-family: var(--r-font-display);
  font-size: 2rem;
  color: var(--r-accent);
}
.r-love-score {
  font-family: var(--r-font-display);
  font-size: clamp(4rem, 12vw, 8rem);
  font-weight: 500;
  color: var(--r-accent);
  text-align: center;
  line-height: 1;
  text-shadow: 0 0 28px var(--r-glow);
}
.r-love-score-pct {
  font-size: 0.4em;
  color: var(--r-ink-dim);
  margin-left: 6px;
}

/* ══════════════════════════════════════════════════════════════════════
   MODÜL — 6. RÜYA YORUMU  (Third Eye)
   ────────────────────────────────────────────────────────────────────── */
.r-dream-keys {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}
.r-dream-key {
  font-family: var(--r-font-mono);
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding: 4px 10px;
  border: 1px solid var(--r-accent);
  background: rgba(233, 32, 56, 0.1);
  color: var(--r-accent);
}

/* ══════════════════════════════════════════════════════════════════════
   MODÜL — 7. YALAN MAKİNESİ  (Eye 2)
   ────────────────────────────────────────────────────────────────────── */
.r-truth-meter {
  position: relative;
  width: 100%;
  max-width: 520px;
  height: 4px;
  margin: 24px auto;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.r-truth-meter-fill {
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 0%;
  background: linear-gradient(90deg, #fff, var(--r-accent));
  transition: width 1.6s cubic-bezier(.22, 1, .36, 1);
  box-shadow: 0 0 12px var(--r-glow);
}
.r-truth-scan {
  position: relative;
  height: 80px;
  margin: 12px 0;
  overflow: hidden;
  background: rgba(0,0,0,.4);
  border-top: 1px solid var(--r-line);
  border-bottom: 1px solid var(--r-line);
}
.r-truth-scan-line {
  position: absolute;
  left: 0; right: 0;
  height: 1px;
  background: var(--r-accent);
  box-shadow: 0 0 12px var(--r-accent), 0 0 24px var(--r-glow);
  top: 0;
  animation: r-truth-scan 1.6s linear;
}
@keyframes r-truth-scan {
  0%   { top: 0;    opacity: 0; }
  10%  { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

/* ══════════════════════════════════════════════════════════════════════
   MODÜL — 8. AURA  (Spirit)
   ────────────────────────────────────────────────────────────────────── */
.r-aura {
  width: 260px;
  height: 260px;
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.r-aura-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid var(--r-accent);
  opacity: 0;
  animation: r-aura-pulse 3s ease-out infinite;
}
.r-aura-ring:nth-child(2) { animation-delay: 1s; }
.r-aura-ring:nth-child(3) { animation-delay: 2s; }
@keyframes r-aura-pulse {
  0%   { transform: scale(0.4); opacity: 0.8; }
  100% { transform: scale(1.3); opacity: 0; }
}
.r-aura-core {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0%, var(--r-accent) 40%, #100 90%);
  box-shadow: 0 0 50px var(--r-glow);
  animation: r-aura-breathe 2.5s ease-in-out infinite;
}
@keyframes r-aura-breathe {
  0%, 100% { transform: scale(1);   box-shadow: 0 0 50px var(--r-glow); }
  50%      { transform: scale(1.1); box-shadow: 0 0 80px rgba(255, 255, 255, 0.4); }
}
.r-aura-color-tag {
  font-family: var(--r-font-mono);
  font-size: 10px;
  letter-spacing: .42em;
  color: var(--r-accent);
  text-transform: uppercase;
  text-align: center;
  margin-top: 18px;
}

/* ══════════════════════════════════════════════════════════════════════
   MODÜL — 9. ORACLE  (EVET / HAYIR + GEREKÇE)
   ────────────────────────────────────────────────────────────────────── */
.r-oracle-verdict {
  font-family: var(--r-font-display);
  font-size: clamp(4rem, 12vw, 9rem);
  font-weight: 600;
  letter-spacing: .08em;
  text-align: center;
  line-height: 1;
  color: var(--r-accent);
  text-shadow: 0 0 32px var(--r-glow);
  margin: 16px 0;
}
.r-oracle-verdict.is-no { color: var(--r-ink); }

/* ──────────────────────────────────────────────────────────
   MOBİL UYUM
────────────────────────────────────────────────────────── */
@media (max-width: 720px) {
  .ritual-frame {
    width: 96vw;
    padding: 24px 20px 20px;
    gap: 18px;
    max-height: 86vh;
    margin-bottom: 64px;
    overflow-y: auto;
  }
  /* v68.3 — Alt kapatma çubuğu mobil uyarlamaları */
  .r-exit-bar { top: 10px; right: 10px; gap: 6px; }
  .r-foot-exit {
    font-size: 10px;
    letter-spacing: .28em;
    padding: 8px 12px 8px 16px;
    gap: 10px;
  }
  .r-foot-exit__x {
    width: 18px; height: 18px;
    padding-left: 10px;
    font-size: 12px;
  }
  /* Mobilde ESC ipucunu gizle — fiziksel klavye yok */
  .r-exit-hint { display: none; }
  .r-tarot-deck { gap: 10px; }
  .r-tarot-card { width: 96px; height: 158px; }
  .r-tarot-back-sigil { font-size: 2rem; }
  .r-tarot-front .r-tc-rune { font-size: 1.6rem; }
  .r-tarot-front .r-tc-name { font-size: .7rem; }
  .r-aphorism-mark { font-size: 4rem; }
  .r-sphere { width: 180px; height: 180px; }
  .r-breath-ring { width: 170px; height: 170px; }
  .r-aura { width: 200px; height: 200px; }
  .r-aura-core { width: 70px; height: 70px; }
  .r-love-pair { grid-template-columns: 1fr; gap: 8px; }
  .r-love-amp { text-align: center; }
}

/* ──────────────────────────────────────────────────────────
   REDUCED MOTION
────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .ritual-frame, .ritual-stage,
  .r-tarot-card, .r-sphere, .r-breath-ring,
  .r-aura-core, .r-aura-ring, .r-tarot-back-sigil {
    animation: none !important;
    transition-duration: 200ms !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   v68.33 — SHAPE BADGE + WORD STREAM
   - Her ritual penceresinin üstünde hangi şekle basıldıysa o şekil
     küçük kutu içinde görünür.
   - Tüm modüllerde typewriter yerine kelime kelime bulanık fade-in.
═══════════════════════════════════════════════════════════════════════ */

/* v68.34 — Şekil rozeti: SAĞ RAIL BOX İLE BİREBİR AYNI siyah kutu stili
   (rail-icon: rgba(8,6,10,.85) bg + ince beyaz border + iç highlight) */
.r-shape-badge {
  /* v69.02 — RITÜEL 8'LI KUTU ile birebir AYNI yapı:
     padding 6px + içeride object-fit:contain + opacity .85 */
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(61px, 7.2vh, 83px);
  height: clamp(61px, 7.2vh, 83px);
  margin: 0 auto 6px;
  padding: 6px;
  box-sizing: border-box;
  background: rgba(8, 6, 10, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    0 4px 12px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  position: relative;
  animation: r-shape-badge-in 600ms cubic-bezier(.22, 1, .36, 1) both;
}
.r-shape-badge img {
  /* v69.02 — RITÜEL 8'LI KUTU img ile birebir AYNI:
     width:100%, height:auto, contain, opacity .85, brightness .95 */
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
  opacity: 0.85;
  filter: contrast(1.1) brightness(0.95);
}
@keyframes r-shape-badge-in {
  0%   { opacity: 0; transform: translateY(-8px) scale(0.92); filter: blur(6px); }
  100% { opacity: 1; transform: translateY(0)    scale(1);    filter: blur(0); }
}

/* ──────────────────────────────────────────────────────────
   v86 — MİSTİK WORD STREAM
   Kelimeler daha derin bulanıklıkla, hafif salınımla,
   uzun bir transition ile gelir. Sis perdesi açılır gibi.
────────────────────────────────────────────────────────── */
.r-word-stream .r-word {
  display: inline-block;
  opacity: 0;
  filter: blur(14px) saturate(0.4);
  transform: translateY(8px) scale(0.96);
  letter-spacing: 0.04em;
  transition:
    opacity       880ms cubic-bezier(.16, .8, .24, 1),
    filter        980ms cubic-bezier(.16, .8, .24, 1),
    transform     880ms cubic-bezier(.22, 1, .36, 1),
    letter-spacing 880ms ease-out;
  will-change: opacity, filter, transform;
}
.r-word-stream .r-word.is-in {
  opacity: 1;
  filter: blur(0) saturate(1);
  transform: translateY(0) scale(1);
  letter-spacing: 0;
}
/* Hafif nefes — gelirken minik bir titreşim/parlama */
.r-word-stream .r-word.is-in {
  animation: r-word-breath 1600ms ease-out 1;
}
@keyframes r-word-breath {
  0%   { text-shadow: 0 0 0 rgba(233, 200, 200, 0); }
  35%  { text-shadow: 0 0 14px rgba(233, 200, 200, 0.18); }
  100% { text-shadow: 0 0 0 rgba(233, 200, 200, 0); }
}
/* Caret kapalı */
.r-word-stream.is-typing::after,
.is-typing.r-word-stream::after { content: none !important; }

/* ──────────────────────────────────────────────────────────
   v86 — TAROT KART MOBİL KÜÇÜLTME
   Masaüstü 168×272 → mobilde 100×164 (≈ %60), gap daralır.
────────────────────────────────────────────────────────── */
@media (max-width: 720px) {
  .r-tarot-deck {
    gap: 10px;
    margin: 18px auto 14px;
  }
  .r-tarot-card {
    width: 100px;
    height: 164px;
  }
  .r-tarot-front .r-tc-rune {
    font-size: 1.6rem !important;
  }
  .r-tarot-front .r-tc-name {
    font-size: 0.72rem !important;
    letter-spacing: 0.14em !important;
  }
  .r-tarot-front .r-tc-pos {
    font-size: 6px;
    letter-spacing: .28em;
    bottom: 10px;
    padding-top: 5px;
    width: 70%;
  }
}
@media (max-width: 420px) {
  .r-tarot-deck { gap: 7px; }
  .r-tarot-card {
    width: 88px;
    height: 144px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .r-word-stream .r-word {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   v86 — EXPORT BAR (İndir + Paylaş)
   Artık ritual-frame'in DIŞINDA, ritual-stage'in alt kenarına sabit.
   Frame scroll yapsa bile bar hep en altta kalır.
   ════════════════════════════════════════════════════════════════════ */
.r-export-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.65) 40%,
    rgba(0, 0, 0, 0.92) 100%);
  z-index: 4;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity 460ms ease-out, transform 460ms cubic-bezier(.22,1,.36,1);
}
.r-export-bar.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.r-export-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: rgba(20, 8, 12, 0.72);
  border: 1px solid rgba(233, 32, 56, 0.4);
  color: rgba(255, 230, 220, 0.92);
  border-radius: 999px;
  font: 600 12px/1 "JetBrains Mono", monospace;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: background 220ms ease, border-color 220ms ease, transform 220ms ease;
}
.r-export-btn:hover {
  background: rgba(60, 14, 22, 0.92);
  border-color: rgba(233, 32, 56, 0.85);
  transform: translateY(-1px);
}
.r-export-btn:active { transform: translateY(0); }
.r-export-btn i { font-size: 13px; }
.r-export-hint {
  margin-left: 10px;
  font: 500 11px/1 "JetBrains Mono", monospace;
  letter-spacing: 0.08em;
  color: rgba(255, 220, 220, 0.7);
  opacity: 0;
  transition: opacity 240ms ease;
}
.r-export-hint.is-show { opacity: 1; }

/* ════════════════════════════════════════════════════════════════════
   v68.47 — LIMIT KARTI (sistem uyarı estetiği)
   Ritüel cevabıyla karışmasın diye TAMAMEN farklı dil:
   - Mono font, dar harf aralığı
   - Belirgin kart border + üst durum çubuğu
   - Tek bir bilgi ikonu (✦ değil — uyarı çemberi)
   - Kırmızı aksent değil, soğuk-amber/krem aksent
   ════════════════════════════════════════════════════════════════════ */
.r-limit-card {
  margin: 18px auto 8px;
  max-width: 540px;
  background:
    linear-gradient(180deg, rgba(20, 12, 14, 0.92) 0%, rgba(12, 6, 8, 0.96) 100%);
  border: 1px solid rgba(255, 200, 160, 0.22);
  border-radius: 14px;
  box-shadow:
    inset 0 1px 0 rgba(255, 200, 160, 0.06),
    0 18px 60px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 200, 160, 0.04);
  padding: 0 0 22px;
  overflow: hidden;
  position: relative;
  animation: r-limit-card-in 520ms cubic-bezier(.22, 1, .36, 1) both;
}
.r-limit-card::before {
  /* ince köşegen tarama deseni → uyarı / kilit hissi */
  content: '';
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(135deg,
      transparent 0px, transparent 14px,
      rgba(255, 200, 160, 0.025) 14px, rgba(255, 200, 160, 0.025) 15px);
  pointer-events: none;
}
@keyframes r-limit-card-in {
  0%   { opacity: 0; transform: translateY(10px) scale(0.97); filter: blur(4px); }
  100% { opacity: 1; transform: translateY(0)    scale(1);    filter: blur(0); }
}

/* Üst durum şeridi */
.r-limit-card__bar {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: rgba(0, 0, 0, 0.45);
  border-bottom: 1px solid rgba(255, 200, 160, 0.12);
  font: 600 10px/1 "JetBrains Mono", ui-monospace, Menlo, monospace;
  letter-spacing: 0.22em;
  color: rgba(255, 220, 200, 0.62);
  text-transform: uppercase;
}
.r-limit-card__dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #e6b070;
  box-shadow: 0 0 8px rgba(230, 176, 112, 0.85);
  animation: r-limit-dot 1.6s ease-in-out infinite;
}
@keyframes r-limit-dot {
  0%, 100% { opacity: 0.35; }
  50%      { opacity: 1; }
}
.r-limit-card__tag { flex: 1; }
.r-limit-card__code {
  color: rgba(255, 220, 200, 0.42);
  letter-spacing: 0.18em;
}

/* İkon */
.r-limit-card__icon {
  display: flex;
  justify-content: center;
  margin: 22px auto 8px;
  color: rgba(230, 176, 112, 0.85);
}

/* Başlık */
.r-limit-card__heading {
  text-align: center;
  font: 700 11px/1.2 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: 0.34em;
  color: rgba(255, 220, 200, 0.85);
  text-transform: uppercase;
  padding: 0 22px;
  margin-bottom: 16px;
}

/* Ana mesaj — özellikle ritüel cevabından farklı:
   Cormorant / italic DEĞİL, sade sans-serif, küçük punto */
.r-limit-card__main {
  text-align: center;
  font: 500 17px/1.55 "Helvetica Neue", "Inter", Arial, sans-serif;
  color: rgba(255, 240, 230, 0.95);
  padding: 0 28px;
  letter-spacing: 0.01em;
  min-height: 1.55em;
}

/* Alt çağrı — soluk, daha küçük */
.r-limit-card__sub {
  margin-top: 10px;
  text-align: center;
  font: 400 14px/1.5 "Helvetica Neue", "Inter", Arial, sans-serif;
  color: rgba(230, 200, 180, 0.7);
  font-style: italic;
  padding: 0 28px;
  min-height: 1.5em;
}

/* Alt meta çubuk */
.r-limit-card__foot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  padding: 12px 16px 0;
  border-top: 1px dashed rgba(255, 200, 160, 0.14);
  margin-left: 16px;
  margin-right: 16px;
  font: 500 10px/1 "JetBrains Mono", monospace;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 220, 200, 0.5);
}
.r-limit-card__foot strong { color: rgba(255, 220, 200, 0.85); font-weight: 700; }
.r-limit-card__sep { opacity: 0.4; }

/* Limit kilidi: ritüel başlığı/sub/eyebrow/badge/divider hep gizli;
   export bar gizli; arka plan da hafif kararsın */
.ritual-stage.is-limit-locked::after { opacity: 0.35 !important; }
.ritual-stage.is-limit-locked .r-export-bar { display: none !important; }
.ritual-stage.is-limit-locked .r-shape-badge,
.ritual-stage.is-limit-locked .r-eyebrow,
.ritual-stage.is-limit-locked .r-title,
.ritual-stage.is-limit-locked .r-sub,
.ritual-stage.is-limit-locked .r-divider { display: none !important; }
.ritual-stage.is-limit-locked .ritual-frame { padding-top: 50px; }

/* ════════════════════════════════════════════════════════════════════
   v82 — AYNA RİTÜELİ ('meditation' slot)
   Eski FAL TAŞLARI kaldırıldı (popover olarak input üstüne taşındı).
   ════════════════════════════════════════════════════════════════════ */
.r-mirror {
  position: relative;
  width: 240px;
  height: 240px;
  margin: 20px auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.r-mirror-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(233, 32, 56, 0.55);
  box-shadow:
    0 0 32px rgba(233, 32, 56, 0.18),
    inset 0 0 32px rgba(233, 32, 56, 0.10);
  animation: r-mirror-ring-pulse 3.2s ease-in-out infinite;
}
@keyframes r-mirror-ring-pulse {
  0%, 100% { transform: scale(1);    opacity: 0.85; }
  50%      { transform: scale(1.03); opacity: 1; }
}
.r-mirror-glass {
  position: absolute;
  inset: 16px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.08) 0%, transparent 45%),
    radial-gradient(circle at center, rgba(60, 18, 28, 0.7) 0%, rgba(10, 4, 8, 0.95) 70%);
  border: 1px solid rgba(255, 255, 255, 0.06);
  overflow: hidden;
  box-shadow: inset 0 0 24px rgba(0, 0, 0, 0.6);
}
.r-mirror-shine {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 60%;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(255, 255, 255, 0.08) 45%,
    rgba(255, 255, 255, 0.18) 50%,
    rgba(255, 255, 255, 0.08) 55%,
    transparent 100%);
  transform: rotate(-25deg);
  animation: r-mirror-shine-pass 5s ease-in-out infinite;
}
@keyframes r-mirror-shine-pass {
  0%, 100% { transform: translate(-30%, 0) rotate(-25deg); opacity: 0.4; }
  50%      { transform: translate(30%, 80%) rotate(-25deg); opacity: 0.9; }
}
.r-mirror.is-revealing .r-mirror-ring {
  border-color: var(--r-accent, #E92038);
  box-shadow:
    0 0 48px rgba(233, 32, 56, 0.35),
    inset 0 0 40px rgba(233, 32, 56, 0.20);
}
@media (max-width: 720px) {
  .r-mirror { width: 180px; height: 180px; }
}

/* ====== ESKİ .r-fal* (artık popover'da) — geriye dönük uyum için boş bırakıldı ====== */
.r-fal {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  max-width: 720px;
  margin: 18px auto 0;          /* v81 — üstte ekstra boşluk */
}

/* TABS — v81: kapsül stili, ayrı butonlar, aralarında boşluk */
.r-fal-tabs {
  display: flex;
  gap: 10px;
  padding: 0 0 4px;
  margin-top: 6px;
  overflow-x: auto;
  scrollbar-width: none;
}
.r-fal-tabs::-webkit-scrollbar { display: none; }
.r-fal-tab {
  flex: 1 1 0;
  min-width: 78px;
  padding: 12px 10px;
  background: rgba(20, 8, 12, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  transition: all 260ms cubic-bezier(.22, 1, .36, 1);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  font-family: inherit;
  position: relative;
}
.r-fal-tab__glyph {
  font-size: 19px;
  line-height: 1;
  opacity: 0.75;
  transition: all 280ms ease;
}
.r-fal-tab__label {
  font-family: var(--r-font-mono, "JetBrains Mono", monospace);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.22em;
}
.r-fal-tab:hover {
  color: rgba(255, 255, 255, 0.95);
  border-color: rgba(233, 32, 56, 0.35);
  background: rgba(28, 10, 16, 0.85);
}
.r-fal-tab:hover .r-fal-tab__glyph { opacity: 1; transform: scale(1.15); }
.r-fal-tab.is-active {
  color: #fff;
  background: rgba(50, 14, 22, 0.85);
  border-color: var(--r-accent, #E92038);
  box-shadow:
    inset 0 1px 0 rgba(255, 220, 220, 0.08),
    0 0 16px rgba(233, 32, 56, 0.25);
}
.r-fal-tab.is-active .r-fal-tab__glyph {
  color: var(--r-accent, #E92038);
  opacity: 1;
  text-shadow: 0 0 14px var(--r-glow, rgba(233, 32, 56, 0.7));
}

/* GRID — v80: 3 sütun, kare-yakın taş kartları */
.r-fal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.r-fal-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 22px;
  color: rgba(255, 255, 255, 0.4);
  font-style: italic;
  font-family: var(--r-font-serif, Georgia, serif);
  font-size: 13px;
}

/* v81 — TAŞ KARTI: sekizgen, HER KENARI border'lı
   SVG-border tekniği: arka plan + üstte stroke'lu SVG polygon
   ::before = sekizgen border (her kenarda görünür çizgi)
   ::after  = iç ışıma + damar deseni */
.r-fal-stone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px 14px 18px;
  min-height: 116px;
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.88);
  text-align: center;
  cursor: pointer;
  transition: all 320ms cubic-bezier(.22, 1, .36, 1);
  font-family: inherit;
  opacity: 0;
  transform: translateY(10px) scale(0.96);
  animation: r-fal-stone-in 520ms cubic-bezier(.22, 1, .36, 1) forwards;
  animation-delay: calc(var(--si, 0) * 40ms + 120ms);
  z-index: 0;
}
@keyframes r-fal-stone-in {
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ::before — SEKİZGEN BORDER + DOLGU (her kenarda tam görünür çizgi) */
.r-fal-stone::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    /* iç dolgu */
    radial-gradient(ellipse at 50% 0%, rgba(233, 32, 56, 0.10) 0%, transparent 60%),
    linear-gradient(180deg, rgba(22, 10, 14, 0.92) 0%, rgba(6, 3, 5, 0.98) 100%);
  /* her kenarda görünür ince çizgi — SVG stroke */
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  clip-path: polygon(
    14px 0,
    calc(100% - 14px) 0,
    100% 14px,
    100% calc(100% - 14px),
    calc(100% - 14px) 100%,
    14px 100%,
    0 calc(100% - 14px),
    0 14px
  );
  /* Border efektini SVG ile ayrı bir layer'a bırakacağız (::after) */
  z-index: -1;
  transition: all 320ms ease;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    inset 0 -10px 24px rgba(0, 0, 0, 0.55);
}

/* ::after — SEKİZGEN ÇERÇEVE (SVG · her kenarda 1.5px çizgi) */
.r-fal-stone::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* her kenarda ince çift çizgi: dış (kırmızı pus) + iç (beyaz vurgu) */
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpolygon points='14,0 86,0 100,14 100,86 86,100 14,100 0,86 0,14' fill='none' stroke='rgba(233,32,56,0.42)' stroke-width='1.2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  z-index: 1;
  transition: filter 320ms ease, background 320ms ease;
}

.r-fal-stone__glyph {
  position: relative;
  z-index: 2;
  font-size: 26px;
  line-height: 1;
  color: rgba(233, 32, 56, 0.78);
  text-shadow: 0 0 10px rgba(233, 32, 56, 0.4);
  transition: all 360ms cubic-bezier(.22, 1, .36, 1);
}
.r-fal-stone__text {
  position: relative;
  z-index: 2;
  font-family: var(--r-font-serif, Georgia, "Cormorant Garamond", serif);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.35;
  color: rgba(255, 240, 235, 0.92);
  letter-spacing: 0.005em;
  max-width: 100%;
  word-wrap: break-word;
}

/* HOVER */
.r-fal-stone:hover {
  color: #fff;
  transform: translateY(-3px);
}
.r-fal-stone:hover::before {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(233, 32, 56, 0.22) 0%, transparent 65%),
    linear-gradient(180deg, rgba(40, 16, 22, 0.96) 0%, rgba(14, 6, 10, 0.99) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    inset 0 -10px 24px rgba(0, 0, 0, 0.55),
    0 12px 28px rgba(233, 32, 56, 0.30);
}
.r-fal-stone:hover::after {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpolygon points='14,0 86,0 100,14 100,86 86,100 14,100 0,86 0,14' fill='none' stroke='rgba(233,32,56,0.95)' stroke-width='1.4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  filter: drop-shadow(0 0 8px rgba(233, 32, 56, 0.5));
}
.r-fal-stone:hover .r-fal-stone__glyph {
  color: var(--r-accent, #E92038);
  transform: scale(1.18) rotate(8deg);
  text-shadow: 0 0 18px rgba(233, 32, 56, 0.75);
}

/* SEÇİLİ — sahne kapanmaz, sadece görsel onay */
.r-fal-stone.is-picked {
  animation: r-fal-stone-pick 520ms cubic-bezier(.22, 1, .36, 1);
}
.r-fal-stone.is-picked::before {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(233, 32, 56, 0.34) 0%, transparent 70%),
    linear-gradient(180deg, rgba(60, 18, 26, 0.97) 0%, rgba(20, 6, 10, 1) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 220, 220, 0.14),
    inset 0 0 30px rgba(233, 32, 56, 0.32),
    0 0 32px rgba(233, 32, 56, 0.55);
}
.r-fal-stone.is-picked::after {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' preserveAspectRatio='none' viewBox='0 0 100 100'%3E%3Cpolygon points='14,0 86,0 100,14 100,86 86,100 14,100 0,86 0,14' fill='none' stroke='rgba(233,32,56,1)' stroke-width='1.6' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  filter: drop-shadow(0 0 12px rgba(233, 32, 56, 0.75));
}
.r-fal-stone.is-picked .r-fal-stone__glyph {
  color: var(--r-accent, #E92038);
  text-shadow: 0 0 22px rgba(233, 32, 56, 0.9);
  animation: r-fal-glyph-pick 720ms cubic-bezier(.22, 1, .36, 1);
}
@keyframes r-fal-stone-pick {
  0%   { transform: scale(1); }
  40%  { transform: scale(0.94); }
  100% { transform: scale(1); }
}
@keyframes r-fal-glyph-pick {
  0%   { transform: scale(1) rotate(0); }
  50%  { transform: scale(1.35) rotate(180deg); }
  100% { transform: scale(1.1) rotate(360deg); }
}

/* HINT */
.r-fal-hint {
  margin-top: 8px;
  text-align: center;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  font-family: var(--r-font-serif, Georgia, serif);
  font-size: 11px;
  font-style: italic;
  color: rgba(255, 255, 255, 0.42);
  letter-spacing: 0.04em;
}

/* MOBİL */
@media (max-width: 720px) {
  .r-fal-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .r-fal-tab__glyph { font-size: 16px; }
  .r-fal-tab__label { font-size: 8.5px; letter-spacing: 0.16em; }
  .r-fal-stone {
    min-height: 92px;
    padding: 14px 10px 12px;
    gap: 8px;
  }
  .r-fal-stone__glyph { font-size: 22px; }
  .r-fal-stone__text { font-size: 12.5px; }
}
@media (max-width: 420px) {
  .r-fal-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .r-fal-stone { min-height: 84px; padding: 12px 8px 10px; }
  .r-fal-stone__text { font-size: 11.5px; }
}

@media (max-width: 720px) {
  .r-limit-card { max-width: 92vw; }
  .r-limit-card__main { font-size: 15px; padding: 0 18px; }
  .r-limit-card__sub  { font-size: 13px; padding: 0 18px; }
  .r-limit-card__heading { letter-spacing: 0.26em; font-size: 10px; }
}

@media (max-width: 720px) {
  .r-export-btn { padding: 9px 14px; font-size: 11px; }
  .r-export-bar { gap: 10px; margin-top: 16px; }
  .r-limit-sigil { font-size: 52px; }
}
