/* ── KAAHIN2 ── */

:root {
  --r-bg:        #050306;
  --r-bg-2:      #0c0608;
  --r-accent:    var(--in-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);

  --r-font-display: 'Marcellus', 'EB Garamond', Georgia, serif;
  --r-font-mono:    var(--in-font-mono, 'JetBrains Mono', ui-monospace, monospace);
  --r-font-serif:   'EB Garamond', Georgia, serif;
}

/* ── SAHNE ── */
.ritual-stage {
  position: fixed;
  inset: 0;
  z-index: 9500;
  display: flex;
  align-items: center;
  justify-content: center;
  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;
}

.ritual-stage::before {
  content: '';
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
}

.ritual-stage::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background-image: none;
}

#ritualParticleBg { display: none !important; }

/* ── FRAME ── */

.ritual-frame {
  position: relative;
  width: min(680px, 88vw);
  min-height: min(66vh, 560px);
  max-height: 84vh;
  contain: layout style;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: safe center;
  text-align: center;
  gap: 18px;
  padding: 0;
  z-index: 2;
  overflow-y: auto;
  scrollbar-width: none;
  background: none;
  border: none;
  box-shadow: none;

  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 520ms ease-out 120ms,
    transform 640ms cubic-bezier(.22, 1, .36, 1) 120ms;
}
.ritual-stage.is-open .ritual-frame {
  opacity: 1;
  transform: translateY(0);
}

.r-eyebrow {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  gap: 14px;
  font-family: var(--r-font-mono);
  font-size: 11px;
  letter-spacing: .42em;
  text-transform: uppercase;
  color: var(--r-ink-mute);
  min-height: 14px;
  margin: 0 0 2px 0;
  line-height: 1;
  flex-shrink: 0;
}
.r-eyebrow::before,
.r-eyebrow::after {
  content: '';
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(233,32,56,.55));
}
.r-eyebrow::after { transform: scaleX(-1); }
.r-eyebrow__l {
  color: var(--r-accent);
  position: relative;
  padding-left: 0;
  text-shadow: 0 0 10px rgba(233,32,56,.35);
}
.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); }
}

.r-title {
  font-family: 'Marcellus', 'EB Garamond', Georgia, serif;
  font-size: clamp(2.2rem, 5.6vw, 3.9rem);
  font-weight: 400;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--r-ink);
  margin: 0;
  line-height: 1.05;
  text-align: center;
  white-space: nowrap;
  text-shadow: 0 0 18px rgba(233, 32, 56, 0.12), 0 2px 14px rgba(0, 0, 0, 0.7);
  flex-shrink: 0;
}
.r-title em {
  color: var(--r-accent);
  font-style: normal;
  text-shadow: 0 0 22px rgba(233, 32, 56, 0.4);
}

/* ── Alt başlık / yönerge ── */
.r-sub {
  font-family: var(--r-font-serif);
  font-size: 1.18rem;
  font-style: italic;
  color: var(--r-ink-dim);
  display: block;
  width: 100%;
  margin: 8px auto 0;
  max-width: 52ch;
  letter-spacing: .015em;
  line-height: 1.5;
  text-align: center;
  min-height: 1.4em;
  flex-shrink: 0;
}

/* ── Bölme çizgisi ── */
.r-divider {
  position: relative;
  height: 1px;
  background: linear-gradient(90deg,
                transparent 0%,
                var(--r-line) 30%,
                rgba(233,32,56,.5) 50%,
                var(--r-line) 70%,
                transparent 100%);
  margin: 8px auto;
  width: min(380px, 64%);
}
.r-divider::after {
  content: '';
  position: absolute;
  left: 50%; top: 50%;
  width: 4px; height: 4px;
  transform: translate(-50%, -50%) rotate(45deg);
  background: var(--r-accent);
  box-shadow: 0 0 8px 1px rgba(233,32,56,.45);
  opacity: .7;
}

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

/* ── CEVAP ── */
.r-answer {
  font-family: var(--r-font-display);
  font-size: clamp(1.3rem, 4vw, 2.6rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .01em;
  color: var(--r-ink);
  display: block;
  text-align: center;
  max-width: 32ch;
  margin: 4px auto 0;
  padding: 0 8px;
  min-height: 1em;
  position: relative;
}

.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--prophecy {
  font-size: clamp(1.4rem, 4.4vw, 3rem);
  line-height: 1.28;
  max-width: 24ch;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 640px) {
  .r-title { font-size: clamp(1.9rem, 8vw, 2.8rem); letter-spacing: .01em; }
  .r-sub { font-size: 1.02rem; }
}

.r-answer-sub {
  font-family: var(--r-font-serif);
  font-style: italic;
  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 ── */

/* ── ÇIKIŞ BAR ── */
.r-exit-bar {
  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 {
  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 {
  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); }
.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;
}

.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;
  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İ ── */
.r-btn {
  font-family: var(--r-font-mono);
  font-size: 11px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--r-ink-dim);
  background: rgba(10, 7, 9, 0.6);
  border: 1px solid rgba(233, 32, 56, 0.28);
  padding: 13px 32px;
  cursor: pointer;
  transition: color 320ms var(--r-ease, ease),
              border-color 320ms ease,
              background 320ms ease,
              box-shadow 320ms ease;
  border-radius: 999px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}
.r-btn:hover {
  color: var(--r-ink);
  border-color: rgba(233, 32, 56, 0.6);
  background: rgba(20, 8, 12, 0.7);
  box-shadow: 0 0 22px rgba(233, 32, 56, 0.16), inset 0 0 14px rgba(233, 32, 56, 0.06);
}
.r-btn:active { transform: translateY(1px); }
.r-btn:focus-visible {
  outline: none;
  border-color: rgba(233, 32, 56, 0.7);
  box-shadow: 0 0 0 2px rgba(233, 32, 56, 0.35);
}
.r-btn--primary {
  color: rgba(255, 236, 238, 0.95);
  background: rgba(78, 12, 22, 0.55);
  border-color: rgba(233, 32, 56, 0.5);
}
.r-btn--primary:hover {
  color: #fff;
  background: rgba(104, 16, 28, 0.7);
  border-color: rgba(233, 32, 56, 0.85);
  box-shadow: 0 0 26px rgba(233, 32, 56, 0.24), inset 0 0 16px rgba(233, 32, 56, 0.1);
}
.r-btn--ghost {
  border-color: transparent;
  background: transparent;
  color: var(--r-ink-mute);
}
.r-btn--ghost:hover {
  border-color: var(--r-line);
  color: var(--r-ink-dim);
  background: rgba(255, 255, 255, 0.03);
  box-shadow: none;
}

/* ── Input alanı ── */
.r-input {
  width: 100%;
  max-width: 340px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  font-family: var(--r-font-serif);
  font-size: 1.15rem;
  font-style: italic;
  text-align: center;
  background: rgba(10, 7, 9, 0.5);
  border: 1px solid rgba(233, 32, 56, 0.2);
  border-radius: 12px;
  color: var(--r-ink);
  padding: 14px 18px;
  outline: none;
  transition: border-color 280ms ease, box-shadow 280ms ease, background 280ms ease;
  letter-spacing: .01em;
}
.r-input::placeholder {
  color: var(--r-ink-mute);
  font-style: italic;
}
.r-input:focus {
  border-color: rgba(233, 32, 56, 0.55);
  background: rgba(16, 8, 12, 0.6);
  box-shadow: 0 0 18px rgba(233, 32, 56, 0.14);
}

/* ── ORTAK ANİMASYONLAR ── */
@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); }
}

.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;
}

.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;
}

.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;
}

.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;
}

.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;
}

.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;
}

.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;
}

.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;
}

.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;
}

.ritual-stage[data-ritual="eyeofkaahin"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    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,
    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,
    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); }
}

.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;
}

.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); }
}

.ritual-stage[data-ritual="spirit"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    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),
    radial-gradient(circle at 50% 50%, rgba(255,80,100,0.22) 0%, transparent 18%),
    radial-gradient(circle at 50% 50%, transparent 30%, rgba(255,180,80,0.06) 38%, transparent 50%),
    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); }
}

.ritual-stage[data-ritual="eyeofkaahin2"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 38% 14% at 50% 50%, rgba(220,30,50,0.22) 0%, rgba(220,30,50,0.10) 45%, transparent 75%),
    radial-gradient(circle 4% at 50% 50%, rgba(255,80,100,0.35) 0%, transparent 70%),
    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%; }
}

.ritual-stage[data-ritual="owl"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle 80px at 38% 38%, rgba(255,140,80,0.28) 0%, rgba(220,30,50,0.18) 35%, transparent 70%),
    radial-gradient(circle 80px at 62% 38%, rgba(255,140,80,0.28) 0%, rgba(220,30,50,0.18) 35%, transparent 70%),
    radial-gradient(ellipse 30% 38% at 50% 50%, rgba(220,30,50,0.10) 0%, transparent 65%),
    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); }
  94%           { opacity: 0.85; filter: blur(6px); }
}

.ritual-stage[data-ritual="thirdeye"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    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,
    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%),
    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%),
    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); }
}

.ritual-stage[data-ritual="oracle"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    /* MERKEZ */
    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,
    radial-gradient(circle 14px at 50% 50%, rgba(255,80,100,0.40) 0%, transparent 80%) 50% 50% / 480px 480px no-repeat,
    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,
    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); }
}

.ritual-stage[data-ritual="kahinwoman"]::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle 160px at 32% 50%, rgba(255,80,120,0.25) 0%, rgba(220,30,50,0.12) 35%, transparent 75%),
    radial-gradient(circle 160px at 68% 50%, rgba(255,80,120,0.25) 0%, rgba(220,30,50,0.12) 35%, transparent 75%),
    linear-gradient(90deg, transparent 30%, rgba(255,80,100,0.22) 50%, transparent 70%) 0 50% / 100% 2px no-repeat,
    radial-gradient(circle 80px at 35% 50%, rgba(255,80,120,0.16) 0%, transparent 70%),
    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 ── */
.r-tarot-spread {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 16px 14px;
  margin: 22px auto 14px;
  max-width: 820px;
  perspective: 1600px;
  transition: gap 620ms cubic-bezier(.22,1,.36,1), max-width 620ms cubic-bezier(.22,1,.36,1);
}
.r-tarot-spread.is-center {
  gap: 30px;
  max-width: 640px;
  margin-top: 26px;
}
.r-tarot-spread.is-reading {
  gap: 18px;
  max-width: 460px;
  margin: 8px auto 4px;
}
.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-spread .r-tarot-card.is-closed {
  width: 122px;
  height: 196px;
  will-change: transform, opacity, filter;
  transition: transform 520ms cubic-bezier(.16,.84,.28,1),
              opacity 380ms ease,
              filter 380ms ease,
              box-shadow 260ms ease;
}
.r-tarot-spread:not(.is-dealt) .r-tarot-card {
  opacity: 0;
  transform: translateY(42px) rotate(-6deg) scale(.82);
  filter: blur(6px);
}
.r-tarot-spread.is-dealt .r-tarot-card.is-closed {
  opacity: 1;
  transform: translateY(0) rotate(0) scale(1);
  filter: blur(0);
  transition-delay: var(--deal-delay, 0ms);
}
.r-tarot-spread .r-tarot-card.is-closed:hover {
  transform: translateY(-12px) scale(1.05);
}
.r-tarot-spread .r-tarot-card.is-closed:hover .r-tarot-back {
  border-color: var(--r-accent);
  box-shadow: 0 14px 34px rgba(0,0,0,.6), 0 0 26px var(--r-glow);
}
.r-tarot-spread .r-tarot-card.is-selected {
  transform: translateY(-20px) scale(1.08);
}
.r-tarot-spread .r-tarot-card.is-selected .r-tarot-back {
  border-color: var(--r-accent);
  box-shadow: 0 18px 44px rgba(0,0,0,.65), 0 0 40px var(--r-glow);
}
/* ── BÜYÜK SEÇİM GÖSTERGESİ ── */
.r-tarot-pick {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-radius: 4px;
  background: radial-gradient(circle at 50% 44%, rgba(233,32,56,0.30), rgba(14,3,6,0.80) 82%);
  color: #fff;
  opacity: 0;
  transform: scale(1.14);
  transition: opacity 260ms ease, transform 340ms cubic-bezier(.22,1,.36,1);
  pointer-events: none;
  backface-visibility: hidden;
}
.r-tarot-pick b {
  font-family: 'Marcellus', 'EB Garamond', Georgia, serif;
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .02em;
  color: #fff;
  text-shadow:
    0 0 10px rgba(255,255,255,.55),
    0 0 22px var(--r-glow),
    0 0 40px rgba(233,32,56,.75);
  -webkit-text-stroke: .5px rgba(255,215,222,.35);
}
.r-tarot-pick b::after {
  content: '';
  display: block;
  width: 30px;
  height: 1px;
  margin: 7px auto 0;
  background: linear-gradient(90deg, transparent, rgba(255,215,222,.7), transparent);
}
.r-tarot-card.is-selected .r-tarot-pick {
  opacity: 1;
  transform: scale(1);
}
.r-tarot-card.is-final .r-tarot-pick,
.r-tarot-card.is-flipped .r-tarot-pick { opacity: 0 !important; }

.r-tarot-spread.is-resolving .r-tarot-card.is-discarded {
  opacity: 0;
  filter: blur(10px);
  transform: translate(var(--out-x, 40px), 110px) rotate(var(--out-r, 18deg)) scale(.62);
  transition: transform 640ms cubic-bezier(.55,0,.68,0), opacity 560ms ease, filter 460ms ease;
  pointer-events: none;
}
.r-tarot-spread.is-resolving .r-tarot-card.is-selected {
  transform: translateY(-8px) scale(1.06);
}
.r-tarot-spread .r-tarot-card.is-final {
  width: 168px;
  height: 272px;
  will-change: transform, width, height;
  transition: transform 640ms cubic-bezier(.16,.84,.28,1),
              width 620ms cubic-bezier(.16,.84,.28,1),
              height 620ms cubic-bezier(.16,.84,.28,1),
              filter 400ms ease;
}
.r-tarot-spread.is-gathering .r-tarot-card.is-final {
  filter: blur(3px);
}
.r-tarot-spread.is-reading .r-tarot-card.is-final {
  width: 101px;
  height: 163px;
}
@media (max-width: 640px) {
  .r-tarot-spread .r-tarot-card.is-closed { width: 92px; height: 148px; }
  .r-tarot-spread .r-tarot-card.is-final { width: 116px; height: 188px; }
  .r-tarot-spread.is-reading .r-tarot-card.is-final { width: 82px; height: 132px; }
  .r-tarot-spread.is-center, .r-tarot-spread.is-reading { gap: 12px; }
}
.r-tarot-card.is-flipped {
  transform: rotateY(180deg);
}
.r-tarot-card.is-flipping { transition: transform 700ms cubic-bezier(.16,.84,.28,1), filter 200ms ease; filter: blur(2.5px); }
.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;
}
.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); }
}
.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ı */
.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;
}
.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);
}
.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);
}

.r-tarot-hint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 6px auto 0;
  font-family: var(--r-font-mono);
  text-align: center;
  transition: opacity 400ms ease, transform 400ms ease, max-height 400ms ease;
  overflow: hidden;
}
.r-tarot-hint.is-gone {
  opacity: 0;
  transform: translateY(-8px);
  max-height: 0;
  margin: 0;
  pointer-events: none;
}
.r-th-count {
  font-size: 12px;
  letter-spacing: .18em;
  color: var(--r-ink-mute);
  border: 1px solid rgba(233,32,56,.35);
  border-radius: 999px;
  padding: 4px 12px;
}
.r-th-count b {
  color: var(--r-accent);
  font-size: 14px;
}
.r-th-text {
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--r-ink-mute);
  text-transform: uppercase;
}

.r-tarot-story {
  max-width: 680px;
  margin: 18px auto 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
  opacity: 0;
  transition: opacity 500ms ease;
}
.r-tarot-story.is-visible { opacity: 1; }
.r-tarot-line {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 560ms ease, transform 560ms cubic-bezier(.22,1,.36,1);
  text-align: center;
}
.r-tarot-line.is-in {
  opacity: 1;
  transform: translateY(0);
}
.r-tl-pos {
  display: block;
  font-family: var(--r-font-mono);
  font-size: 10px;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--r-ink-mute);
  margin-bottom: 8px;
}
.r-tl-pos .r-tl-card {
  display: block;
  margin-top: 5px;
  font-family: var(--r-font-display);
  font-size: 1.22rem;
  font-style: normal;
  letter-spacing: .12em;
  color: var(--r-accent);
  text-shadow: 0 0 14px rgba(233,32,56,.35);
}
.r-tl-text {
  display: block;
  font-family: var(--r-font-serif);
  font-size: 1.28rem;
  font-style: italic;
  line-height: 1.62;
  color: #fff;
}
@media (max-width: 640px) {
  .r-tl-text { font-size: 1.12rem; }
  .r-tl-pos .r-tl-card { font-size: 1.08rem; }
}

/* ── MODÜL ── */
.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 ── */
.r-sphere {
  width: 220px;
  height: 220px;
  min-width: 220px;
  min-height: 220px;
  margin: 0 auto;
  border-radius: 50%;
  position: relative;
  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;
}
.r-sphere.is-revealing {
  animation: r-sphere-orbit 2.4s ease-in-out infinite;
  transform: scale(1.04);
  transition: transform 1.2s ease;
}
.r-sphere.is-revealing::before {
  animation-duration: 5s;
  opacity: 1;
}
@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);
  }
}
.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); }
}
.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 ── */
.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;
  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;
}
.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 ── */
.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 ── */
.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 ── */
.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 ── */
.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 rgba(233, 32, 56, 0.5);
  opacity: 0;
  animation: r-aura-pulse 6s ease-out infinite;
}
.r-aura-ring:nth-child(2) { animation-delay: 2s; }
.r-aura-ring:nth-child(3) { animation-delay: 4s; }
@keyframes r-aura-pulse {
  0%   { transform: scale(0.55); opacity: 0.45; }
  100% { transform: scale(1.15); opacity: 0; }
}
.r-aura-core {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 42%,
      rgba(255, 120, 138, 0.55) 0%,
      rgba(198, 26, 46, 0.55) 22%,
      rgba(96, 12, 24, 0.9) 55%,
      rgba(14, 3, 6, 1) 90%);
  box-shadow:
    inset 0 0 30px rgba(0, 0, 0, 0.6),
    inset -8px -10px 26px rgba(0, 0, 0, 0.45),
    0 0 46px rgba(233, 32, 56, 0.28);
  animation: r-aura-breathe 5s ease-in-out infinite;
}
@keyframes r-aura-breathe {
  0%, 100% { transform: scale(1);    box-shadow: inset 0 0 30px rgba(0,0,0,.6), inset -8px -10px 26px rgba(0,0,0,.45), 0 0 40px rgba(233,32,56,.22); }
  50%      { transform: scale(1.04); box-shadow: inset 0 0 30px rgba(0,0,0,.6), inset -8px -10px 26px rgba(0,0,0,.45), 0 0 64px rgba(233,32,56,.38); }
}
.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 ── */
.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: 90vw;
    padding: 0;
    gap: 16px;
    max-height: 78vh;
    margin: 0 auto;
    overflow-y: auto;
  }
  .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;
  }
  .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; }
  .r-btn { padding: 13px 28px; letter-spacing: .22em; }
  .r-input { max-width: 100%; }
}

/* ── 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;
  }
}

.r-shape-badge {
  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 {
  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); }
}

.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;
}
.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; }

.r-theme-ink.is-open::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 170vmax; height: 170vmax;
  transform: translate(-50%, -50%);
  transform-origin: center center;
  z-index: 0;
  pointer-events: none;
  opacity: 0.8;
  background:
    radial-gradient(42% 42% at 34% 36%, rgba(233, 32, 56, 0.16), transparent 70%),
    radial-gradient(46% 46% at 70% 64%, rgba(150, 14, 30, 0.14), transparent 72%),
    radial-gradient(38% 38% at 60% 24%, rgba(180, 20, 40, 0.10), transparent 72%);
  filter: blur(70px);
  animation: r-mist-spin 70s linear infinite,
             r-mist-breathe 12s ease-in-out infinite;
}
@keyframes r-mist-spin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes r-mist-breathe {
  0%, 100% { opacity: 0.7;  }
  50%      { opacity: 0.95; }
}
/* ── BASILI TUT sırasında sis ÇOK CANLANIR ── */
.r-theme-ink.is-open.is-holding::after {
  opacity: 1;
  filter: blur(52px) saturate(1.45) brightness(1.3);
  background:
    radial-gradient(44% 44% at 34% 36%, rgba(233, 32, 56, 0.30), transparent 70%),
    radial-gradient(48% 48% at 70% 64%, rgba(180, 16, 34, 0.26), transparent 72%),
    radial-gradient(40% 40% at 60% 24%, rgba(210, 22, 44, 0.20), transparent 72%);
  animation: r-mist-surge 0.95s ease-in-out infinite;
}
@keyframes r-mist-surge {
  0%, 100% { transform: translate(-50%, -50%) scale(1)    rotate(0deg);  opacity: .9;  }
  50%      { transform: translate(-50%, -50%) scale(1.14) rotate(6deg);  opacity: 1;   }
}

/* ── BASILI TUT sırasında sahne DAHA belirgin titrer ── */
.ink-scene.is-holding {
  animation: ink-scene-shake 140ms linear infinite;
}
@keyframes ink-scene-shake {
  0%   { transform: translate(0.4px, -0.3px); }
  25%  { transform: translate(-0.4px, 0.35px); }
  50%  { transform: translate(0.35px, 0.3px); }
  75%  { transform: translate(-0.4px, -0.35px); }
  100% { transform: translate(0.4px, -0.3px); }
}
@media (prefers-reduced-motion: reduce) {
  .ink-scene.is-holding { animation: none; }
  .r-theme-ink.is-open.is-holding::after { animation: none; }
  .ink-touch.is-holding::before,
  .ink-touch.is-holding::after { animation: none; opacity: 0; }
}

/* ── SÖZ / AFORİZMA ── */
.r-theme-ink.is-open[data-ink="amber"]::after {
  background:
    radial-gradient(42% 42% at 34% 36%, rgba(200, 24, 44, 0.15), transparent 70%),
    radial-gradient(46% 46% at 70% 64%, rgba(110, 8, 20, 0.16), transparent 72%),
    radial-gradient(38% 38% at 60% 24%, rgba(150, 12, 28, 0.10), transparent 72%);
  animation: r-mist-spin 90s linear infinite,
             r-mist-breathe 14s ease-in-out infinite;
}
.r-theme-ink.is-open.is-holding[data-ink="amber"]::after {
  filter: blur(54px) saturate(1.3) brightness(1.15);
  background:
    radial-gradient(44% 44% at 34% 36%, rgba(210, 26, 46, 0.30), transparent 70%),
    radial-gradient(48% 48% at 70% 64%, rgba(120, 8, 22, 0.28), transparent 72%),
    radial-gradient(40% 40% at 60% 24%, rgba(160, 14, 30, 0.20), transparent 72%);
}
.ink-touch[data-ink="amber"] .ink-touch__ring { box-shadow: 0 0 0 1px rgba(200,24,44,.4), 0 0 28px rgba(180,14,30,.28); }
.ink-touch[data-ink="amber"] { --ink-accent: #c81a2c; }

/* ── FROST ── */
.r-theme-ink.is-open[data-ink="frost"]::after {
  background:
    radial-gradient(42% 42% at 34% 36%, rgba(120, 210, 255, 0.15), transparent 70%),
    radial-gradient(46% 46% at 70% 64%, rgba(50, 130, 200, 0.13), transparent 72%),
    radial-gradient(38% 38% at 60% 24%, rgba(150, 220, 255, 0.10), transparent 72%);
  animation: r-mist-spin 60s linear infinite,
             r-mist-breathe 10s ease-in-out infinite;
}
.r-theme-ink.is-open.is-holding[data-ink="frost"]::after {
  filter: blur(50px) saturate(1.3) brightness(1.35);
  background:
    radial-gradient(44% 44% at 34% 36%, rgba(150, 225, 255, 0.30), transparent 70%),
    radial-gradient(48% 48% at 70% 64%, rgba(70, 160, 230, 0.26), transparent 72%),
    radial-gradient(40% 40% at 60% 24%, rgba(170, 230, 255, 0.20), transparent 72%);
}
.ink-touch[data-ink="frost"] .ink-touch__ring { box-shadow: 0 0 0 1px rgba(150,225,255,.4), 0 0 28px rgba(120,210,255,.28); }
.ink-touch[data-ink="frost"] { --ink-accent: #78d2ff; }

/* ── VIOLET ── */
.r-theme-ink.is-open[data-ink="violet"]::after {
  background:
    radial-gradient(42% 42% at 34% 36%, rgba(170, 90, 240, 0.15), transparent 70%),
    radial-gradient(46% 46% at 70% 64%, rgba(100, 40, 170, 0.13), transparent 72%),
    radial-gradient(38% 38% at 60% 24%, rgba(150, 70, 220, 0.10), transparent 72%);
}
.ink-touch[data-ink="violet"] .ink-touch__ring { box-shadow: 0 0 0 1px rgba(170,90,240,.35), 0 0 28px rgba(170,90,240,.25); }
.ink-touch[data-ink="violet"] { --ink-accent: #aa5af0; }

.ink-touch[data-ink] .ink-touch__prog {
  background: conic-gradient(var(--ink-accent, var(--in-accent, #e92038)) var(--p, 0deg), transparent 0deg);
}
.r-theme-ink.is-open[data-ritual="eyeofkaahin2"]::after {
  background:
    radial-gradient(26% 20% at 20% 22%, rgba(233, 32, 56, 0.24), transparent 60%),
    radial-gradient(22% 18% at 78% 32%, rgba(150, 14, 30, 0.18), transparent 62%),
    radial-gradient(30% 24% at 68% 72%, rgba(233, 32, 56, 0.16), transparent 62%),
    radial-gradient(20% 18% at 34% 84%, rgba(110, 8, 22, 0.16), transparent 62%),
    radial-gradient(18% 16% at 88% 88%, rgba(180, 20, 40, 0.12), transparent 60%);
  filter: blur(60px);
  animation: r-mist-spin 80s linear infinite reverse,
             r-mist-breathe 14s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .r-theme-ink.is-open::after { animation: none; }
}

.r-theme-ink .r-eyebrow__l {
  color: rgba(233, 32, 56, 0.7);
  letter-spacing: 0.62em;
  font-size: 10px;
}
.r-theme-ink .r-eyebrow::before,
.r-theme-ink .r-eyebrow::after { opacity: 0.25; }
.r-theme-ink .r-title {
  font-family: var(--r-font-display, 'Marcellus', serif);
  font-weight: 400;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  text-indent: 0.22em;
  font-size: clamp(1.15rem, 4.4vw, 2.6rem);
  line-height: 1.05;
  white-space: nowrap;
  max-width: 100%;
  color: #f6eef0;
  text-shadow:
    0 0 24px rgba(233, 32, 56, 0.35),
    0 0 60px rgba(233, 32, 56, 0.15);
}
.r-theme-ink .r-sub {
  font-family: var(--r-font-serif, 'EB Garamond', Georgia, serif);
  font-style: italic;
  font-weight: 400;
  font-size: 12.5px;
  letter-spacing: 0.14em;
  text-transform: none;
  color: rgba(233, 200, 205, 0.55);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 92vw;
}

.ink-scene {
  position: relative;
  width: min(360px, 78vw);
  height: min(360px, 78vw);
  margin: 2px auto 2px;
  border-radius: 0;
  overflow: visible;
  background: none;
  box-shadow: none;
}

.ink-scene::before,
.ink-scene::after,
.ritual-frame::before { content: none !important; background: none !important; }

@keyframes ink-sigil-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.ink-canvas { z-index: 1; }
.ink-touch  { z-index: 3; }
.ink-canvas {
  position: absolute;
  inset: 0;
  display: block;
}

.ink-touch {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 150px; height: 150px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 120, 135, 0.35), transparent 46%),
    radial-gradient(circle at 50% 50%, rgba(233, 32, 56, 0.22), rgba(20, 4, 8, 0.55) 62%, rgba(0,0,0,0.2) 78%);
  box-shadow:
    0 0 18px rgba(233, 32, 56, 0.30),
    inset 0 0 22px rgba(233, 32, 56, 0.18),
    inset 0 6px 14px rgba(255, 180, 190, 0.10);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  animation: ink-orb-breathe 4.5s ease-in-out infinite;
  transition: opacity 700ms ease, transform 700ms ease, box-shadow 500ms ease;
}
@keyframes ink-orb-breathe {
  0%, 100% { box-shadow: 0 0 16px rgba(233,32,56,0.24), inset 0 0 20px rgba(233,32,56,0.16), inset 0 6px 14px rgba(255,180,190,0.10); }
  50%      { box-shadow: 0 0 30px rgba(233,32,56,0.5),  inset 0 0 26px rgba(233,32,56,0.26), inset 0 6px 16px rgba(255,180,190,0.16); }
}
.ink-touch__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(233, 32, 56, 0.45);
  box-shadow: 0 0 24px rgba(233, 32, 56, 0.2);
  animation: ink-ripple 3.4s ease-out infinite;
}
.ink-touch__ring::before,
.ink-touch__ring::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(233, 32, 56, 0.28);
  animation: ink-ripple 3.4s ease-out infinite;
}
.ink-touch__ring::before { animation-delay: 1.1s; }
.ink-touch__ring::after  { animation-delay: 2.2s; }
@keyframes ink-ripple {
  0%   { transform: scale(0.7);  opacity: 0.9; }
  100% { transform: scale(1.9);  opacity: 0; }
}
.ink-touch__label {
  position: relative;
  z-index: 2;
  font-family: var(--r-font-mono, monospace);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 235, 235, 0.92);
  text-shadow: 0 0 8px rgba(233, 32, 56, 0.6);
  pointer-events: none;
  user-select: none;
  max-width: 82%;
  text-align: center;
  line-height: 1.3;
  transition: opacity .25s ease;
}
.ink-touch.is-holding .ink-touch__label { font-size: 10px; letter-spacing: 0.16em; }
.ink-touch:hover .ink-touch__ring { border-color: rgba(233, 32, 56, 0.75); }
.ink-touch:hover {
  box-shadow: 0 0 34px rgba(233,32,56,0.55), inset 0 0 26px rgba(233,32,56,0.28), inset 0 6px 16px rgba(255,180,190,0.18);
}
.ink-touch.is-active { transform: translate(-50%, -50%) scale(0.85); }
.ink-touch.is-hidden { opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .ink-touch { animation: none; }
}

.ink-touch__prog {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  --p: 0deg;
  background: conic-gradient(rgba(233,32,56,0.9) var(--p), transparent 0deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
          mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  opacity: 0;
  transition: opacity 200ms ease;
  z-index: 1;
}
.ink-touch.is-holding .ink-touch__prog { opacity: 1; }
.ink-touch.is-holding .ink-touch__ring {
  animation-play-state: paused;
  border-color: rgba(233, 32, 56, 0.95);
  box-shadow: 0 0 44px rgba(233, 32, 56, 0.55), inset 0 0 20px rgba(233,32,56,.4);
}
.ink-touch.is-holding {
  animation: ink-touch-press 1.6s ease-in-out infinite;
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 140, 155, 0.62), transparent 46%),
    radial-gradient(circle at 50% 50%, rgba(233, 32, 56, 0.5), rgba(12, 2, 5, 0.78) 58%, rgba(0,0,0,0.42) 82%);
  box-shadow:
    0 0 64px rgba(233, 32, 56, 0.75),
    0 0 110px rgba(233, 32, 56, 0.4),
    inset 0 0 44px rgba(233, 32, 56, 0.65),
    inset 0 12px 26px rgba(0, 0, 0, 0.6);
}
@keyframes ink-touch-press {
  0%, 100% { transform: translate(-50%, -50%) scale(0.93); }
  50%      { transform: translate(-50%, -50%) scale(0.98); }
}

.ink-touch.is-holding::before,
.ink-touch.is-holding::after {
  content: '';
  position: absolute;
  left: 50%; top: 50%;
  width: 100%; height: 100%;
  border-radius: 50%;
  border: 1.5px solid var(--ink-accent, rgba(233,32,56,.8));
  transform: translate(-50%, -50%) scale(1);
  opacity: 0;
  pointer-events: none;
  z-index: 0;
  animation: ink-hold-pulse 1.8s ease-out infinite;
}
.ink-touch.is-holding::after { animation-delay: 0.9s; }
@keyframes ink-hold-pulse {
  0%   { transform: translate(-50%, -50%) scale(0.85); opacity: 0.75; }
  70%  { opacity: 0.18; }
  100% { transform: translate(-50%, -50%) scale(2.2);  opacity: 0; }
}
.ink-touch.is-holding .ink-touch__label {
  color: #fff;
  text-shadow: 0 0 12px rgba(233,32,56,.9), 0 0 22px rgba(233,32,56,.6);
}

.r-theme-ink .r-answer.r-answer--ink {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(30ch, 86vw);
  max-width: 640px;
  box-sizing: border-box;
  padding: 0 8px;
  text-align: center;
  font-family: var(--r-font-serif, 'EB Garamond', Georgia, serif);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(1.62rem, 4.5vw, 2.58rem);
  line-height: 1.5;
  color: #fbf5f6;
  letter-spacing: 0.01em;
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 1),
    0 0 10px rgba(0, 0, 0, 1),
    0 0 22px rgba(0, 0, 0, 0.95),
    0 0 40px rgba(0, 0, 0, 0.8);
  margin: 0;
  z-index: 5;
  pointer-events: none;
}

.r-theme-ink .r-btn {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(0,0,0,0.2));
  border: 1px solid rgba(233, 32, 56, 0.32);
  border-radius: 40px;
  font-family: var(--r-font-mono, monospace);
  letter-spacing: 0.24em;
  text-transform: lowercase;
  color: rgba(255, 230, 230, 0.9);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  box-shadow:
    0 0 0 rgba(233, 32, 56, 0),
    inset 0 0 14px rgba(233, 32, 56, 0.05);
  transition: border-color 400ms ease, background 400ms ease,
              color 400ms ease, box-shadow 500ms ease, transform 300ms ease;
  animation: r-btn-breathe 6s ease-in-out infinite;
}
.r-theme-ink .r-btn::after {
  content: '';
  position: absolute;
  top: 0; left: -60%;
  width: 45%; height: 100%;
  background: linear-gradient(100deg,
    transparent, rgba(255, 190, 200, 0.18), transparent);
  transform: skewX(-18deg);
  animation: r-btn-sheen 5.5s ease-in-out infinite;
  pointer-events: none;
}
@keyframes r-btn-breathe {
  0%, 100% { box-shadow: 0 0 6px rgba(233, 32, 56, 0.12), inset 0 0 14px rgba(233, 32, 56, 0.05); border-color: rgba(233, 32, 56, 0.28); }
  50%      { box-shadow: 0 0 20px rgba(233, 32, 56, 0.30), inset 0 0 18px rgba(233, 32, 56, 0.10); border-color: rgba(233, 32, 56, 0.55); }
}
@keyframes r-btn-sheen {
  0%   { left: -60%; }
  55%  { left: 130%; }
  100% { left: 130%; }
}
.r-theme-ink .r-btn:hover {
  border-color: rgba(233, 32, 56, 0.9);
  background: linear-gradient(180deg, rgba(233,32,56,0.14), rgba(233,32,56,0.04));
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 0 28px rgba(233, 32, 56, 0.45), inset 0 0 18px rgba(233, 32, 56, 0.14);
}
@media (prefers-reduced-motion: reduce) {
  .r-theme-ink .r-btn { animation: none; }
  .r-theme-ink .r-btn::after { animation: none; display: none; }
}

.r-theme-ink .r-input {
  background: rgba(233, 32, 56, 0.05);
  border: 1px solid rgba(233, 32, 56, 0.16);
  border-radius: 40px;
  text-align: center;
  font-family: var(--r-font-serif, Georgia, serif);
  font-style: italic;
  font-size: 1.1rem;
  color: #f6eef0;
  padding: 14px 20px;
  box-shadow: inset 0 0 18px rgba(0, 0, 0, 0.4);
  transition: border-color 300ms ease, box-shadow 300ms ease, background 300ms ease;
}
.r-theme-ink .r-input::placeholder { color: rgba(233, 200, 205, 0.4); font-style: italic; }
.r-theme-ink .r-input:focus {
  outline: none;
  border-color: rgba(233, 32, 56, 0.55);
  background: rgba(233, 32, 56, 0.08);
  box-shadow: inset 0 0 18px rgba(0,0,0,0.4), 0 0 22px rgba(233, 32, 56, 0.25);
}

.r-theme-ink .r-export-bar {
  gap: 10px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  background: none;
}
.r-theme-ink #rShareBtn { display: none !important; }
.r-theme-ink #rDownloadBtn { text-transform: lowercase; }
.r-theme-ink .r-export-btn {
  padding: 6px 12px;
  font-size: 9.5px;
  font-weight: 300;
  letter-spacing: 0.14em;
  background: transparent;
  border: 1px solid rgba(233, 32, 56, 0.18);
  color: rgba(255, 220, 220, 0.5);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.r-theme-ink .r-export-btn span { font-weight: 300; }
.r-theme-ink .r-export-btn i { font-size: 10px; }
.r-theme-ink .r-export-btn:hover {
  background: rgba(233, 32, 56, 0.06);
  border-color: rgba(233, 32, 56, 0.4);
  color: rgba(255, 235, 235, 0.85);
  transform: translateY(-1px);
}

@media (max-width: 720px) {
  .ink-scene { width: 82vw; height: 82vw; }
  .ink-touch { width: 78px; height: 78px; }
}
@media (prefers-reduced-motion: reduce) {
  .ink-touch__ring,
  .ink-touch__ring::before,
  .ink-touch__ring::after { animation: none !important; }
}

@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;
  }
}

.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; }

.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 {
  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;
}

.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ı */
.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; }

.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; }

.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, var(--in-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* ── */
.r-fal {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  max-width: 720px;
  margin: 18px auto 0;
}

.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, var(--in-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, var(--in-accent, #E92038));
  opacity: 1;
  text-shadow: 0 0 14px var(--r-glow, rgba(233, 32, 56, 0.7));
}

.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;
}

.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); }
}

.r-fal-stone::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    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%);
  -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
  );
  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);
}

.r-fal-stone::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  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, var(--in-accent, #E92038));
  transform: scale(1.18) rotate(8deg);
  text-shadow: 0 0 18px rgba(233, 32, 56, 0.75);
}

.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, var(--in-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; }
}
