/*
 * DiviniGen 4.5.29 — Dice True Hero + Living Particle Die + Oracle Links
 * Built from accepted 4.5.25 living particle language.
 */

.dg-dice-reading-v42 {
    --dg-dice-hero-shift-v4528: 0px;
    --dg-dice-hero-scale-v4528: 1;
    --dg-dice-hero-opacity-v4528: 1;
    --dg-dice-heading-shift-v4528: 0px;
    --dg-dice-heading-opacity-v4528: 1;
    --dg-dice-paths-shift-v4528: 0px;
}

/* True Dice hero: separate structural region, not grafted into the old card. */
.dg-dice-reading-v42 .dg-dice-shell-v4528 {
    padding-top: clamp(54px, 7vw, 86px);
}

.dg-dice-reading-v42 .dg-dice-hero-v4528 {
    position: relative;
    width: 100%;
    display: grid;
    place-items: center;
    margin: 0 auto clamp(22px, 2.6vw, 38px);
    min-height: clamp(300px, 34vw, 420px);

    /*
     * 4.5.36 Step 2H
     * Match the Homepage Master Hero disappearance boundary.
     *
     * The living Dice triad already inherits the Homepage
     * scroll travel. Clipping the hero boundary now allows
     * the triad to disappear naturally as it leaves the
     * hero region, exactly as the Homepage sphere does.
     */
    overflow: hidden;
}

.dg-dice-reading-v42 .dg-dice-living-hero-v4528 {
    position: relative;
    width: clamp(250px, 29vw, 390px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    transform:
        translate3d(0, var(--dg-dice-hero-shift-v4528), 0)
        scale(var(--dg-dice-hero-scale-v4528));
    opacity: var(--dg-dice-hero-opacity-v4528);
    transform-origin: center center;
    will-change: transform, opacity;
}

.dg-dice-reading-v42 .dg-dice-living-canvas-v4528 {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    mix-blend-mode: screen;
    pointer-events: none;
}

.dg-dice-reading-v42 .dg-dice-heading-v4528 {
    transform:
        translate3d(
            0,
            var(--dg-dice-heading-shift-v4528),
            0
        );
    opacity: var(--dg-dice-heading-opacity-v4528);
    will-change: transform, opacity;
}

/* Old bottom three-dice stage remains retired. */
.dg-dice-reading-v42 .dg-dice-stage,
.dg-dice-reading-v42 .dg-dice-board,
.dg-dice-reading-v42 .dg-dice-scroll-particles-v42,
.dg-dice-reading-v42 .dg-dice-release-canvas,
.dg-dice-reading-v42 .dg-dice-status {
    display: none !important;
}

.dg-dice-reading-v42 .dg-dice-card-v4528 {
    padding-bottom: clamp(24px, 3vw, 34px);
}

/* Homepage-style links beneath the question card. */
.dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    margin: clamp(42px, 5vw, 64px) auto 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 18px;
    background: rgba(255,255,255,0.07);
    opacity: 1;
    translate: 0 var(--dg-dice-paths-shift-v4528);
    will-change: transform, translate, opacity;
}

.dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 a {
    min-width: 0;
    padding: 16px 13px;
    display: grid;
    grid-template-columns: 28px 1fr;
    grid-template-rows: auto auto;
    column-gap: 8px;
    color: rgba(247,246,242,0.64);
    background: rgba(7,7,8,0.88);
    text-decoration: none;
    transition: color 0.2s ease, background 0.2s ease;
}

.dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 a:hover,
.dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 a[aria-current="page"] {
    color: #fff;
    background: rgba(22,23,25,0.94);
}

.dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 a > span {
    grid-row: 1 / 3;
    align-self: center;
    color: rgba(247,246,242,0.56);
    font-size: 18px;
    text-align: center;
}

.dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 strong {
    overflow: hidden;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-overflow: ellipsis;
}

.dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 small {
    margin-top: 3px;
    overflow: hidden;
    color: rgba(247,246,242,0.40);
    font-size: 10px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Scroll-in reveal matching the homepage rhythm. */
.dg-motion-ready .dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition:
        opacity 0.9s ease,
        transform 1.05s cubic-bezier(0.2, 0.72, 0.2, 1);
}

.dg-motion-ready .dg-dice-reading-v42 .dg-dice-oracle-paths-v4528.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Loading page keeps the same particle die geometry. */
.dg-dice-loading-v441 .dg-dice-living-loading-stage-v4528 {
    position: relative;
}

.dg-dice-loading-v441 .dg-dice-living-loading-canvas-v4528 {
    position: absolute;
    inset: 19%;
    width: 62%;
    height: 62%;
    z-index: 3;
    display: block;
    mix-blend-mode: screen;
    pointer-events: none;
}

/*
 * 4.5.36 Master Loading:
 * Reading orbit system is intentionally visible.
 * Only the obsolete Dice loader core remains suppressed.
 */
.dg-dice-loading-v441 .dg-dice-loader-core-v441 {
    display: none !important;
}

@media (max-width: 760px) {
    .dg-dice-reading-v42 .dg-dice-shell-v4528 {
        padding-top: 42px;
    }

    .dg-dice-reading-v42 .dg-dice-hero-v4528 {
        min-height: 300px;
        margin-bottom: 28px;
    }

    .dg-dice-reading-v42 .dg-dice-living-hero-v4528 {
        width: min(74vw, 290px);
    }

    .dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 {
        grid-template-columns: 1fr 1fr;
        margin-top: 44px;
    }

    .dg-dice-loading-v441 .dg-dice-living-loading-canvas-v4528 {
        inset: 18%;
        width: 64%;
        height: 64%;
    }
}

@media (max-width: 480px) {
    .dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 a {
        grid-template-columns: 24px 1fr;
        padding: 14px 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dg-dice-reading-v42 .dg-dice-living-hero-v4528,
    .dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 {
        transform: none !important;
        translate: none !important;
        opacity: 1 !important;
    }
}

/*
 * DiviniGen 4.5.36 — Step 2V
 *
 * Allow the moving/dissolving Dice particles to continue beyond
 * the original hero-stage boundary during scroll.
 *
 * Question card appearance remains completely untouched.
 */
.dg-dice-reading-v42 .dg-dice-hero-v4528 {
    overflow: visible;
}

/*
 * DiviniGen 4.5.36 — Dice Result Step 4
 * Dice Result bottom Oracle paths.
 *
 * Same visual reveal character as Dice Main:
 * begin slightly low and transparent, then rise into place.
 * Scoped ONLY to result-context="dice".
 */
.dg-motion-ready
.dg-result-paths-shell-v43[data-result-context="dice"]
.dg-result-paths-v43 {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition:
        opacity .9s ease,
        transform 1.05s cubic-bezier(.2, .72, .2, 1);
    will-change: opacity, transform;
}

.dg-motion-ready
.dg-result-paths-shell-v43[data-result-context="dice"]
.dg-result-paths-v43.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    .dg-motion-ready
    .dg-result-paths-shell-v43[data-result-context="dice"]
    .dg-result-paths-v43 {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* Dream-matched Main-page lower breathing room. */
.dg-dice-reading-v42 .dg-dice-shell-v4528 {
    min-height: 135svh;
}

@media (max-width: 767px) {
    .dg-dice-reading-v42 .dg-dice-shell-v4528 {
        min-height: 125svh;
    }
}

/* Dream-matched Dice Main path geometry + lower breathing room. */
.dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 {
    width: min(100% - 32px, 880px);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: clamp(220px, 28vh, 340px);
}

@media (max-width: 760px) {
    .dg-dice-reading-v42 .dg-dice-oracle-paths-v4528 {
        width: min(100% - 24px, 880px);
        margin-bottom: clamp(150px, 22vh, 220px);
    }
}
