/* =========================================================
   RosenRot Orakel – Runen (Holz / Stein) & Tarotkarten
   ========================================================= */
.o-box{--o-gold:#d9b46a;--o-gold-2:#a8812f;--o-silver:#b9b3cc}

/* ---------- Rune: gemeinsamer Aufbau ---------- */
.o-rune{width:auto;min-width:130px}
.o-rs{position:relative;width:7.4em;height:7.4em;margin:0 auto;display:grid;place-items:center;font-size:16px;isolation:isolate}
.o-rs::before,.o-rs::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.o-rs-g{position:relative;z-index:2;font-family:"Noto Sans Runic","Segoe UI Historic",serif;font-size:3.6em;line-height:1;transition:transform .6s ease}
.o-rune.shadow .o-rs-g{transform:rotate(180deg)}
.o-rune b{margin-top:12px}
.o-rune .o-side{display:inline-block;margin-top:8px;font:800 .58rem Lato,sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:.35em .9em;border-radius:999px;color:#2b2233;background:linear-gradient(180deg,#f7e2a8,#d9b46a)}
.o-rune.shadow .o-side{background:linear-gradient(180deg,#eceaf3,#b9b3cc);color:#1c1530}
.o-rune .o-side::before{content:'☀ '}.o-rune.shadow .o-side::before{content:'☾ '}

/* ---------- Holz: Baumscheibe mit Rinde, Jahresringen, eingebrannter Rune ---------- */
.o-mat-holz .o-rs{
  border-radius:50% 48% 51% 49% / 49% 51% 48% 50%;
  background:
    radial-gradient(circle at 47% 53%,#f3dcae 0 4%,transparent 5%),
    repeating-radial-gradient(ellipse 100% 94% at 47% 53%,rgba(122,74,34,0) 0 .32em,rgba(122,74,34,.30) .36em .42em,rgba(122,74,34,0) .48em .62em),
    radial-gradient(circle at 38% 32%,#f0d29c 0,#d6a467 45%,#b07a44 80%,#8a5a2f 100%);
  box-shadow:
    0 0 0 .32em #5b3b24,
    0 0 0 .5em #3b2516,
    inset 0 0 0 .14em rgba(70,40,18,.55),
    inset 0 -.6em 1.2em rgba(60,30,10,.35),
    0 1.1em 1.8em rgba(0,0,0,.45);
}
.o-mat-holz .o-rs::before{ /* Holzfasern */
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .55' numOctaves='3' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .2 0 0 0 0 .08 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;opacity:.55;transform:rotate(-18deg) scale(1.1)}
.o-mat-holz .o-rs::after{ /* Trocknungsriss + Lichtkante */
  background:
    linear-gradient(62deg,transparent 44%,rgba(55,28,10,.65) 47%,rgba(30,14,4,.85) 50%,rgba(55,28,10,.55) 53%,transparent 56%) 96% 4%/24% 22% no-repeat,
    radial-gradient(circle at 30% 24%,rgba(255,240,210,.45),transparent 42%)}
.o-mat-holz .o-rs-g{
  color:#3a1d0b;
  text-shadow:0 0 .03em #2a1205,0 0 .08em rgba(90,40,10,.9),0 0 .22em rgba(120,55,15,.55),.02em .02em 0 rgba(255,225,170,.35)}
.o-mat-holz .o-rune.shadow .o-rs-g{color:#24120a;text-shadow:0 0 .1em rgba(20,8,2,.9),0 0 .3em rgba(60,25,8,.7)}
.o-mat-holz .o-rune.shadow .o-rs{filter:saturate(.75) brightness(.82)}

/* ---------- Stein: flacher Flussstein, Rune eingemeißelt und vergoldet ---------- */
.o-mat-stein .o-rs{
  width:7.6em;height:6.6em;
  border-radius:56% 44% 52% 48% / 48% 54% 46% 52%;
  background:
    radial-gradient(ellipse 60% 45% at 34% 26%,rgba(255,255,255,.32),transparent 70%),
    radial-gradient(ellipse 80% 70% at 72% 82%,rgba(0,0,0,.42),transparent 70%),
    radial-gradient(circle at 20% 70%,rgba(140,150,160,.35),transparent 40%),
    linear-gradient(140deg,#8e8c88 0,#64625f 45%,#43413f 100%);
  box-shadow:inset 0 .18em .3em rgba(255,255,255,.18),inset 0 -.5em 1em rgba(0,0,0,.45),0 1em 1.6em rgba(0,0,0,.5),0 .25em .4em rgba(0,0,0,.35);
}
.o-mat-stein .o-rs::before{ /* Körnung */
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' seed='9'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .1 0 0 0 0 .1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;opacity:.8}
.o-mat-stein .o-rs::after{ /* Quarzader */
  background:linear-gradient(28deg,transparent 40%,rgba(235,232,225,.3) 44%,rgba(235,232,225,.12) 50%,transparent 56%) 0 100%/42% 30% no-repeat;opacity:.9}
.o-mat-stein .o-rs-g{
  color:var(--o-gold);
  background:linear-gradient(170deg,#f6dc98 0,#d9b46a 45%,#9c7428 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(-.025em -.03em 0 rgba(0,0,0,.65)) drop-shadow(.03em .035em 0 rgba(255,255,255,.22))}
.o-mat-stein .o-rune.shadow .o-rs-g{background:linear-gradient(170deg,#e9e6f2 0,#b9b3cc 50%,#7d7690 100%);-webkit-background-clip:text;background-clip:text}
.o-mat-stein .o-rune.shadow .o-rs{filter:brightness(.8) saturate(.6)}

/* Ziehen: Rune fällt auf den Tisch */
.o-result.reveal .o-pair>.o-rune{animation:odrop .75s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes odrop{0%{opacity:0;transform:translateY(-26px) rotate(-14deg) scale(.9)}70%{opacity:1;transform:translateY(3px) rotate(2deg)}100%{transform:none}}

/* ---------- Tarotkarte ---------- */
.o-tk{--el:#7a7fa8;position:relative;width:10em;height:16.6em;font-size:16px;border-radius:.9em;padding:.42em;
  background:linear-gradient(145deg,#f7e2a8 0,#d9b46a 30%,#a8812f 55%,#e8c97f 75%,#b88d3a 100%);
  box-shadow:0 1.1em 2em rgba(0,0,0,.5),0 0 0 1px rgba(0,0,0,.25)}
.o-tk-in{position:relative;height:100%;border-radius:.55em;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;padding:.6em .55em .65em;color:#2b2233;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .2 0 0 0 .12 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    radial-gradient(ellipse at 50% 30%,#fffaf0 0,#f6ead2 60%,#ead7b0 100%)}
.o-tk-in::before{content:"";position:absolute;inset:.32em;border:1px solid rgba(168,129,47,.75);border-radius:.38em;box-shadow:inset 0 0 0 2px rgba(255,250,240,.6),inset 0 0 0 3px rgba(168,129,47,.35);pointer-events:none}
.o-tk-c{position:absolute;font-size:.62em;color:#a8812f;line-height:1;z-index:2}
.o-tk-c.tl{top:.55em;left:.6em}.o-tk-c.tr{top:.55em;right:.6em}.o-tk-c.bl{bottom:.55em;left:.6em}.o-tk-c.br{bottom:.55em;right:.6em}
.o-tk-num{position:relative;z-index:1;font:700 .82em "Source Serif 4",Georgia,serif;letter-spacing:.18em;color:#8a6a25;margin:.2em 0 .35em;min-height:1.2em}
.o-tk-win{position:relative;z-index:1;width:7.6em;height:7.6em;border-radius:3.8em 3.8em .5em .5em;overflow:hidden;display:grid;place-items:center;
  border:1px solid rgba(168,129,47,.8);box-shadow:0 0 0 3px rgba(255,250,240,.7),0 0 0 4px rgba(168,129,47,.4),inset 0 -1.2em 2em rgba(0,0,0,.25);
  background:
    radial-gradient(circle at 22% 24%,#fff 0 .06em,transparent .08em),
    radial-gradient(circle at 76% 18%,#fff 0 .05em,transparent .07em),
    radial-gradient(circle at 64% 40%,rgba(255,255,255,.8) 0 .04em,transparent .06em),
    radial-gradient(circle at 34% 52%,rgba(255,255,255,.7) 0 .04em,transparent .06em),
    radial-gradient(circle at 84% 58%,rgba(255,255,255,.6) 0 .035em,transparent .055em),
    radial-gradient(circle at 50% 60%,color-mix(in srgb,var(--el) 70%,transparent),transparent 70%),
    linear-gradient(180deg,#241a3a 0,#3a2a5c 55%,color-mix(in srgb,var(--el) 55%,#2a1f42) 100%)}
.o-tk-win::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5em;background:radial-gradient(ellipse 70% 100% at 50% 100%,rgba(20,14,30,.9),transparent 70%)}
.o-tk-moon{position:absolute;top:.55em;right:1.25em;width:1.05em;height:1.05em;border-radius:50%;box-shadow:.22em -.08em 0 0 #f3e3b4;transform:rotate(-20deg);opacity:.95}
.o-tk-ico{position:relative;z-index:1;width:3.8em;height:3.8em;color:#f3d891;filter:drop-shadow(0 0 .35em rgba(243,216,145,.55))}
.o-tk-ico svg{width:100%;height:100%;display:block}
.o-tk-el{position:absolute;z-index:1;bottom:.25em;left:50%;transform:translateX(-50%);font-size:.95em;color:#f3d891;opacity:.9}
.o-tk-name{position:relative;z-index:1;margin-top:.55em;font:700 .98em/1.15 "Source Serif 4",Georgia,serif;color:#2b2233}
.o-tk-key{position:relative;z-index:1;font:italic .8em Lora,Georgia,serif;color:#6a5b52;margin-top:.15em}
.o-tk-side{position:relative;z-index:1;margin-top:auto;font:800 .58em Lato,sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:.35em .9em;border-radius:999px;color:#2b2233;background:linear-gradient(180deg,#f7e2a8,#d9b46a);box-shadow:0 0 0 1px rgba(168,129,47,.7)}
.o-tk.major .o-tk-win{box-shadow:0 0 0 3px rgba(255,250,240,.7),0 0 0 4px rgba(168,129,47,.55),0 0 1.2em rgba(217,180,106,.45),inset 0 -1.2em 2em rgba(0,0,0,.25)}

/* Schattenseite: Mitternacht & Silber */
.o-tk.shadow{background:linear-gradient(145deg,#eceaf3 0,#b9b3cc 30%,#6f6886 55%,#d9d5e6 75%,#8a83a0 100%)}
.o-tk.shadow .o-tk-in{color:#eee6f5;background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2' seed='5'/%3E%3CfeColorMatrix values='0 0 0 0 .8 0 0 0 0 .75 0 0 0 0 .9 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    radial-gradient(ellipse at 50% 30%,#3e3058 0,#2a2040 60%,#1c1530 100%)}
.o-tk.shadow .o-tk-in::before{border-color:rgba(185,179,204,.6);box-shadow:inset 0 0 0 2px rgba(28,21,48,.6),inset 0 0 0 3px rgba(185,179,204,.25)}
.o-tk.shadow .o-tk-c,.o-tk.shadow .o-tk-num{color:#b9b3cc}
.o-tk.shadow .o-tk-win{border-color:rgba(185,179,204,.7);box-shadow:0 0 0 3px rgba(28,21,48,.7),0 0 0 4px rgba(185,179,204,.35),inset 0 -1.2em 2em rgba(0,0,0,.35)}
.o-tk.shadow .o-tk-ico,.o-tk.shadow .o-tk-el{color:#ddd8ec;filter:drop-shadow(0 0 .35em rgba(200,190,240,.45))}
.o-tk.shadow .o-tk-moon{box-shadow:.22em -.08em 0 0 #d9d5e6}
.o-tk.shadow .o-tk-name{color:#fff}
.o-tk.shadow .o-tk-key{color:#c9bde0}
.o-tk.shadow .o-tk-side{color:#1c1530;background:linear-gradient(180deg,#eceaf3,#b9b3cc);box-shadow:0 0 0 1px rgba(111,104,134,.8)}

/* Nornen-Legung: kleinere Variante */
.o-pair.small .o-rune{min-width:84px;width:84px}
.o-pair.small .o-rs{font-size:10.5px}
.o-pair.small .o-tk{font-size:10.5px}
.o-pair.small .o-rune .o-side{display:none}
@media(max-width:480px){.o-pair:not(.small) .o-tk{font-size:14px}.o-pair:not(.small) .o-rs{font-size:14px}}
@media (prefers-reduced-motion:reduce){.o-result.reveal .o-pair>*{animation:none!important}}
