        * {
            font-family: 'Nunito', sans-serif;
            user-select: none;
        }
        .font-display {
            font-family: 'Fredoka One', cursive;
        }
        ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }
        ::-webkit-scrollbar-track {
            background: rgba(0, 0, 0, 0.05);
            border-radius: 8px;
        }
        ::-webkit-scrollbar-thumb {
            background: rgba(0, 0, 0, 0.2);
            border-radius: 8px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: rgba(0, 0, 0, 0.3);
        }
        .plot-card {
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .plot-card:hover {
            transform: translateY(-3px);
        }
        @keyframes pulse-grow {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.06); }
        }
        .ready-pulse {
            animation: pulse-grow 1.5s infinite ease-in-out;
        }
        .bg-weather-sunny { background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); }
        .bg-weather-rain { background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%); }
        .bg-weather-storm { background: linear-gradient(135deg, #cbd5e1 0%, #94a3b8 100%); }
        .bg-weather-snow { background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%); }
        .bg-weather-thunder { background: linear-gradient(135deg, #fef08a 0%, #cbd5e1 100%); }
        .bg-weather-meteor { background: linear-gradient(135deg, #fbcfe8 0%, #f472b6 100%); }