
    body {
        background-color: #0F0C20; color: #F8F9FA;
        font-family: 'Quicksand', sans-serif;
        user-select: none; overflow-x: hidden;
    }
    .font-display { font-family: 'Fredoka', sans-serif; }

    @keyframes pulse-glow {
        0%,100% { filter: drop-shadow(0 0 12px rgba(108,92,231,.6)); }
        50% { filter: drop-shadow(0 0 24px rgba(0,206,201,.9)); }
    }
    .animate-glow { animation: pulse-glow 3s infinite ease-in-out; }

    @keyframes float-light {
        0%,100% { transform: translateY(0) rotate(0); }
        50% { transform: translateY(-10px) rotate(3deg); }
    }
    .animate-float { animation: float-light 4s infinite ease-in-out; }

    .btn-prism {
        box-shadow: 0 6px 0 0 rgba(0,0,0,.3);
        transition: all .1s ease;
    }
    .btn-prism:active {
        transform: translateY(4px);
        box-shadow: 0 2px 0 0 rgba(0,0,0,.3);
    }
    .btn-prism:disabled { cursor: not-allowed; box-shadow: none; opacity: .6; }

    .shake { animation: shake .4s; }
    @keyframes shake {
        0%,100% { transform: translateX(0); }
        20% { transform: translateX(-8px); }
        40% { transform: translateX(8px); }
        60% { transform: translateX(-5px); }
        80% { transform: translateX(5px); }
    }

    .confetti {
        position: fixed; top: -12px; width: 8px; height: 14px;
        z-index: 100; pointer-events: none;
        animation: fall linear forwards;
    }
    @keyframes fall {
        to { transform: translateY(105vh) rotate(720deg); opacity: 0; }
    }

    .pulse-slot { animation: pulseSlot 1.6s ease-in-out infinite; }
    @keyframes pulseSlot {
        0%,100% { box-shadow: 0 0 0 0 rgba(0,206,201,.5); }
        50% { box-shadow: 0 0 0 12px rgba(0,206,201,0); }
    }

    .gold-star { color: #FDCB6E; text-shadow: 0 0 8px rgba(253,203,110,.6); }
    .empty-star { color: #3A3361; }

    @media (prefers-reduced-motion: reduce) {
        .animate-glow, .animate-float, .pulse-slot { animation: none !important; }
        .confetti { display: none; }
    }
