/* Extracted from kristalova-koule.html inline <style> block. */
/* Crystal Ball Specific Styles */

        .ball-container {

            position: relative;

            width: 400px;

            height: 400px;

            margin: 0 auto;

            cursor: pointer;

            transition: transform 0.3s ease;

            display: flex;

            justify-content: center;

            align-items: center;

        }



        .ball-container--cooldown {

            cursor: not-allowed;

        }



        .ball-image {

            width: 100%;

            height: auto;

            position: relative;

            z-index: 2;

            filter: drop-shadow(0 0 30px rgba(157, 78, 221, 0.4));

            transition: filter 0.3s ease;

        }



        .ball-container:hover .ball-image {

            transform: scale(1.02);

            filter: drop-shadow(0 0 50px rgba(157, 78, 221, 0.6));

        }



        .ball-glow {

            position: absolute;

            top: 50%;

            left: 50%;

            transform: translate(-50%, -50%);

            width: 60%;

            height: 60%;

            background: radial-gradient(circle, rgba(157, 78, 221, 0.6) 0%, transparent 70%);

            border-radius: 50%;

            z-index: 1;

            opacity: 0.5;

            animation: pulse-glow 4s infinite ease-in-out;

        }



        @keyframes pulse-glow {



            0%,

            100% {

                opacity: 0.5;

                transform: translate(-50%, -50%) scale(1);

            }



            50% {

                opacity: 0.8;

                transform: translate(-50%, -50%) scale(1.2);

            }

        }



        .ball-container.shaking .ball-image {

            animation: shake 0.5s cubic-bezier(.36, .07, .19, .97) both infinite;

        }



        @keyframes shake {



            10%,

            90% {

                transform: translate3d(-1px, 0, 0);

            }



            20%,

            80% {

                transform: translate3d(2px, 0, 0);

            }



            30%,

            50%,

            70% {

                transform: translate3d(-4px, 0, 0);

            }



            40%,

            60% {

                transform: translate3d(4px, 0, 0);

            }

        }



        /* Answer Box (Glassmorphism) */

        .answer-box {

            margin: var(--space-xl) auto;

            /* Space between ball and answer */

            max-width: 600px;

            min-height: 100px;

            /* Prevent layout jump */

            padding: var(--space-lg);

            border-radius: var(--radius-lg);

            background: rgba(10, 17, 40, 0.6);

            border: 1px solid rgba(157, 78, 221, 0.3);

            display: flex;

            align-items: center;

            justify-content: center;

            text-align: center;

            opacity: 0;

            transform: translateY(20px);

            transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);

            pointer-events: none;

        }



        .answer-box.visible {

            opacity: 1;

            transform: translateY(0);

            box-shadow: 0 0 30px rgba(157, 78, 221, 0.2);

        }



        #answer-text {

            color: var(--color-starlight);

            font-family: var(--font-heading);

            font-size: var(--text-xl);

            line-height: 1.6;

            margin: 0;

            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);

        }



        .instruction-text {

            color: var(--color-silver-mist);

            font-style: italic;

        }



        .shake-input {

            animation: shake 0.5s cubic-bezier(.36, .07, .19, .97) both;

            border-color: #ff4d4d !important;

        }



        .crystal-action--cooldown {

            cursor: not-allowed;

            opacity: 0.6;

        }



        #reset-btn.crystal-reset--visible {

            opacity: 1;

            pointer-events: auto;

        }



        .favorite-reading-action {

            margin-top: var(--space-lg);

        }



        .favorite-reading-action__button {

            min-width: 200px;

        }

/* Migrated from kristalova-koule.html static style attributes. */
html body .mh-inline-59738f37b7 { display:none; background: linear-gradient(90deg, rgba(212,175,55,0.1), rgba(155,89,182,0.1)); border-bottom: 1px solid rgba(212,175,55,0.2); padding: 0.65rem 1rem; text-align: center; font-size: 0.88rem; color: rgba(255,255,255,0.8); }
html body .mh-inline-417d5e8acf { color: #d4af37; font-weight: 600; }
html body .mh-inline-a6b16c7ada { background:none;border:none;color:rgba(255,255,255,0.3);cursor:pointer;font-size:1rem;vertical-align:middle; }
html body .mh-inline-555f3d5f76 { min-height: 80vh; display: flex; align-items: center; }
html body .mh-inline-5cc7978959 { max-width: 500px; margin: var(--space-xl) auto; }
html body .mh-inline-fccfe91516 { width: 100%; text-align: center; }
html body .mh-inline-a8fffc9a73 { opacity: 0; pointer-events: none; margin-left: var(--space-md); }
