/* DiviniGen 4.4.1 — Dice layout realignment
 * Main page: approved Leonardo artwork lives in the three cast dice, not a separate hero.
 * Loading: Dream-family composition with a small centered die.
 * Result: smaller top emblem and smaller approved cast dice.
 */

/* No standalone Dice hero on the main page. */
.dg-dice-reading-v42 .dg-dice-shell { padding-top: clamp(44px, 6vw, 74px); }
.dg-dice-hero-v440 { display: none !important; }

/* Replace the old CSS cube with the approved Leonardo artwork while preserving the cast mechanics. */
.dg-dice-reading-v42 .dg-dice-board {
    min-height: 154px;
    gap: clamp(10px, 2vw, 22px);
}

.dg-die-scene-v441 {
    width: 92px;
    height: 120px;
    filter: none;
}

.dg-die-scene-v441 .dg-die-shadow {
    bottom: 8px;
    width: 64px;
    height: 13px;
    opacity: .58;
}

.dg-die-image-shell-v441 {
    top: 2px;
    width: 92px;
    height: 92px;
    transform: translateX(-50%);
    transform-style: flat;
    transition: opacity .5s ease, filter .5s ease, transform .62s cubic-bezier(.16,.84,.22,1);
}

.dg-die-image-v441 {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 154%;
    height: auto;
    max-width: none;
    transform: translate(-50%, -50%);
    object-fit: contain;
    filter: brightness(.98) contrast(1.08) drop-shadow(0 0 12px rgba(205,225,234,.10));
    pointer-events: none;
}

.dg-die-value-v441 {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: -18px;
    min-width: 30px;
    height: 28px;
    display: grid;
    place-items: center;
    transform: translateX(-50%);
    padding: 0 9px;
    border: 1px solid rgba(226,233,235,.22);
    border-radius: 999px;
    background: rgba(7,10,12,.84);
    box-shadow: 0 8px 20px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08);
    color: #fff;
    font: 600 14px/1 Georgia, serif;
    letter-spacing: .04em;
}

.dg-die-scene-v441.is-rolling { animation: dg441DieFloat .72s ease-in-out infinite !important; }
.dg-die-scene-v441.is-rolling .dg-die-image-shell-v441 { animation: dg441DieSpin .72s linear infinite !important; }
.dg-die-scene-v441.is-rolling .dg-die-value-v441 { opacity: .18; }
.dg-die-scene-v441.landed .dg-die-image-shell-v441 { animation: dg441DieSettle .42s ease both; }
.dg-die-scene-v441.is-dissolving .dg-die-image-shell-v441 { opacity: 0; filter: blur(7px) brightness(1.35); }

@keyframes dg441DieFloat {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
@keyframes dg441DieSpin {
    0% { transform: translateX(-50%) rotate(-3deg) scale(.98); }
    50% { transform: translateX(-50%) rotate(3deg) scale(1.035); }
    100% { transform: translateX(-50%) rotate(-3deg) scale(.98); }
}
@keyframes dg441DieSettle {
    0% { transform: translateX(-50%) scale(.94); }
    70% { transform: translateX(-50%) scale(1.035); }
    100% { transform: translateX(-50%) scale(1); }
}

/* Dream-family loading page, but with a small centered Dice artwork. */
.dg-dice-loading-v441 .dg-reading-seal-core-v39.dg-dice-loader-core-v441 {
    width: 34%;
    aspect-ratio: 1.75 / 1;
    clip-path: none;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.dg-dice-loading-v441 .dg-dice-loader-core-v441::after { content: none !important; display: none !important; }
.dg-dice-loading-v441 .dg-dice-loader-core-v441 img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(.98) contrast(1.08) drop-shadow(0 0 13px rgba(218,233,240,.15));
}
.dg-dice-loading-v441.is-opening .dg-dice-loader-core-v441 {
    animation: dg39SealOpen .72s cubic-bezier(.2,.75,.25,1) forwards;
}

/* Result: keep the top emblem quiet and make the three value dice more refined. */
.dg-dice-result-emblem-v440 {
    width: 82px;
    height: 68px;
    margin: -2px auto 8px;
}
.dg-dice-result-emblem-v440 img { width: 158%; }
.dg-dice-result .dg-result-values { min-height: 108px; gap: 2px; margin-top: 4px; }
.dg-dice-result .dg-result-die-card { width: 88px; }
.dg-dice-result .dg-die-result-scene { width: 88px; height: 94px; transform: scale(.82); margin: -6px auto -8px; }
.dg-dice-result .dg-result-die-number { margin-top: 6px; }

@media (max-width: 720px) {
    .dg-dice-reading-v42 .dg-dice-shell { padding-top: 34px; }
    .dg-dice-reading-v42 .dg-dice-board { min-height: 136px; gap: 2px; }
    .dg-die-scene-v441 { width: 80px; height: 106px; }
    .dg-die-image-shell-v441 { width: 80px; height: 80px; }
    .dg-die-image-v441 { width: 150%; }
    .dg-die-value-v441 { bottom: -16px; min-width: 28px; height: 26px; font-size: 13px; }
    .dg-dice-loading-v441 .dg-reading-seal-core-v39.dg-dice-loader-core-v441 { width: 35%; }
    .dg-dice-result-emblem-v440 { width: 72px; height: 60px; }
    .dg-dice-result .dg-result-die-card { width: 76px; }
    .dg-dice-result .dg-die-result-scene { width: 76px; height: 84px; transform: scale(.76); }
}

@media (prefers-reduced-motion: reduce) {
    .dg-die-scene-v441,
    .dg-die-image-shell-v441,
    .dg-dice-loader-core-v441 { animation: none !important; }
}
