        :root {
            --sea-bg: #F1F7E7;
            --soft-blue: #6367FF;
            --deep-ocean: #1A05A2;
        }

        body {
            background-color: var(--sea-bg);
            color: var(--deep-ocean);
            scroll-behavior: smooth;
            overflow-x: hidden;
            margin: 0;
        }

        /* --- Animations & Effects --- */
        @keyframes float {
            0% { transform: translateY(0px) rotate(0deg); }
            50% { transform: translateY(-15px) rotate(3deg); }
            100% { transform: translateY(0px) rotate(0deg); }
        }

        @keyframes drift {
            from { background-position: 0% 50%; }
            to { background-position: 100% 50%; }
        }

        @keyframes waterRipple {
            0% { box-shadow: 0 0 0 0 rgba(99, 103, 255, 0.4); }
            100% { box-shadow: 0 0 0 25px rgba(99, 103, 255, 0); }
        }

        .floating { animation: float 5s ease-in-out infinite; }
        .floating-delayed { animation: float 7s ease-in-out infinite -2s; }

        .hero-bg-anim {
            background: linear-gradient(-45deg, #F1F7E7, #e8f0db, #fdfdf5, #F1F7E7);
            background-size: 400% 400%;
            animation: drift 20s ease infinite;
        }

        /* --- Page Layouts --- */
        .page { display: none; min-height: 100vh; animation: fadeIn 0.8s ease forwards; }
        .page.active { display: block; }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .recipe-page {
            background-color: white;
            background-image: radial-gradient(#e5e5e5 0.5px, transparent 0.5px);
            background-size: 24px 24px;
        }

        .wave-item:nth-child(even) { transform: translateY(40px); }
        .wave-item:nth-child(odd) { transform: translateY(-20px); }

        .polaroid {
            background: white;
            padding: 10px 10px 35px 10px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.08);
            transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            cursor: pointer;
        }
        .polaroid:hover {
            transform: scale(1.05) rotate(0deg) !important;
            z-index: 10;
        }

        /* --- Nav & Interaction --- */
        .nav-link {
            position: relative;
            cursor: pointer;
            transition: color 0.3s;
        }
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--deep-ocean);
            transition: width 0.3s ease;
        }
        .nav-link:hover::after { width: 100%; }

        .scribble-line {
            height: 8px;
            background: url("data:image/svg+xml,%3Csvg width='100' height='10' viewBox='0 0 100 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 5 Q 25 0, 50 5 T 100 5' stroke='%236367FF' fill='transparent' stroke-width='2'/%3E%3C/svg%3E");
            background-repeat: repeat-x;
        }

        .ripple-input:focus {
            outline: none;
            border-bottom: 2px solid var(--soft-blue);
            animation: waterRipple 0.6s ease-out;
        }

        /* --- Cart Sidebar --- */
        #cart-sidebar {
            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .cart-open #cart-sidebar { transform: translateX(0); }
