        body { font-family: 'DM Sans', sans-serif; }

        /* --- Screen Transition Styles --- */
        #title-screen {
            opacity: 1;
            transition: opacity 1s ease-out;
            will-change: opacity;
        }
        #title-screen.hidden {
            opacity: 0;
            pointer-events: none;
        }
        #main-content {
            opacity: 0;
            transition: opacity 1s ease-in;
            will-change: opacity;
        }
        #main-content.visible {
            opacity: 1;
        }

        /* --- Logo Animation Styles --- */
        .pulsar-container {
            background-color: #1f2937;
            padding: 20px;
            border-radius: 12px;
            box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1);
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .data-point {
            transition: r 0.3s ease-in-out;
        }
        .orbital-path {
            fill: none;
            stroke: #374151;
            stroke-width: 0.5px;
        }
        .structural-line {
            stroke: #4b5563;
            stroke-width: 0.75px;
            opacity: 0.5;
        }
        .axis-line {
            stroke: #6b7280;
            stroke-width: 1px;
            stroke-dasharray: 4, 4;
        }
        .energy-wave {
            fill: none;
            stroke: #f0abfc;
            stroke-width: 2.5px;
            stroke-linecap: round;
            filter: url(#glow);
        }
        .orbital-spark {
             fill: #f0abfc;
            stroke: white;
            stroke-width: 1.5px;
            filter: url(#glow);
        }
        .emotion-label-popup {
            fill: #e5e7eb; /* Light gray/white text */
            font-size: 14px;
            font-weight: 600;
            text-anchor: middle;
            pointer-events: none; /* Important so it doesn't block interactions */
            opacity: 1;
        }
        .emotion-emoji-popup {
            font-size: 24px;
            text-anchor: middle;
            dominant-baseline: central;
            pointer-events: none;
            opacity: 1;
        }
