        ‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&amp;display=swap');
        :root {
    /* Default Vibe: Lovecore (Pink/Red) */
    --bg-color: #ffe6eb;
    --card-bg: #ffffff;
    --primary-color: #ff4d6d;
    --text-color: #590d22;
    --accent-color: #ffb3c1;
    --font-main: 'Nunito', sans-serif;
}

        body {
            font-family: 'Nunito', sans-serif;
            margin: 0;
            padding: 0;
            overflow-x: hidden;
            -webkit-tap-highlight-color: transparent;
            background-color: var(--bg-color);
        }

        /* --- ANIMATED BACKGROUND --- */
        .animated-bg {
            position: fixed;
            top: 0; left: 0; width: 100vw; height: 100dvh;
            background: radial-gradient(circle at 50% 50%, #ffe4e6 0%, #fff1f2 100%);
            z-index: -2;
        }
        .blob {
            position: absolute;
            filter: blur(80px);
            z-index: -1;
            opacity: 0.6;
            animation: float 20s infinite ease-in-out;
        }
        .blob-1 { top: -10%; left: -10%; width: 500px; height: 500px; background: #fbcfe8; animation-delay: 0s; }
        .blob-2 { bottom: -10%; right: -10%; width: 400px; height: 400px; background: #fda4af; animation-delay: -5s; }
        .blob-3 { top: 40%; left: 40%; width: 300px; height: 300px; background: #e0f2fe; animation-delay: -10s; }

        @keyframes float {
            0%, 100% { transform: translate(0, 0) scale(1); }
            33% { transform: translate(30px, -50px) scale(1.1); }
            66% { transform: translate(-20px, 20px) scale(0.9); }
        }

        /* --- GLASSMORPHISM --- */
        .glass-panel {
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.8);
            box-shadow: 0 8px 32px 0 rgba(255, 159, 179, 0.15);
        }

        /* --- BUTTONS --- */
        .btn-primary {
            background: linear-gradient(135deg, #fb7185 0%, #f43f5e 100%);
            color: white;
            box-shadow: 0 10px 20px -5px rgba(244, 63, 94, 0.4);
            border: 1px solid rgba(255, 255, 255, 0.2);
            transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
        }
        .btn-primary:active {
            transform: scale(0.95);
            box-shadow: 0 5px 10px -5px rgba(244, 63, 94, 0.4);
        }

        .btn-secondary {
            background: rgba(255, 255, 255, 0.8);
            color: #fb7185;
            border: 2px solid #ffe4e6;
            transition: all 0.2s ease;
        }
        .btn-secondary:active { transform: scale(0.95); background: #fff0f3; }

        /* --- UTILS --- */
        .rounded-pookie { border-radius: 2rem; }
        .text-shadow-sm { text-shadow: 0 2px 4px rgba(251, 113, 133, 0.1); }
        
        .no-scroll {
            min-height: 100dvh;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        /* --- ANIMATIONS --- */
        .animate-enter { animation: enter 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; opacity: 0; transform: translateY(20px); }
        @keyframes enter { to { opacity: 1; transform: translateY(0); } }

        .animate-float-slow { animation: floating 6s ease-in-out infinite; }
        @keyframes floating { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } }

        /* Custom Scrollbar hide */
        .hide-scroll::-webkit-scrollbar { display: none; }
        .hide-scroll { -ms-overflow-style: none; scrollbar-width: none; }

        /* FIX: Prevent iOS Zoom on inputs */
        input, textarea { font-size: 16px !important; }

        /* Toast */
        .pookie-toast {
            animation: slideUp 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
            backdrop-filter: blur(12px);
        }
        @keyframes slideUp { from { transform: translateY(150%) scale(0.9); opacity: 0; } to { transform: translateY(0) scale(1); opacity: 1; } }
  